| @@ -570,9 +570,17 @@ | ||
| 570 | 570 | if ( '' === $bfb_form_html ) { |
| 571 | 571 | |
| 572 | 572 | $render_args = array_merge( $custom_params, array( 'booking_type' => (int) $resource_id ) ); |
| 573 | 573 | |
| 574 | - $bfb_source = wpbc_lang( $bfb_source ); | |
| 574 | + /* | |
| 575 | + * Do not pass the complete Builder form through wpbc_lang(). Builder | |
| 576 | + * labels and option values may contain legacy [lang=LOCALE] markers. | |
| 577 | + * Parsing one of those inline markers as a whole-form language block | |
| 578 | + * truncates everything before/after the matching field and can leave an | |
| 579 | + * incomplete form on the front end. BFB multilingual forms are separate | |
| 580 | + * custom forms and are selected by their form slug. | |
| 581 | + */ | |
| 582 | + $bfb_source = (string) $bfb_source; | |
| 575 | 583 | |
| 576 | 584 | // Replace custom params in the source (legacy behavior). |
| 577 | 585 | if ( ! empty( $custom_params ) ) { |
| 578 | 586 | foreach ( $custom_params as $custom_params_key => $custom_params_value ) { |