"User account" is the title that an anonymous user see for the "Create new account," "Log in," and "Request new password" pages. Replacing "User account" with "Registration" using $conf['locale_custom_strings_en']
would cause the string to be replaced in every place where "User account" is used, which is not correct.
The solution is to replace the title callback used for user with another title callback. Create a custom module, or add the following code to the custom module you are already using.
function mymodule_menu_alter(&$items) {
if (isset($items['user'])) {
$items['user']['title callback'] = 'mymodule_user_title';
}
}
function mymodule_user_title() {
if (!user_is_logged_in()) {
switch (current_path()) {
case 'user':
case 'user/login':
return t('Log in');
case 'user/register':
return t('Create new account');
case 'user/password':
return t('Request new password');
default:
return t('User account');
}
}
else {
return t('My account');
}
}
The code I used for mymodule_user_title()
is exactly the same code used by Drupal 8 in its user_menu_title().
Other solutions, such as using the String Overrides module don't work too, as they replace the string independently from the context, which is important in this case. Users who are in the page for requesting a new password should not read "Register" as title because they are not registering.
$conf['locale_custom_strings_en']
? As far as I know, it should work.