WPML
Status
Resolved
Reported for
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Resolved in
BuddyPress Multilingual 1.8.0
Related plugin/theme
BuddyPress

Overview of the issue

The BuddyPress plugin allows you to create new profile fields which you can translate using WPML’s BuddyPress Multilingual glue plugin. However, even if those fields appear as translated in WPMLString Translation, those translations are not visible in the front-end.

Workaround

Please, be sure of making a full backup of your site before proceeding.

  1. Add the following code to the functions.php file.
     //WPML Workaround wpml_compsupp6144
    add_filter( 'bp_get_the_profile_field_value', 'wpml_compsupp6144_translate_buddypress_profile_fields', 10, 3 ); 
     
    function wpml_compsupp6144_translate_buddypress_profile_fields( $value, $type, $id ) {
         
        if ($type == 'textbox' || $type == 'wp-textbox' || $type == 'wp-biography') {
            //remove html tags from value and limit it's size, so we can use it as string name
            $filtered_value = substr(strip_tags($value), 0, 60);
            //register string
            do_action( 'wpml_register_single_string', 'BuddyPress Profile Fields', $type.' - '.$filtered_value , $value );
            //translate string
            $value = apply_filters('wpml_translate_single_string', $value, 'BuddyPress Profile Fields', $type.' - '.$filtered_value  );
        }   
        
        return $value;
    } 
  2. Visit the profile page on the front-end. This will register the fields for translation.
  3. Go to WPMLString Translation and translate the field values under the BuddyPress Profile Fields domain.
  4. Go back to the profile page on front-end. The fields should now be translated.

All known issues →