function translation_service_authentication_ajax()
 {
     $translation_service_authentication = false;
     if (isset($_POST['nonce'])) {
         $translation_service_authentication = wp_verify_nonce($_POST['nonce'], 'translation_service_authentication');
     }
     $errors = 0;
     $message = '';
     $invalidate = isset($_POST['invalidate']) ? $_POST['invalidate'] : false;
     if ($translation_service_authentication) {
         if ($invalidate) {
             $result = TranslationProxy::invalidate_service(TranslationProxy::get_current_service_id());
             if (!$result) {
                 $message = __('Unable to invalidate this service. Please contact WPML support.', 'wpml-translation-management');
                 $errors++;
             } else {
                 $message = __('Service invalidated.', 'wpml-translation-management');
             }
         } else {
             if (isset($_POST['custom_fields'])) {
                 $custom_fields_data_serialized = $_POST['custom_fields'];
                 $custom_fields_data = json_decode(stripslashes($custom_fields_data_serialized), true);
                 $result = TranslationProxy::authenticate_service($_POST['service_id'], $custom_fields_data);
                 if (!$result) {
                     $message = __('Unable to activate this service. Please check entered data and try again.', 'wpml-translation-management');
                     $errors++;
                 } else {
                     $message = __('Service activated.', 'wpml-translation-management');
                 }
             }
         }
     } else {
         $message = __('You are not allowed to perform this action.', 'wpml-translation-management');
         $errors++;
     }
     $response = array('errors' => $errors, 'message' => $message, 'reload' => !$errors ? 1 : 0);
     echo wp_json_encode($response);
     die;
 }