WPML

סקירת התקלה

אם אתה משתמש בתוסף Gravity Forms Polls Add-On, ייתכן שתיתקל בבעיות שבהן תוצאות הסקר אינן מציגות תוכן מתורגם בעת צפייה בהן בשפות שאינן שפת ברירת המחדל. בעיה זו מתרחשת בעיקר כאשר הפרמטר של השורטקוד מוגדר ל־mode="results". התרגומים פועלים כראוי כאשר המצב מוגדר ל־mode=”poll”.

פתרון עוקף

אנא ודא שיש לך גיבוי מלא של האתר שלך לפני שתמשיך.

  • פתח את הקובץ …/wp-content/plugins/gravityformspolls/class-gf-polls.php.
  • חפש את שורה 2140.
  • ממש לפני:
    $gpoll_output['summary'] .= $field['field_label'] . '</div></div>';
  • הוסף את הקוד הזה:
    // WPML Workaround for compsupp-7316 - Part I
    if ( class_exists('Sitepress') ) {
    	$wpml_question = $field['field_label'];
    	$textdomain = 'WordPress';
    	$string_name = 'WPML Workaround : '.substr($wpml_question, 0, 20);
    
    	$wpml_default_lang = apply_filters('wpml_default_language', NULL );
    	$wpml_current_lang = apply_filters( 'wpml_current_language', NULL );
    
    	if ($wpml_default_lang == $wpml_current_lang ) {
    		do_action( 'wpml_register_single_string', $textdomain, $string_name, $wpml_question );
    	}	
    	// Apply the translation to the string
    	$wpml_question = apply_filters('wpml_translate_single_string', $wpml_question , $textdomain, $string_name);
    
    	$field['field_label']   = $wpml_question;  // Replace the title
    }
  • לאחר מכן, חפש את שורה 2184.
  • החלף את:
    $gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, rgar( $input, 'label' ) );
  • ב:
    // WPML Workaround for compsupp-7316 - Part II
    if ( class_exists('Sitepress') ) {
    	$string = rgar( $input, 'label' );
    	$textdomain = 'WordPress';
    	$string_name = 'WPML Workaround : '.substr($string, 0, 20);
    
    	$wpml_default_lang = apply_filters('wpml_default_language', NULL );
    	$wpml_current_lang = apply_filters( 'wpml_current_language', NULL );
    
    	if ($wpml_default_lang == $wpml_current_lang ) {
    		do_action( 'wpml_register_single_string', $textdomain, $string_name, $string );
    	}	
    	// Apply the translation to the string
    	$string = apply_filters('wpml_translate_single_string', $string , $textdomain, $string_name);
    
    	$wpml_poll_label   = $string;  // Replace the title
    }
    $gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, $wpml_poll_label );

כל התקלות הידועות