Making WordPress.org

Changeset 12626


Ignore:
Timestamp:
06/06/2023 03:41:05 PM (23 months ago)
Author:
akirk
Message:

Translate: Use the faster ajax version for fetching the chatgpt review

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/gp-translation-helpers
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/gp-translation-helpers/includes/class-gp-openai-review.php

    r12624 r12626  
    2020     * @return array
    2121     */
    22     public static function get_openai_review( $original_singular, $translation, $locale, $glossary_query, $is_retry ): array {
     22    public static function get_openai_review( $original, $translation, $language, $glossary_query, $is_retry ): array {
    2323        $openai_query = '';
    2424        $openai_key   = apply_filters( 'gp_get_openai_key', self::$gp_openai_key );
     
    2929        $openai_temperature = 0;
    3030
    31         $gp_locale     = GP_Locales::by_field( 'slug', $locale );
    32         $openai_query .= 'For the english text  "' . $original_singular . '", is "' . $translation . '" a correct translation in ' . $gp_locale->english_name . '?';
     31        $openai_query .= 'For the english text  "' . $original . '", is "' . $translation . '" a correct translation in ' . $language . '?';
    3332        if ( $glossary_query ) {
    3433            $messages[] = array(
     
    6665        $response_status = wp_remote_retrieve_response_code( $openai_response );
    6766        $output          = json_decode( wp_remote_retrieve_body( $openai_response ), true );
     67        $response = array();
    6868
    6969        if ( 200 !== $response_status || is_wp_error( $openai_response ) ) {
    70             $response['openai']['status'] = $response_status;
    71             $response['openai']['error']  = wp_remote_retrieve_response_message( $openai_response );
     70            $response['status'] = $response_status;
     71            $response['error']  = wp_remote_retrieve_response_message( $openai_response );
    7272            return $response;
    7373        }
    7474
    7575        $message                          = $output['choices'][0]['message'];
    76         $response['openai']['status']     = $response_status;
    77         $response['openai']['review']     = trim( trim( $message['content'] ), '"' );
    78         $response['openai']['time_taken'] = $time_taken;
     76        $response['status']     = $response_status;
     77        $response['review']     = trim( trim( $message['content'] ), '"' );
     78        $response['time_taken'] = $time_taken;
    7979
    8080        return $response;
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/gp-translation-helpers/includes/class-gp-translation-helpers.php

    r12624 r12626  
    446446    public static function fetch_openai_review() {
    447447        check_ajax_referer( 'gp_comment_feedback', 'nonce' );
    448         $translation_id = sanitize_text_field( $_POST['data']['translation_id'] );
    449         $locale_slug    = sanitize_text_field( $_POST['data']['locale_slug'] );
    450         $glossary_query = sanitize_text_field( $_POST['data']['glossary_query'] );
    451         $is_retry       = filter_var( $_POST['data']['is_retry'], FILTER_VALIDATE_BOOLEAN );
    452 
    453         $translation = GP::$translation->get( $translation_id );
    454         $original    = GP::$original->get( $translation->original_id );
    455 
    456         $openai_response = GP_OpenAI_Review::get_openai_review( $original->singular, $translation->translation_0, $locale_slug, $glossary_query, $is_retry );
    457 
    458         wp_send_json_success( $openai_response['openai'] );
     448        $original    = sanitize_text_field( $_POST['data']['original'] );
     449        $translation = sanitize_text_field( $_POST['data']['translation'] );
     450        $language    = sanitize_text_field( $_POST['data']['language'] );
     451        $glossary    = sanitize_text_field( $_POST['data']['glossary_query'] );
     452        $is_retry    = filter_var( $_POST['data']['is_retry'], FILTER_VALIDATE_BOOLEAN );
     453
     454        $openai_response = GP_OpenAI_Review::get_openai_review( $original, $translation, $language, $glossary, $is_retry );
     455
     456        wp_send_json_success( $openai_response );
    459457    }
    460458
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/gp-translation-helpers/js/editor.js

    r12624 r12626  
    244244        var original_str = currentRow.find( '.original' );
    245245        var glossary_prompt = '';
    246         var translationId = $gp.editor.translation_id_from_row_id( rowId );
     246        var translation = currentRow.find( '.foreign-text:first' ).val();
    247247
    248248        $.each( $( original_str ).find( '.glossary-word' ), function( k, word ) {
     
    259259            glossary_prompt = 'You are required to follow these rules, ' + glossary_prompt + 'for words found in the English text you are translating.';
    260260        }
    261         payload.locale_slug = $gp_comment_feedback_settings.locale_slug;
    262         payload.translation_id = translationId;
     261        payload.language = $gp_comment_feedback_settings.language;
     262        payload.original = currentRow.find( '.original-raw' ).text();
     263        payload.translation = translation;
    263264        payload.glossary_query = glossary_prompt;
    264265        payload.is_retry = isRetry;
     
    273274            {
    274275                type: 'POST',
    275                 url: $gp_comment_feedback_settings.url,
     276                url: '/wp-content/plugins/wporg-gp-translation-suggestions/ajax-fetch-openai-review.php',
    276277                data: data,
    277278            }
     
    280281                currentRow.find( '.openai-review .suggestions__loading-indicator' ).hide();
    281282                if ( 200 === response.data.status ) {
    282                     currentRow.find( '.openai-review .auto-review-result' ).html( '<h4>Auto-review by ChatGPT' ).append( $( '<span/>' ).text( response.data.review + ' (' + response.data.time_taken.toFixed( 2 ) + 's)' ) );
     283                    currentRow.find( '.openai-review .auto-review-result' ).html( '<h4>Review by ChatGPT' ).append( $( '<span/>' ).text( response.data.review + ' (' + response.data.time_taken.toFixed( 2 ) + 's)' ) );
    283284                } else {
    284285                    currentRow.find( '.openai-review .auto-review-result' ).text( 'Error ' + response.data.status + ' : ' + response.data.error );
Note: See TracChangeset for help on using the changeset viewer.