function bing_text_translate($text, $lang_from = 'en', $lang_to = 'ru')
{
    global $settings, $seftranslate_error;
    //DBQuery
    $database =& JFactory::getDBO();
    $ret_value = $text;
    $lang_from2 = $lang_from;
    $lang_to2 = $lang_to;
    if ($lang_from == 'pt-PT') {
        $lang_from2 = 'pt';
    }
    if ($lang_to == 'pt-PT') {
        $lang_to2 = 'pt';
    }
    if ($lang_from == 'zh-CN') {
        $lang_from2 = 'zh-CHS';
    }
    if ($lang_to == 'zh-CN') {
        $lang_to2 = 'zh-CHS';
    }
    if ($lang_from == 'zh-TW') {
        $lang_from2 = 'zh-CHT';
    }
    if ($lang_to == 'zh-TW') {
        $lang_to2 = 'zh-CHT';
    }
    $params = array();
    if (!empty($settings['api_bing_client_secret']) && !empty($settings['api_bing_client_id'])) {
        //Create the AccessTokenAuthentication object.
        $authObj = new AccessTokenAuthentication();
        //Get the Access token.
        $accessToken = $authObj->getTokens();
        $params['appId'] = "Bearer" . " " . $accessToken;
    } else {
        if ($settings['debug']) {
            throw "Please set bing client secret and client id";
            exit;
        }
    }
    $params['text'] = $text;
    $params['from'] = $lang_from2;
    $params['to'] = $lang_to2;
    $params['contentType'] = "text/html";
    try {
        $bing_client = new SoapClient("http://api.microsofttranslator.com/V2/SOAP.svc");
        $result = $bing_client->Translate($params);
        $ret_value = html_entity_decode($result->TranslateResult, ENT_NOQUOTES, 'UTF-8');
    } catch (Exception $e) {
        if ($settings['debug']) {
            throw $e;
            exit;
        } else {
            $seftranslate_error = true;
            return $ret_value;
        }
    }
    if (trim($ret_value) == "") {
        return $ret_value;
    }
    //save to database
    $efentity = new mosSefentity($database);
    $efentity->hash = md5($text);
    $efentity->entity_text = $ret_value;
    $efentity->lang_from = $lang_from;
    $efentity->lang_to = $lang_to;
    $efentity->hits = 1;
    $efentity->date = date("Y-m-d H:i:s");
    $efentity->checkin();
    $efentity->store();
    return $ret_value;
}