User registration email translation I am working on an English/Arabic website, the user can switch between the two languages using the language switch block, I wanted to translate the email sent to the user after registration. So after some digging, I figured out I could do this using the account setting (translate tab), I added the Arabic translation of the email; then, after testing, I found out that the registration email is still sent in English.

Shouldn't a user registered in the Arabic language get an Arabic registration email?

I also found out that the user's preferred language is English, even after registering in the Arabic language.

These are my language detection settings.
As you said you have configured the translations correctly. 
On the account settings page you will be able to see the Translate Settings tab here /admin/config/people/accounts


After clicking on the link here you will find the enabled languages with options in front of them



Click on edit and then you will be able to see all the Account settings to be translated including mail where you can write / modify the text in mail like in following screenshot.