Another follow-up: it turns out this is because of a plugin I was using – Multilanguage by BestWebSoft… I would really love to keep using this plugin (I’ve been hunting for translation plugins for over a month and this is the only one I’ve found that actually does what I need it to do translation-wise)
Is there any way to make the plugin BuddyPress-Compatible?
Try downloading the following:
Rename the files to buddypress-de_DE.po and buddypress-de-DE.mo respectively.
Then, move the files to /wp-content/languages/plugins/.
Since the translation is not 100% complete, you might see some English strings.
Let me know if that works for you.
Thanks for your answer. I’ll try to help there.
Since my project is pretty urgent, is it possible to fetch the actual translation for the moment?
I think the German translation is not fully 100% translated, which is preventing WordPress from fetching the latest German translation for BuddyPress.
If you are able to help translate the remaining strings, please visit:
https://translate.wordpress.org/locale/de/default/wp-plugins/buddypress
Also, read the following guide to find out how to contribute towards the translation:
translate.wordpress.org (GlotPress)
hi,
I have wanted to translate this plugin in French but I made changes with loco translate ( translation plugin) as poedit
It takes into account, but no changes on the site
Why ?
Thank you
Are you using BuddyPress Multilingual as well?
My guess is that BuddyPress has newer translation strings in v2.4.0 and you’ll need to update the BuddyPress-specific strings on your WPML install to reflect that.
Read their “Translating profile fields” tutorial:
BuddyPress Multilingual
They also have a support forum here:
https://wpml.org/forums/topic-tag/buddypress/
It might be that their plugin will need to be updated.
If it ends up that this is indeed a BuddyPress problem, please let us know.
Are you sure that the translation exist ? Have you a buddypress-xx_XX.mo file ? Where xx_XX is the iso of your language (eg en_US).
mo is a compiled format and the only file that php need to translate your strings.
To get such file, you need to use a language compilator like poEdit. Changing strings in only buddypress-xx_XX.po has no effect on the translation. This format is a simple text format intended to be used by the translator.
And the buddypress.pot (note the final T) is also a text format file which contains the list of all strings you can translate.
Where do you add your copy and which language do you use ?
Still need help with this people. Anyone else experienced issues uploading translation exactly as stated in the BP codex?
Is there any work arounds?
I really need to update the word friend to business connection and connection across the entire site.
No I don’t think so.
The alternative is to change the text by way of creating your own translation of it using Poedit.
See the following:
Customizing Labels, Messages, and URLs
The poedit program, used for editing and creating the translation files is available for free here:
https://poedit.net/download
Well as soon as I post it I figure it out.. go figure 🙂
In case anyone else is confused here’s what I did and I had no clue going into it.
Use this https://codex.buddypress.org/getting-started/customizing/customizing-labels-messages-and-urls/ for a reference on what to name your files and where to put them. (.po and .mo files, trust me I did not even know what these were)
Download this editor/compiler here: https://poedit.net/download (it’s free!)
You will need this to create (compile) the .mo file (if you want to know what these files are google it, that’s what I did)
Use the buddypress link above and go to the “Translating with PoEdit” section, it will walk you through how to open the file with Poedit.
(This part “This will open a settings dialog and you will be asked to fill in some details such as project name which we’ll skip. Click on ‘OK’ and you’ll be asked to save your language file.” did not happen for me, it asked me my language and I selected English United States, choose what you desire.)
Now remember in my case I needed to change a few buddypress page titles.
Example: I wanted to change the buddypress title “Groups” to “Chat Rooms” –
While in Poedit with your .po file open, where you need to change it seems to be near the bottom of the file. Scroll down until you see something like this “Site-Wide Activity [component directory title]” (this was the first one for me). These are the buddypress page titles, this is where you can change them.
Click on the title you want to change, my case Groups, below you will see “Source text” this is where “Groups” is showing. In the text area under that you will see “Translation”, this is where I typed “Chat Rooms”, as this is the title I would like it changed to.
When finished Save your .po file. Back to Poedit, click File, select “Compile to MO” , save you .mo file as directed in the buddypress link above.
Follow the rest of the instructions in the link to upload your .po and .mo files.
I hope this helps out others who are new to buddypress! 🙂
Tried that too.
Translations are as they should be, files are in the folder they should be in.
I guess my next question is, why isn’t this introduced as a plugin settings option?
I’m currently trying to use BuddyPress for a business connection site, and wanted to change the word Friend to Business Connection or Connection.
I have had a look through the Language Translation setup and have followed the steps outlined, although no changes are apparent on my site.
I am currently running WP 4.3.1 & BP 2.3.4.
Hi, perhaps you omited a dot or another php element. Anyway, below snippet add same fonction to members directory by using the appropriate filter, so you haven’t to touch the template.
Add it to child theme functions.php or bp-custom.php
Show user’s role on member directory
function who_are_you_dir() {
$user = new WP_User( bp_get_member_user_id() );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role ) {
/**
* Fetch the user's role. See https://codex.wordpress.org/Roles_and_Capabilities
* _e('role name', 'text_domain' ) allows use of translation
* else use echo "role name";
*/
// Output
if ( $role == 'administrator') {
echo "Administrator";
}
if ( $role == 'subscriber') {
echo "Subscriber";
}
if ( $role == 'contributor') {
echo "Contributor";
}
if ( $role == 'author') {
echo "Author";
}
if ( $role == 'editor') {
echo "Editor";
}
}
}
}
add_filter ( 'bp_directory_members_item', 'who_are_you_dir' );
To show user’s role(s) on his profile, you can use this:
Show user’s role on profile
function blablabla() {
$user = new WP_User( bp_displayed_user_id() );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role )
echo $role;
}
}
add_action( 'bp_before_member_header_meta', 'blablabla' );
WPML seems to be the most sophisticated translation engine, however it adds a lot of complexity to the site and using it with Buddypress tends to mean you will have a slow site.
Can you please provide me with the best way to translate buddypress, because I have followed many ways provided an no one actually worked for me!
I have buddypress and wordpress updated (newest version) and I want to translate my buddypress inot Arabic Language…I need my wordpress to remain in english (Dashboard), but show all buddypress on my site in Arabic
Thanks a lot in advance
Hi @3t_mj,
this can be done CSS, using :after pseudo selector. All labels containing (required) have a for attribute which let you select them individually. You can also apply a rule by field type.
As the string (required) is in translation, remove it from there and use & nbsp;(without space after & ) in place of.
Here a working example, with both technique.
/* Register bp section */
#profile-details-section .field_type_textbox label:after {
content: " *";
color: red;
position: relative;
}
/* Register WP section */
#basic-details-section label[for="signup_username"]:after {
content: " *";
color: red;
position: relative;
}
Check the translation file: buddypress_CN.po (with a text editor like Notepad++) and verify that email text are all in plain text. Those strings shouldn’t contain any html entities.
Read from here for more details about email customization:
https://buddypress.org/support/topic/customizing-emails-template/
https://buddypress.org/support/topic/registration-process/
Hi,
When I go to the member area: profile > edit > Name
Please kindly help to advise where I can translate ‘Name’ as I can’t translate it in the buddypress po/mo file. Thanks very much in advance!
Before saying it’s not working, please follow the instruction.
Read my previous answer slowly and check the path i indicated.
wp-content/languages/plugins/buddypress-es_ES.mo
According to the screenshot, your site use the mexican version of WordPress.
Unfortunatly, there is no mexican spanish translation avaible for BuddyPress !
This force you to use spanish (es_ES and NOT es_MX) as site language to get automatically the es_ES BP translation.
In other words, you can’t use mexican language on main site if you want BP in spanish.
Translation can be found here: https://translate.wordpress.org/projects/buddypress/2.2.x
@alex42152,
The main site language should be set to spanish first.
See in WP dashboard > Stettings > General
Normally, this settings allows automatic translation file upload of BuddyPress and bbPress (if installed).
If not, you can add manually the language files in the wp-content/languages/plugins/ folder to get:
wp-content/languages/plugins/buddypress-es_ES.mo
wp-content/languages/plugins/buddypress-es_ES.po
Each version of BP comes also with its own translatable strings file, which is at the BP plugin root.
wp-content/plugins/buddypress/buddypress.pot
Hi to you all,
Deu to translation of the buddy press our users are getting quite confused while entering all the details. Even skilled users mix fields up and start complaining after registring that they cannot login as their password is not correct. In fact what I do see is that they username is not “correct” as they mix up the native “name” field from buddy press and the username field from wordpress. So here is what I would like to do but I am having difficulties to figure out how this to be done.
This would be the registration form form wordpress with buddy press:
1. Username — > I want to “hide this field”
2. E-mail address –> visible
3. Password –> visible
4. Confirom password –> My customer wants to hide this (Although I do not think wise… but.. )
5. Name –> I want to hide this as well (not 100% sure yet.. but I am going to ask anyway)
It is of course a piece of cake to comment out these fields in the register.php but as expected this will give errors when someone is registering.
So this is what I would like to do as I am aware of the fact that wordpress philosophy is to use username and password for registering and not only e-mail address.
Clone the $_POST –> e-mail variable into the username field –> this would then provoke the username and e-mail be the same.
Because I am hiding the e-mail confirmation e-mail address I have to clone also the “first” e-mail field to the “second” one as validation also is not going through if there are not two e-mails.
There are quite some plugins for wordpress doing this trick, but because buddy press is installed they are not doing their job as should be as buddy press is overruling the registration process.
Is there anyone who has better knowledge achieving this? I know it would be just a case of storing the post values to the correct variables in the “action” file of the form. Unfortunately WordPress is not “pure” PHP and I do not seem to be able to figure out where the “action” is going, in other words, where should I change the variables that should be send by the form and how to achieve that the validation of the form at the end of the register.php will ignore the “missing” fields.
Hope that someone can help me out.
Best regards,
in an older installation I did the same (I hope so) and it works fine.
Yesterday I had some issues with the profile header and I reinstalled buddypress. Now, some translations are missing…
Hi,
On the page https://codex.buddypress.org/translations/deutsch/ I found a link to the translation files for using buddypress in german.
I downloaded them (but they seem to be relatively old).
Then I uploaded them into the following folders.
/plugins/buddypress/bp-languages/
wp-content/languages
wp-content/languages/buddypress/
wp-content/languages/plugins
Last I added define( ‘WPLANG’, ‘de_DE’ ); to my wp-config.php
Some words are translatet, some are not.
Is there a better way?
The default BuddyPress site setup only supports a single activity, members, groups directory page.
One solution is to create your own custom page templates, and embed the code for the activity, member and group loops in the template. You’d then assign it to your duplicate pages. You can read more about coding your own loops in the documentation section of this site.
You could also look to see if it’s possible to use the language files — dynamically loading the appropriate text domain translations of the BuddyPress text depending which language the user has selected. In this scenario, you’d work with the default ‘single’ page setup.
Perhaps too late for your site (if you’ve gone down the polylang route), but for all our multi language solutions, we go the multisite approach and using the Multilingual Press Pro plugin. It gives a really clean solution. Remember to enable bp multiblog if you switch to this approach.
Hi,
Unfortunately, I have the problem that suddenly two buttons “Register” (German calls “anmelden”) is. The links are okay, but the word is incorrect and should be Login / Register. I have reviewed the translations and also tried the orginale German language file. What can I do there?
Please check times on https://so-geht-bildung-heute.de
Theme is WPLMS.
Login Form is on the TOP