- Trạng thái
- Đã giải quyết
- Đã giải quyết trong
- 0.3.0
- Plugin/giao diện liên quan
- Ninja Forms
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Ninja Forms có một tính năng mới mang tên Các trường lặp lại. Tính năng này hiện chưa có sẵn để dịch trong Trình biên tập dịch thuật nâng cao của chúng tôi. Tuy nhiên, chúng tôi đang lên kế hoạch để sớm hỗ trợ tương thích.
Giải pháp tạm thời
- Vui lòng sao lưu toàn bộ trang web của bạn trước khi tiếp tục.
- Bây giờ bạn đã chuẩn bị sẵn bản sao lưu, chúng ta cần sửa đổi 2 tệp:
- Mở /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.
- Tìm dòng 76:
$package->registerField( $field->get_id(), $field->get_settings() );
- Và ngay sau đó thêm:
// 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 ); } } - Sau đó mở /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.
- Tìm dòng 314:
return $data;
- Và ngay trước đó thêm:
// 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 ); } } } } }
Các bước tiếp theo
Chúng tôi sẽ giải quyết vấn đề này trong phiên bản tiếp theo của Ninja Forms Multilingual.