qtranslate / qtranslate-xt

qTranslate-XT (eXTended) - reviving qTranslate-X multilingual plugin for WordPress. A new community-driven plugin soon. Built-in modules for WooCommerce, ACF, slugs and others.
GNU General Public License v2.0
550 stars 103 forks source link

Buddypress: LSB with Profile Fields, Member Types, and Groups/Group Types #1258

Open bokamm opened 1 year ago

bokamm commented 1 year ago

Hallo! I started including the buddypress plugin on an English (primary)/German (secondary) site (twenty twenty-one theme, WP 6.1.1). Language switching works fine on the frontend (have been using qtranslate-x(t) on another site for years > so a quick but heartfelt thanks here!). However, language switching does not work in the backend for extended profile fields, groups, and types — in all modes (language switching buttons, raw, single language) the only way working is tags ( [:en][:de][:] ), which remain visible as is in each mode (see screenshot). I would be ok with it if I was the only one working with the site but others will do so too. Is there a way to make the LSB or single language mode work on types and profile fields? Something I need to add to the buddypress/i18n-config.json? I am sorry if I ask something obvious but in the past, everything worked with most plugins and things I myself added to functions.php. Buddypress is the first where I run into issues. Any help appreciated!

buddypress_membertype
bokamm commented 1 year ago

So, I learned to understand (a bit) how the JSON configuration works and managed to have LSBs displayed and function on the Profile Field input screen (bp_profile1 screenshot), with the code below.

bp_profile1
{
    "vendor": {
        "plugins/buddypress": "1.0"
    },
    "admin-config": {
        "users": {
            "pages": {
                "users.php": "bp-profile-setup"
            },
            "anchors": {
                "option_page": {
                    "where": "before,after"
                }
            },
            "forms": {
                "bp-xprofile-add-field": {
                    "fields": {
                        "title": {},
                        "description": {},
                        "selectbox_option": {}
                    }
                }
            }
        },
        "front-config": {
            "all-pages": {
                "filters": {
                    "text": {
                        "bp_get_activity_action": "20",
                        "bp_get_activity_content_body": "20",
                        "bp_get_activity_content": "20"
                    }
                }
            }
        }
    }
}

(The front-config is from the original i18n-config file that came with qtranslate-xt) So, it works with name and description but does not work for input fields of dropdown menu options, for example. And I confess my understanding to be limited to add that. Identifying the correct field name eludes me.

The Profile Fields overview page, however, continues to display only language tags and does not follow the set admin language (see screensot 2). LSBs also do not work here on the TinyMCE editor...

bp_profile2

If anyone has done the work for Buddypress already, a helping hand would be much appreciated. What I do not understand is why the LSBs do not work with group types and member types, which are simply custom taxonomies (bp_group_type, bp_member_type). They are accessed via edit-tags.php, so should LSBs not work there out of the box?

I searched the Buddypress forums but found no post or info about making the backend work with qtranslate-x(t). Is there something missing or blocking in the Buddypress plugin itself?

Any help or pointer is much appreciated!