- الحالة
- محلولة
- تم حلها في
- 0.3.0
- الإضافة/القالب ذو الصلة
- Ninja Forms
- وسوم الموضوع
- Compatibility
نظرة عامة على المشكلة
تحتوي إضافة Ninja Forms على ميزة جديدة تُسمى الحقول القابلة للتكرار. هذه الميزة غير متاحة للترجمة بعد في محرر الترجمة المتقدم الخاص بنا. ومع ذلك، نخطط لجعلها متوافقة قريباً.
حل بديل مؤقت
- يُرجى أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.
- الآن بعد أن أصبحت النسخة الاحتياطية جاهزة، نحتاج إلى تعديل ملفين:
- افتح /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.