Plugin Directory

Changeset 3171783


Ignore:
Timestamp:
10/19/2024 04:36:15 AM (18 months ago)
Author:
mvpis
Message:

Updated

Location:
fluentc-translation
Files:
371 added
8 edited

Legend:

Unmodified
Added
Removed
  • fluentc-translation/trunk/fluentc_wordpress_plugin.php

    r3170433 r3171783  
    77 * Plugin URI: https://www.fluentc.ai
    88 * Description: A plugin that enables website owners to easily install the FluentC Translation on their WordPress site.
    9  * Version: 2.0
     9 * Version: 2.0.1
    1010 * Author: FluentC
    1111 * Author URI: https://www.fluentc.ai
     
    1717define( 'FLUENTC_DIR', __DIR__ );
    1818define( 'FLUENTC_SLUG', 'fluentc_translation' );
    19 define( 'FLUENTC_TRANSLATION_VERSION', "2.0" );
     19define( 'FLUENTC_TRANSLATION_VERSION', "2.0.1" );
    2020define( 'FLUENTC_TRANSLATION_PLUGIN_DIR', plugin_dir_path(__FILE__) );
    2121define( 'FLUENTC_TRANSLATION_PLUGIN_URL', plugin_dir_url(__FILE__) );
  • fluentc-translation/trunk/readme.txt

    r3170433 r3171783  
    55Requires at least: 4.6
    66Tested up to: 6.6.2
    7 Stable tag: 2.0
     7Stable tag: 2.0.1
    88Requires PHP: 7.3
    99License: GPLv2 or later
  • fluentc-translation/trunk/src/actions/class-aioseo.php

    r3153653 r3171783  
    6363
    6464        add_filter( 'aioseo_canonical_url', array( $this, 'aioseoFilterCanonicalUrl' ) );
    65         add_filter( 'aioseo_description', array( $this, 'aioseoFilterDescription' ), 10, 1 );
    66         add_filter( 'aioseo_title', array( $this, 'aioseoFilterDescription' ), 10, 1 );
     65        //add_filter( 'aioseo_description', array( $this, 'aioseoFilterDescription' ), 10, 1 );
     66        //add_filter( 'aioseo_title', array( $this, 'aioseoFilterDescription' ), 10, 1 );
    6767    }
    6868    /**
  • fluentc-translation/trunk/src/actions/class-rankmath.php

    r3153653 r3171783  
    6363    public function hooks() {
    6464
    65         add_filter( 'rank_math/frontend/keywords', array( $this, 'rankmath_keywords' ), 10, 1 );
     65        //add_filter( 'rank_math/frontend/keywords', array( $this, 'rankmath_keywords' ), 10, 1 );
    6666        add_filter( 'rank_math/frontend/canonical', array( $this, 'rankmath_canonical' ), 10, 1 );
    67         add_filter( 'rank_math/frontend/description', array( $this, 'rankmath_description' ), 10, 1 );
    68         add_filter( 'rank_math/frontend/title', array( $this, 'rankmath_title' ), 10, 1 );
     67        //add_filter( 'rank_math/frontend/description', array( $this, 'rankmath_description' ), 10, 1 );
     68        //add_filter( 'rank_math/frontend/title', array( $this, 'rankmath_title' ), 10, 1 );
    6969    }
    7070    /**
  • fluentc-translation/trunk/src/actions/class-yoast.php

    r3155849 r3171783  
    6262    public function hooks() {
    6363
    64         add_filter( 'wpseo_metadesc', array( $this, 'yoast_filter_description' ), 10, 1 );
    65         add_filter( 'wpseo_title', array( $this, 'yoast_filter_description' ), 10, 1 );
     64        //add_filter( 'wpseo_metadesc', array( $this, 'yoast_filter_description' ), 10, 1 );
     65        //add_filter( 'wpseo_title', array( $this, 'yoast_filter_description' ), 10, 1 );
    6666       
    6767    }
  • fluentc-translation/trunk/src/services/class-cache.php

    r3170433 r3171783  
    163163     */
    164164    public function update_clean( $translation_id ) {
    165         list($transient_name, $index) = explode( '-', $translation_id );
     165       
    166166
    167167        // Delete the entire transient.
    168         $result = delete_transient( $transient_name );
     168        $result = delete_transient( $translation_id );
    169169
    170170        return $result;
     
    253253     * Update a specific translation within a cached transient.
    254254     *
    255      * @since [Your next version number]
     255     * @since 1.9
    256256     *
    257257     * @param  string $translation_id  The ID of the translation to update.
     
    264264        $debug_info     = array();
    265265
    266         list($transient_name, $index) = explode( '-', $translation_id );
    267 
     266        $transient_name = $translation_id;
     267        //error_log('FluentC: Process Final Output ' );
    268268        if ( isset( $all_transients[ $transient_name ] ) ) {
    269269            $transient_data = $all_transients[ $transient_name ];
     
    277277                $cleaned_translation = html_entity_decode( $cleaned_translation, ENT_QUOTES | ENT_HTML5, 'UTF-8' );
    278278
    279                 $data['data']['translateSite']['body']['translatedText'] = $cleaned_translation;
     279                $data['data']['translateSite']['body'][0]['translatedText'] = $cleaned_translation;
    280280                $updated      = true;
    281                 $debug_info[] = "Updated translation in transient: $transient_name, index: $index";
     281                $debug_info[] = "Updated translation in transient: $transient_name";
     282
     283                // Use JSON_UNESCAPED_UNICODE and JSON_UNESCAPED_SLASHES to prevent unnecessary escaping.
     284                $new_transient_data = wp_json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );
     285                set_transient( $transient_name, $new_transient_data );
     286            } elseif( json_last_error() === JSON_ERROR_NONE && isset( $data['data']['translateSite']['body'][0] ) ) {
     287                // Remove any potential slashes added by WordPress.
     288                $cleaned_translation = wp_unslash( $new_translation );
     289
     290                // Ensure the text is stored as plain text, not HTML entities.
     291                $cleaned_translation = html_entity_decode( $cleaned_translation, ENT_QUOTES | ENT_HTML5, 'UTF-8' );
     292
     293                $data['data']['translateSite']['body'][0]['translatedText'] = $cleaned_translation;
     294                $updated      = true;
     295                $debug_info[] = "Updated translation in transient: $transient_name";
    282296
    283297                // Use JSON_UNESCAPED_UNICODE and JSON_UNESCAPED_SLASHES to prevent unnecessary escaping.
     
    285299                set_transient( $transient_name, $new_transient_data );
    286300            } else {
    287                 $debug_info[] = "Failed to decode JSON or find translation in transient: $transient_name, index: $index";
     301                $debug_info[] = "Failed to decode JSON or find translation in transient: $transient_name";
    288302            }
    289303        } else {
     
    329343            $data = json_decode($raw_data, true);
    330344           
    331             if (is_array($data) && isset($data['data']['translateSite']['body'])) {
     345            if (is_array($data) && isset($data['data']['translateSite']['body'][0])) {
    332346               
    333                     $originalText = html_entity_decode($data['data']['translateSite']['body']['originalText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
    334                     $translatedText = html_entity_decode($data['data']['translateSite']['body']['translatedText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     347                    $originalText = html_entity_decode($data['data']['translateSite']['body'][0]['originalText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     348                    $translatedText = html_entity_decode($data['data']['translateSite']['body'][0]['translatedText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
    335349                   
    336350                    if ($originalText !== $translatedText &&
     
    339353                        $translations[] = [
    340354                            'id' => $transient_name,
    341                             'sourceLanguage' => $data['data']['translateSite']['body']['sourceLanguage'],
    342                             'targetLanguage' => $data['data']['translateSite']['body']['targetLanguage'],
     355                            'sourceLanguage' => $data['data']['translateSite']['body'][0]['sourceLanguage'],
     356                            'targetLanguage' => $data['data']['translateSite']['body'][0]['targetLanguage'],
    343357                            'originalText' => $originalText,
    344358                            'translatedText' => $translatedText
     
    347361               
    348362            }
     363            elseif (is_array($data) && isset($data['data']['translateSite']['body'])) {
     364               
     365                $originalText = html_entity_decode($data['data']['translateSite']['body']['originalText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     366                $translatedText = html_entity_decode($data['data']['translateSite']['body']['translatedText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     367               
     368                if ($originalText !== $translatedText &&
     369                    (mb_stripos($originalText, $search_term) !== false ||
     370                     mb_stripos($translatedText, $search_term) !== false)) {
     371                    $translations[] = [
     372                        'id' => $transient_name,
     373                        'sourceLanguage' => $data['data']['translateSite']['body']['sourceLanguage'],
     374                        'targetLanguage' => $data['data']['translateSite']['body']['targetLanguage'],
     375                        'originalText' => $originalText,
     376                        'translatedText' => $translatedText
     377                    ];
     378                }
     379           
     380        }
    349381        }
    350382   
  • fluentc-translation/trunk/src/services/class-connect.php

    r3170433 r3171783  
    327327    {
    328328        $site_url = $this->getSiteUrl();
    329         $site_detail = $widget_id ? 'siteId: "' . $widget_id . '" ' : '';
    330        
     329        $site_detail = $widget_id ? 'siteId: "' . $widget_id . '", ' : '';
     330        $apicalls = $this->fluentc_cache->get('apicalls');
    331331        $query = <<<GRAPHQL
    332332        {
     
    334334            host: "$site_url",
    335335            $site_detail
     336            apiCalls:$apicalls,
     337            action:"heartbeat"
    336338          ) {
    337339            body {
  • fluentc-translation/trunk/src/services/class-fluentc-translations.php

    r3152094 r3171783  
    7070                        }
    7171                    }
     72                    elseif(isset($body[0]['originalText'])){
     73                   
     74                        $originalText = html_entity_decode($body[0]['originalText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     75                        $translatedText = html_entity_decode($body[0]['translatedText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     76                       
     77                        if ($originalText !== $translatedText) {
     78                            $translations[] = [
     79                                'id' => $transient_name,
     80                                'sourceLanguage' => $body[0]['sourceLanguage'],
     81                                'targetLanguage' => $body[0]['targetLanguage'],
     82                                'originalText' => $originalText,
     83                                'translatedText' => $translatedText
     84                            ];
     85                            $count++;
     86                        }
     87                   }
     88                   else {
     89                        do_action('qm/info', 'get_total_translations_count No Origianl');
     90                   }
    7291                }
    7392            }
     
    100119                        }
    101120                    }
     121                    elseif(isset($body[0]['originalText'])){
     122                   
     123                       $originalText = html_entity_decode($body[0]['originalText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     124                       $translatedText = html_entity_decode($body[0]['translatedText'], ENT_QUOTES | ENT_HTML5, 'UTF-8');
     125                           
     126                        if ($originalText !== $translatedText) {
     127                             $count++;
     128                         }
     129                   }
     130                   else {
     131                        do_action('qm/info', 'get_total_translations_count No Origianl');
     132                   }
    102133            }
    103134        }
Note: See TracChangeset for help on using the changeset viewer.