private function _languageSelect($lang)
 {
     global $CONFIG;
     $sel = new Select();
     $sel->SetCurrentValue($lang);
     $known = $sel->CreateGroup('Languages with translations');
     $avail = $sel->CreateGroup('Available languages');
     $counts = array();
     foreach ($this->ds->ExecuteSql("SELECT lang,count(*) as cnt FROM wdf_translations GROUP BY lang") as $row) {
         $counts[$row['lang']] = intval($row['cnt']);
     }
     $total = max($counts);
     foreach (Localization::get_language_names() as $code => $name) {
         if (isset($counts[$code])) {
             $name = "{$name} ({$counts[$code]})";
             if ($code == $CONFIG['localization']['default_language']) {
                 $name .= " [default]";
             } else {
                 $name .= " [" . floor($counts[$code] / $total * 100) . "%]";
             }
         }
         $sel->AddOption($code, $name, false, isset($counts[$code]) && $counts[$code] > 0 ? $known : $avail);
     }
     return $sel;
 }
 private function CreateSelect($sel_name)
 {
     $Select = new Select($sel_name);
     foreach ($this->_scale as $val => $desc) {
         $selected = $val == $this->_value ? true : false;
         $Select->AddOption($val, $desc, $selected);
     }
     return $Select;
 }