From 2679d75dfc56ceac0fa53387abb3547e8158a36f Mon Sep 17 00:00:00 2001 From: root Date: Tue, 24 Jan 2012 14:26:05 +0000 Subject: [PATCH] Fix for https://bugs.cacert.org/view.php?id=985 "Move from translingo to pootle" --- includes/account.php | 3 +- includes/general.php | 127 +- includes/general_stuff.php | 4 +- includes/loggedin.php | 13 +- locale/.gitignore | 3 +- locale/Makefile | 184 ++ locale/ar.po | 5212 ------------------------------------ locale/bg.po | 5212 ------------------------------------ locale/cs.po | 5212 ------------------------------------ locale/da.po | 5212 ------------------------------------ locale/de.po | 5087 ----------------------------------- locale/el.po | 5212 ------------------------------------ locale/es.po | 5083 ----------------------------------- locale/fa.po | 5212 ------------------------------------ locale/fi.po | 5212 ------------------------------------ locale/fr.po | 5212 ------------------------------------ locale/he.po | 5212 ------------------------------------ locale/hr.po | 5212 ------------------------------------ locale/hu.po | 5212 ------------------------------------ locale/is.po | 5212 ------------------------------------ locale/it.po | 5212 ------------------------------------ locale/ja.po | 5212 ------------------------------------ locale/ka.po | 5212 ------------------------------------ locale/ko.po | 5212 ------------------------------------ locale/make.php | 35 - locale/nb.po | 5212 ------------------------------------ locale/nl.po | 5083 ----------------------------------- locale/pl.po | 5212 ------------------------------------ locale/pt.po | 5212 ------------------------------------ locale/ro.po | 5212 ------------------------------------ locale/ru.po | 5212 ------------------------------------ locale/sv.po | 5212 ------------------------------------ locale/tl.po | 5212 ------------------------------------ locale/tr.po | 5212 ------------------------------------ locale/zh.po | 5212 ------------------------------------ pages/account/41.php | 11 +- pages/wot/5.php | 5 +- pages/wot/9.php | 9 +- scripts/removedead.php | 5 +- www/cap.php | 60 +- www/capnew.php | 10 +- www/coapnew.php | 10 +- www/index.php | 19 +- www/ttp.php | 28 +- www/wot.php | 64 +- 45 files changed, 304 insertions(+), 145839 deletions(-) create mode 100644 locale/Makefile delete mode 100644 locale/ar.po delete mode 100644 locale/bg.po delete mode 100644 locale/cs.po delete mode 100644 locale/da.po delete mode 100644 locale/de.po delete mode 100644 locale/el.po delete mode 100644 locale/es.po delete mode 100644 locale/fa.po delete mode 100644 locale/fi.po delete mode 100644 locale/fr.po delete mode 100644 locale/he.po delete mode 100644 locale/hr.po delete mode 100644 locale/hu.po delete mode 100644 locale/is.po delete mode 100644 locale/it.po delete mode 100644 locale/ja.po delete mode 100644 locale/ka.po delete mode 100644 locale/ko.po delete mode 100755 locale/make.php delete mode 100644 locale/nb.po delete mode 100644 locale/nl.po delete mode 100644 locale/pl.po delete mode 100644 locale/pt.po delete mode 100644 locale/ro.po delete mode 100644 locale/ru.po delete mode 100644 locale/sv.po delete mode 100644 locale/tl.po delete mode 100644 locale/tr.po delete mode 100644 locale/zh.po diff --git a/includes/account.php b/includes/account.php index 55c9f7a..554713e 100644 --- a/includes/account.php +++ b/includes/account.php @@ -16,6 +16,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ require_once("../includes/loggedin.php"); + require_once("../includes/lib/l10n.php"); loadem("account"); @@ -2351,7 +2352,7 @@ { csrf_check("mainlang"); $lang = mysql_real_escape_string($_REQUEST['lang']); - foreach($_SESSION['_config']['translations'] as $key => $val) + foreach(L10n::$translations as $key => $val) { if($key == $lang) { diff --git a/includes/general.php b/includes/general.php index 8481018..4919c84 100644 --- a/includes/general.php +++ b/includes/general.php @@ -39,6 +39,7 @@ require_once($_SESSION['_config']['filepath']."/includes/mysql.php"); require_once($_SESSION['_config']['filepath'].'/includes/lib/account.php'); + require_once($_SESSION['_config']['filepath'].'/includes/lib/l10n.php'); if(array_key_exists('HTTP_HOST',$_SERVER) && $_SERVER['HTTP_HOST'] != $_SESSION['_config']['normalhostname'] && @@ -70,122 +71,8 @@ } } - $lang = ""; - if(array_key_exists("lang",$_REQUEST)) - $lang=mysql_escape_string(substr(trim($_REQUEST['lang']), 0, 5)); - if($lang != "") - $_SESSION['_config']['language'] = $lang; - - //if($_SESSION['profile']['id'] == 1 && 1 == 2) - // echo $_SESSION['_config']['language']; - - $_SESSION['_config']['translations'] = array( - "ar_JO" => "العربية", - "bg_BG" => "Български", - "cs_CZ" => "Čeština", - "da_DK" => "Dansk", - "de_DE" => "Deutsch", - "el_GR" => "Ελληνικά", - "en_AU" => "English", - "eo_EO" => "Esperanto", - "es_ES" => "Español", - "fa_IR" => "Farsi", - "fi_FI" => "Suomi", - "fr_FR" => "Français", - "he_IL" => "עברית", - "hr_HR" => "Hrvatski", - "hu_HU" => "Magyar", - "is_IS" => "Íslenska", - "it_IT" => "Italiano", - "ja_JP" => "日本語", - "ka_GE" => "Georgian", - "nl_NL" => "Nederlands", - "pl_PL" => "Polski", - "pt_PT" => "Português", - "pt_BR" => "Português Brasileiro", - "ru_RU" => "Русский", - "ro_RO" => "Română", - "sv_SE" => "Svenska", - "tr_TR" => "Türkçe", - "zh_CN" => "中文(简体)"); - - $value=array(); - - if(!(array_key_exists('language',$_SESSION['_config']) && $_SESSION['_config']['language'] != "")) - { - $bits = explode(",", strtolower(str_replace(" ", "", mysql_real_escape_string(array_key_exists('HTTP_ACCEPT_LANGUAGE',$_SERVER)?$_SERVER['HTTP_ACCEPT_LANGUAGE']:"")))); - foreach($bits as $lang) - { - $b = explode(";", $lang); - if(count($b)>1 && substr($b[1], 0, 2) == "q=") - $c = floatval(substr($b[1], 2)); - else - $c = 1; - $value["$c"] = trim($b[0]); - } - - krsort($value); - - reset($value); - - foreach($value as $key => $val) - { - $val = substr(escapeshellarg($val), 1, -1); - $short = substr($val, 0, 2); - if($val == "en" || $short == "en") - { - $_SESSION['_config']['language'] = "en"; - break; - } - if(file_exists($_SESSION['_config']['filepath']."/locale/$val/LC_MESSAGES/messages.mo")) - { - $_SESSION['_config']['language'] = $val; - break; - } - if(file_exists($_SESSION['_config']['filepath']."/locale/$short/LC_MESSAGES/messages.mo")) - { - $_SESSION['_config']['language'] = $short; - break; - } - } - } - if(!array_key_exists('_config',$_SESSION) || !array_key_exists('language',$_SESSION['_config']) || strlen($_SESSION['_config']['language']) != 5) - { - $lang = array_key_exists('language',$_SESSION['_config'])?$_SESSION['_config']['language']:""; - $_SESSION['_config']['language'] = "en_AU"; - foreach($_SESSION['_config']['translations'] as $key => $val) - { - if(substr($lang, 0, 2) == substr($key, 0, 2)) - { - $_SESSION['_config']['language'] = $val; - break; - } - } - } - - $_SESSION['_config']['recode'] = "html..latin-1"; - if($_SESSION['_config']['language'] == "zh_CN") - { - $_SESSION['_config']['recode'] = "html..gb2312"; - } else if($_SESSION['_config']['language'] == "pl_PL" || $_SESSION['_config']['language'] == "hu_HU") { - $_SESSION['_config']['recode'] = "html..ISO-8859-2"; - } else if($_SESSION['_config']['language'] == "ja_JP") { - $_SESSION['_config']['recode'] = "html..SHIFT-JIS"; - } else if($_SESSION['_config']['language'] == "ru_RU") { - $_SESSION['_config']['recode'] = "html..ISO-8859-5"; - } else if($_SESSION['_config']['language'] == "lt_LT") { - $_SESSION['_config']['recode'] = "html..ISO-8859-13"; - } - - putenv("LANG=".$_SESSION['_config']['language']); - setlocale(LC_ALL, $_SESSION['_config']['language']); - $domain = 'messages'; - bindtextdomain($domain, $_SESSION['_config']['filepath']."/locale"); - textdomain($domain); - - //if($_SESSION['profile']['id'] == -1) - // echo $_SESSION['_config']['language']." - ".$_SESSION['_config']['filepath']."/locale"; - + L10n::detect_language(); + L10n::init_gettext(); if(array_key_exists('profile',$_SESSION) && is_array($_SESSION['profile']) && array_key_exists('id',$_SESSION['profile']) && $_SESSION['profile']['id'] > 0) { @@ -632,14 +519,6 @@ return(utf8_decode($data)); } - function screenshot($img) - { - if(file_exists("../screenshots/".$_SESSION['_config']['language']."/$img")) - return("/screenshots/".$_SESSION['_config']['language']."/$img"); - else - return("/screenshots/en/$img"); - } - function signmail($to, $subject, $message, $from, $replyto = "") { if($replyto == "") diff --git a/includes/general_stuff.php b/includes/general_stuff.php index 80cd8a7..4c1bd30 100644 --- a/includes/general_stuff.php +++ b/includes/general_stuff.php @@ -16,6 +16,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +require_once($_SESSION['_config']['filepath'].'/includes/lib/l10n.php'); + if(!function_exists("showheader")) { function showbodycontent($title = "CAcert.org", $title2 = "") @@ -60,7 +62,7 @@ google_color_border = "FFFFFF";