- Estado
- Abierto
- Notificado para
- Gravity Forms Multilingual 1.7.2
- Plugin/tema relacionado
- Gravity Forms
- Etiquetas de temática
- Compatibility
Resumen del problema
Si utiliza el plugin Gravity Forms Polls Add-On, es posible que experimente problemas por los que los resultados de las encuestas no muestran el contenido traducido al verlos en idiomas distintos al idioma predeterminado. Este problema ocurre principalmente cuando el parámetro del shortcode se establece en mode="results". Las traducciones funcionan correctamente cuando el modo se establece en mode=”poll”.
Solución alternativa
Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.
- Abra el archivo …/wp-content/plugins/gravityformspolls/class-gf-polls.php.
- Busque la línea 2140.
- Justo antes de:
$gpoll_output['summary'] .= $field['field_label'] . '</div></div>';
- Añada este código:
// 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 } - Luego, busque la línea 2184.
- Reemplace:
$gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, rgar( $input, 'label' ) );
- Por:
// 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 );