WPML
상태
해결됨
보고된 제품
Gravity Forms Multilingual 1.7.2
해결된 버전
Gravity Forms Multilingual 1.8.0
관련 플러그인/테마
Gravity Forms
주제 태그
Compatibility

문제 개요

Gravity Forms 플러그인 사용자는 Conversational Forms 애드온Continue 버튼 텍스트가 WPML을 통해 번역 불가능한 문제를 겪을 수 있습니다.

임시 해결 방법

진행하기 전에 사이트의 전체 사이트 백업을 완료했는지 확인하세요.


  • …/wp-content/plugins/gravityformsconversationalforms/includes/theme-layers/layers/views/class-conversational-field-markup.php 파일을 여세요.

  • 67번 줄을 찾으세요.

  • 다음 코드를:
    private function get_field_footer( $form_id, $field ) {
    	$continue_button_settings = $this->get_setting( 'continue_button_text', $form_id );
    
    	/* Translators: ⏎: Symbol for enter key on keyboard. */
    	$field_nav_text = esc_html__( 'Press Enter', 'gravityformsconversationalforms' );
    
    	return '<div class="gform-conversational__field-footer"><div class="gform-conversational__field-nav"><button type="button" class="gform-conversational__nav-button gform-conversational__nav-button--next-field_' . $form_id . '_' . $field['id'] .' gform-button active" data-js="gform-conversational-nav-field-next">' . $continue_button_settings . '</button>' .
    		'<span class="gform-conversational__field-nav-helper-text">' . $field_nav_text . '<span class="gform-conversational__field-nav-helper-icon gform-orbital-icon gform-orbital-icon--arrow-back" aria-hidden="true"></span></span></div></div>';
    }

  • 다음으로 교체하세요:
    private function get_field_footer( $form_id, $field ) {
    	$continue_button_settings = $this->get_setting( 'continue_button_text', $form_id );
    
    	// WPMl Workaround for compsupp-7398
    	if ( class_exists('Sitepress') ) {
    
    		$textdomain = 'gravityforms';
    		$string_name = 'Gravity Forms: '.substr($string, 0, 20);
    	
    		if ( apply_filters('wpml_default_language', NULL ) == apply_filters( 'wpml_current_language', NULL )) {
    			do_action( 'wpml_register_single_string', $textdomain, $string_name, $continue_button_settings);
    		}	
    		// Apply the translation to the string
    		$continue_button_settings = apply_filters('wpml_translate_single_string', $continue_button_settings , $textdomain, $string_name);
    	}
    	
    
    	/* Translators: &#9166;: Symbol for enter key on keyboard. */
    	$field_nav_text = esc_html__( 'Press Enter', 'gravityformsconversationalforms' );
    
    	return '<div class="gform-conversational__field-footer"><div class="gform-conversational__field-nav"><button type="button" class="gform-conversational__nav-button gform-conversational__nav-button--next-field_' . $form_id . '_' . $field['id'] .' gform-button active" data-js="gform-conversational-nav-field-next">' . $continue_button_settings . '</button>' .
    		'<span class="gform-conversational__field-nav-helper-text">' . $field_nav_text . '<span class="gform-conversational__field-nav-helper-icon gform-orbital-icon gform-orbital-icon--arrow-back" aria-hidden="true"></span></span></div></div>';
    }

  • 원본 언어로 문제가 발생한 페이지를 방문하세요. 그러면 새 문자열이 등록됩니다.

  • WPML > 문자열 번역으로 이동하여 문자열을 번역하세요. 해당 문자열은 gravityforms 텍스트 도메인에 있습니다.

알려진 모든 문제 →