WPML
סטטוס
נפתר
נפתר בגרסה
0.3.0
תוסף/ערכת עיצוב קשורים
Ninja Forms
תגיות נושא
Compatibility

סקירה כללית של התקלה

ל־Ninja Forms יש תכונה חדשה בשם שדות חוזרים. תכונה זו עדיין אינה זמינה לתרגום בעורך התרגום המתקדם שלנו. עם זאת, אנו מתכננים להפוך אותה לתואמת בקרוב.

פתרון עוקף


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

  • כעת כשהגיבוי מוכן, עלינו לשנות 2 קבצים:

  • פתח את /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.

  • חפש את שורה 76:
    $package->registerField( $field->get_id(), $field->get_settings() );


  • ומיד אחריה הוסף:
    				// Register repeater fields strings
    				if ( 'repeater' === $field->get_settings( 'type' ) && $field->get_settings()['fields'] ) {
    					foreach ( $field->get_settings()['fields'] as $subfield) {
    						$package->registerField( $subfield['id'], $subfield );
    					}
    
    				}


  • לאחר מכן פתח את /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.

  • חפש את שורה 314:
    return $data;


  • ומיד לפניה הוסף:
    		// Translate repeater fields strings
    		if ( $data['fields'] ) {
    			foreach ( $data['fields'] as $key => $field ) {
    				$forTranslation = $this->fieldProperties->forTranslation( $field );
    				foreach ( $forTranslation as $propertyName => $translationSettings ) {
    					$stringValue = $this->fieldProperties->getValue( $field, $propertyName );
    					if ( $stringValue ) {
    						if ( $this->isArray( $stringValue, $translationSettings ) ) {
    							$field[ $propertyName ] = $this->translateOptions(
    								$stringValue,
    								$field['id'],
    								$translationSettings
    							);
    						} else {
    							$data['fields'][$key][$propertyName] = $this->translateString(
    								$stringValue,
    								$field['id'],
    								$propertyName
    							);
    						}
    					}
    				}
    			}
    		}

השלבים הבאים

אנו נפתור בעיה זו בגרסה הבאה של Ninja Forms Multilingual.

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