- סטטוס
- נפתר
- נפתר בגרסה
- 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.