I'm trying to display the user's language settings field on the registration page, but no success so far.

I've tried using a template (form--user-register-form.html.twig). This works for other fields, like mail, name, but I don't know how to access the language setting field.

I also tried form_alter (both in the theme and module MODULE_user_register_form_alter), and set $form['language']['#access'] = true; This hook doesn't seem to work at all, nothing happens when I try to use it (print out variables for example).


Did you check "Enable translation" on /admin/config/people/accounts?

Then, did you go to /admin/config/people/accounts/form-display and make sure the "Language code" field was moved out of "Disabled"?

Also, did you mean to name your twig file form--user-register-from.html.twig or form--user-register-form.html.twig

  • I checked "Enable translation" (what does that do btw?), but it didn't make any difference. The language code is also enabled. I also don't know what's the difference between the language code field and the language settings field though. The 'from' was just a typo. Interestingly, I could set the $form['language']['#access'] = true; in the twig template, and it made the language settings box visible, but the select is missing from it. I wonder if it's maybe a permission issue (something that the anonymous user doesn't have, but I couldn't find anything). – keszthelyi Feb 27 '18 at 9:22
  • The only way I could display it, if I give the Anonymous user the permission to 'Administer users'. That is not really a solution, but that seems to be the permission that makes it available. – keszthelyi Feb 27 '18 at 9:48
  • If the D7 solution is any guide, I think you need a form alter hook to change the #access value for the element. – Alfred Armstrong Feb 27 '18 at 11:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.