[Fixed sip settings to change language Adrian Georgescu **20091115185232] hunk ./library/sip_settings.php 864 - //dprint("Set language to $lang"); + //print("Set language to $lang"); hunk ./library/sip_settings.php 2052 - + hunk ./library/sip_settings.php 2095 - /* + print " + + + "; + + print " + + "; hunk ./library/sip_settings.php 2104 + print " + + "; + hunk ./library/sip_settings.php 2111 + hunk ./library/sip_settings.php 2113 - "nl"=>"Nederlands", - "ro"=>"Romaneste", - "de"=>"Deutsch" + "ro"=>"Romaneste" hunk ./library/sip_settings.php 2125 - */ hunk ./library/sip_settings.php 2126 - print " - - - "; hunk ./library/sip_settings.php 3105 - dprint("Set lang $language"); + //print("Set lang $language"); hunk ./library/sip_settings.php 4391 - print "url&tab=phonebook&task=add&uri=$urlURI&search_text=$urlURI>$this->phonebook_img"; + print "url&tab=contacts&task=add&uri=$urlURI&search_text=$urlURI>$this->phonebook_img"; hunk ./library/sip_settings.php 4451 - print "url&tab=phonebook&task=add&uri=$urlURI&search_text=$urlURI>$this->phonebook_img"; + print "url&tab=contacts&task=add&uri=$urlURI&search_text=$urlURI>$this->phonebook_img"; hunk ./library/sip_settings.php 4749 - $url_string=$this->url."&tab=phonebook"; + $url_string=$this->url."&tab=contacts"; hunk ./library/sip_settings.php 4756 - + hunk ./library/sip_settings.php 4769 - + hunk ./library/sip_settings.php 4791 - print "url&tab=phonebook&export=1>"; + print "url&tab=contacts&export=1>"; hunk ./library/sip_settings.php 4793 - print "url&tab=phonebook&export=1 target=export>"; + print "url&tab=contacts&export=1 target=export>"; hunk ./phplib/local.inc 946 -function changeLanguage() { +function changeLanguage($lang='en',$domain='cdrtool') { + $lang = languageCodeFor(isset($lang) ? $lang : 'en'); + //print "$lang
"; + //putenv("LANG=$lang"); + //putenv("LC_ALL=$lang"); + + //$domain = 'cdrtool'; + $nlspath = '/var/www/CDRTool/po/locale'; + //print "setlang: $lang"; + setlocale(LC_ALL, $lang); // "" to use environment vars, else $lang + //print("$domain, $nlspath"); + bindtextdomain($domain, $nlspath); + textdomain($domain); +} + +// return full language code for given 2 letter language code +function languageCodeFor($lang='en') { + $lang = isset($lang) ? strtolower($lang) : 'en'; + switch ($lang) { + case 'en': return 'en_US'; // this can be C or en_US + case 'ja': return 'ja_JP'; + default : return ($lang . '_' . strtoupper($lang)); + } + return 'C'; // this will never be reached