function bing_array_text_translate($arr_text, $lang_from = 'en', $lang_to = 'ru')
{
    global $settings, $seftranslate_error;
    //DBQuery
    $database =& JFactory::getDBO();
    $ret_value = $arr_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['texts'] = $arr_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->TranslateArray($params);
        //$ret_value = $result->TranslateArrayResult->TranslateArrayResponse;
    } catch (Exception $e) {
        if ($settings['debug']) {
            throw $e;
            exit;
        } else {
            $seftranslate_error = true;
            return $ret_value;
        }
    }
    $ret_value = array();
    for ($kk = 0; $kk < count($arr_text); $kk++) {
        $TranslatedText = "";
        if (is_array($result->TranslateArrayResult->TranslateArrayResponse)) {
            $TranslatedText = $result->TranslateArrayResult->TranslateArrayResponse[$kk]->TranslatedText;
        } else {
            $TranslatedText = $result->TranslateArrayResult->TranslateArrayResponse->TranslatedText;
        }
        $TranslatedText = html_entity_decode($TranslatedText, ENT_NOQUOTES, 'UTF-8');
        $ret_value[] = $TranslatedText;
        $is_translated_before = get_text_translated($arr_text[$kk], $lang_from, $lang_to);
        if ($is_translated_before !== false || trim($TranslatedText) == "") {
            continue;
        }
        //save to database
        $efentity = new mosSefentity($database);
        $efentity->hash = md5($arr_text[$kk]);
        $efentity->entity_text = $TranslatedText;
        $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;
}