Welcome Email NOT translated when Admin Approval is activated

6 years 8 months ago #295753 by MartinMue
Hi there!

I've observed a strange behavior when registering new users.

I have a multi language setup with German, French, English. Joomla content default language is German, language switching is controlled by the Joomla language switcher plugin.

Look at the attached PDF files:

If I set "Admin Approval" to "No", then everything works fine:
All steps of registration and mail confirmation are in the selected language.
(Files: 101-??-GenPass-NoApprov-MailConfirm*.pdf)

Problem: If I set "Admin Approval" to "Yes", then:
All steps of registration and mail confirmation are in the selected language, except the last "Welcome Email" which is always in the CB default language English
(Files: 111-??-GenPass-AdmApprov-MailConfirm*.pdf, very last page of each file)


In the CB core registration configuration, the "Welcome Email Body" ist set to localization string "YOUR_REGISTRATION_IS_APPROVED_MESSAGE".

I use language overrides. If "Admin Approval" is set to "No", then the "Welcome Email Body" text is read from the override.php of the corresponding language. If "Admin Approval" is set to "Yes", then the "Welcome Email Body" text is always read from the "default_language/override.php"

Do you think it's a CB bug or a config error?

Best regards, Martin

Please Log in to join the conversation.

6 years 8 months ago #295754 by MartinMue
Oh, sorry, my configuration:

CB 2.1.2, from 2017-01-20

System config:
PHP Built On	Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
Database Version	5.5.55-0+deb7u1-log
Database Collation	utf8_general_ci
Database Connection Collation	utf8mb4_general_ci
PHP Version	7.0.21
Web Server	Apache
WebServer to PHP Interface	cgi-fcgi
Joomla! Version	Joomla! 3.7.3 Stable [ Amani ] 4-July-2017 08:03 GMT
Joomla! Platform Version	Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT

Please Log in to join the conversation.

6 years 8 months ago - 6 years 8 months ago #295785 by krileon
The registration workflows emails should all send in the language of the person receiving the email. So in the case of the Welcome email it should be in the language of the person being approved. Are you saying this is not the case when using approval? How are you approving users? Frontend through the approval page, frontend through user edit, backend user management, or backend user edit? Note the language of the user is not based off Joomlas language switcher. It's based off whatever their selected language is during registration or in profile edit via the params field.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: MartinMue

Please Log in to join the conversation.

6 years 8 months ago #295888 by MartinMue
Thanks for your fast answer. Now I got the problem and a workaround - but the "bug" is still there!
(Or perhaps it's really a feature...)

krileon wrote: The registration workflows emails should all send in the language of the person receiving the email. So in the case of the Welcome email it should be in the language of the person being approved.

When registering a new user account, that new user doesn't have a language set in the registration form. But via the Joomla language switcher, one can switch between
  1. /index.php/de/cb-registration
  2. /index.php/en/cb-registration
  3. /index.php/fr/cb-registration

And then the registration workflows emails are sent in the respective language

krileon wrote: How are you approving users? Frontend through the approval page, frontend through user edit, backend user management, or backend user edit?

(1)

Before my last post, I used the backend user management
/administrator/index.php?option=com_comprofiler&view=showusers
and clicked on the "pending" icon in the "Approved" column.

My backend is set to English, so the welcome mail was sent in English - even to users, who made the whole registration workflow in French.

(2)

Now I approved the user through the frontend approval page. When I log in as admin, the frontend is set to German:
/index.php/de/cb-moderate-user-approvals

Now when I approve the user, the welcome mail is sent in German - even to users, who made the whole registration workflow in French.

But when I change the frontend approval page to french via the Joomla language switcher:
/index.php/fr/cb-moderate-user-approvals
then the welcome mail is sent in French - but even to users, who made the whole registration workflow in German, for instance.

krileon wrote: Note the language of the user is not based off Joomlas language switcher. It's based off whatever their selected language is during registration or in profile edit via the params field.


Obviously the language of the welcome email does NOT depend on the user registrations settings. It's determined by the language of the approval page (frontend or backend).

So my workaround is:

Approve the user with the frontend approval page and manually set the language to correspond withe the registered user:
/index.php/(de|en|fr)/cb-moderate-user-approvals

Please check this. I can send you detailed screenshots in a PDF file, if needed.

Best regards, Martin

Please Log in to join the conversation.

6 years 8 months ago #295912 by krileon
The language they select from the params field is the language it will send in. It does not care what the language they're viewing the site in is. It has to be stored to their user for CB to be able to determine the recipients language. The language switcher is not the language of the user. It's the language of the viewer. If no language is stored to the user then it will use the viewers language, which is what you're experiencing.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

6 years 8 months ago #295935 by MartinMue
OK, so it's not a bug. But it leaves the following problem:

I know how to set the frontend and backend language in the user profile -- either in the backend user management or in the frontend profile editor when registration is complete and the user can log in.

But during registration? How can a new user set his language in the first time registration? How can I add a language selector to the CB registration form?

Did I fail to see the solution?

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.324 seconds

Facebook Twitter LinkedIn