WPML
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.

Tất cả các lỗi đã ghi nhận →