Changeset 76


Ignore:
Timestamp:
03/19/2009 12:22:25 PM (3 years ago)
Author:
amir
Message:

Fixed parsing of nubmers which should be excluded from translation unless they are in this form 1st 18th ... .
Exclude js includes when not needed.
Some minor cosmetics changes as well.

Location:
trunk/WordPress/plugin/transposh
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WordPress/plugin/transposh/parser.php

    r74 r76  
    5656//Is current position within the channel tag, i.e. RSS feed 
    5757$is_in_channel = FALSE; 
     58 
     59//Indicates whether automatic translation (i.e. google) is enabled for this page 
     60$enable_auto_translate; 
    5861 
    5962/* 
     
    416419                                $start = $pos; 
    417420                        } 
     421                        else if($end_of_number = is_number($pos)) 
     422                        { 
     423                                //numbers will break translations segements and will not be included in the translation 
     424                                translate_text($start); 
     425                                $pos = $start = $end_of_number; 
     426                        }                        
    418427                        else 
    419428                        { 
     
    456465                                $pos++; 
    457466                                $start = $pos; 
     467                        } 
     468                        else if($end_of_number = is_number($pos)) 
     469                        { 
     470                                //numbers will break translations segements and will not be included in the translation 
     471                                translate_text($start); 
     472                                $pos = $start = $end_of_number; 
    458473                        } 
    459474                        else 
     
    519534                        $page[$position] == '"' || $page[$position] == '!' || 
    520535                        $page[$position] == ':' || $page[$position] == '|' || 
    521                         $page[$position] == ';' || 
    522                         //break on numbers but not like: 3rd, 4th 
    523                         (is_digit($position) && !is_a_to_z_character($position+1))) 
     536                        $page[$position] == ';') 
    524537        { 
    525538                //break the sentence into segments regardless of the next character. 
     
    570583} 
    571584 
     585/* 
     586 * Determines if the current position marks the begining of a number, e.g. 123 050-391212232 
     587 *  
     588 * Return 0 if not a number otherwise return the position past this number.  
     589 */ 
     590function is_number($position) 
     591{ 
     592        global $page; 
     593        $start = $position; 
     594         
     595        while(is_digit($position) || $page[$position] == '-' || $page[$position] == '+') 
     596        { 
     597                $position++; 
     598        } 
     599         
     600        if($position != $start && (is_white_space($position) || $page[$position] == '<')) 
     601        { 
     602                return $position;                
     603        } 
     604         
     605        return 0; 
     606} 
    572607 
    573608/* 
     
    622657                return TRUE; 
    623658        } 
    624 } 
    625  
    626 /* 
    627  * Skip within buffer past unreadable characters , i.e. white space 
    628  * and characters considred to be a sentence breaker. Staring from the specified 
    629  * position going either forward or backward. 
    630  * param forward - indicate direction going either backward of forward. 
    631  */ 
    632 function skip_unreadable_chars(&$index, $forward=TRUE) 
    633 { 
    634         global $page, $pos; 
    635  
    636         if(!isset($index)) 
    637         { 
    638                 //use $pos as the default position if not specified otherwise 
    639                 $index = &$pos; 
    640         } 
    641         $start = $index; 
    642  
    643         while($index < strlen($page) && $index > 0 && 
    644         (is_white_space($index) || is_sentence_breaker($index))) 
    645         { 
    646                 ($forward ? $index++ : $index--); 
    647         } 
    648  
    649         return $index; 
    650659} 
    651660 
     
    769778        $is_translated = FALSE; 
    770779 
    771         if(!($is_edit_mode || get_option(ENABLE_AUTO_TRANSLATE,1)) || !in_array('body', $tags_list)) 
     780        if(!($is_edit_mode || $enable_auto_translate) || !in_array('body', $tags_list)) 
    772781        { 
    773782                if($translated_text != NULL) 
  • trunk/WordPress/plugin/transposh/transposh.php

    r74 r76  
    281281function insert_javascript_includes() 
    282282{ 
    283     global $plugin_url, $wp_query; 
    284  
    285     if (!($wp_query->query_vars[EDIT_PARAM] == "1" || 
    286          $wp_query->query_vars[EDIT_PARAM] == "true") && !get_option(ENABLE_AUTO_TRANSLATE,1)) 
     283    global $plugin_url, $wp_query, $lang, $home_url,  $enable_auto_translate; 
     284 
     285    $is_edit_param_enabled = ($wp_query->query_vars[EDIT_PARAM] == "1" || 
     286                                                  $wp_query->query_vars[EDIT_PARAM] == "true"); 
     287                                                    
     288    if (!$is_edit_param_enabled && ! $enable_auto_translate) 
    287289    { 
    288290        //TODO: check permission later - for now just make sure we don't load the 
     
    294296    $overlib_dir = "$plugin_url/js/overlibmws"; 
    295297 
    296     if ($wp_query->query_vars[EDIT_PARAM] == "1" ||  $wp_query->query_vars[EDIT_PARAM] == "true") { 
     298    if($is_edit_param_enabled)  
     299    { 
    297300        $js = "\n<script type=\"text/javascript\" src=\"$overlib_dir/overlibmws.js\"></script>"; 
    298301        $js .= "\n<script type=\"text/javascript\" src=\"$overlib_dir/overlibmws_filter.js\"></script>"; 
     
    302305        $js .= "\n<script type=\"text/javascript\" src=\"$overlib_dir/overlibmws_shadow.js\"></script>"; 
    303306    } 
    304     $js .= "\n<script type=\"text/javascript\" src=\"$plugin_url/js/transposh.js\"></script>"; 
    305     $js .= "\n<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></script>"; 
    306     $js .= "\n<script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>"; 
    307     $js .= "\n<script type=\"text/javascript\">google.load(\"language\", \"1\");</script>"; 
    308     global $lang, $home_url; 
    309     $post_url = $home_url . '/index.php'; 
    310     $js .= "\n<script type=\"text/javascript\">var transposh_post_url='$post_url';var transposh_target_lang='$lang';</script>"; 
    311     if (get_option(ENABLE_AUTO_TRANSLATE,1)) { 
     307     
     308    if($is_edit_param_enabled || $enable_auto_translate)  
     309    { 
     310        $js .= "\n<script type=\"text/javascript\" src=\"$plugin_url/js/transposh.js\"></script>"; 
     311        $js .= "\n<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></script>"; 
     312        $js .= "\n<script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>"; 
     313        $js .= "\n<script type=\"text/javascript\">google.load(\"language\", \"1\");</script>"; 
     314     
     315     
     316        $post_url = $home_url . '/index.php'; 
     317        $js .= "\n<script type=\"text/javascript\">var transposh_post_url='$post_url';var transposh_target_lang='$lang';</script>"; 
     318     
    312319        $js .= "\n<script type=\"text/javascript\">$(document).ready(function() {do_auto_translate();});</script>"; 
    313320    } 
    314     echo $js; 
     321     
     322    echo $js . "\n"; 
    315323} 
    316324 
     
    383391function init_global_vars() 
    384392{ 
    385     global $home_url, $home_url_quoted, $plugin_url, $table_name, $wpdb; 
     393    global $home_url, $home_url_quoted, $plugin_url, $table_name, $wpdb, $enable_auto_translate; 
    386394 
    387395    $home_url = get_option('home'); 
     
    393401 
    394402    $table_name = $wpdb->prefix . TRANSLATIONS_TABLE; 
     403    $enable_auto_translate = get_option(ENABLE_AUTO_TRANSLATE,1); 
    395404} 
    396405 
     
    530539    logger(__METHOD__ . $_SERVER['REQUEST_URI']); 
    531540    init_global_vars(); 
    532  
    533  
     541         
    534542    if ($_POST['translation_posted']) 
    535543    { 
     
    766774{ 
    767775    global $admin_msg; 
    768     logger("Enter " . __METHOD__, 3); 
     776    logger("Enter " . __METHOD__, 4); 
    769777 
    770778    $db_version = get_option(TRANSPOSH_DB_VERSION); 
Note: See TracChangeset for help on using the changeset viewer.