translate_user_role( string $name, string $domain = 'default' )

Translates role name.

Description Description

Since the role names are in the database and not in the source there are dummy gettext calls to get them into the POT file and this function properly translates them back.

The before_last_bar() call is needed, because older installations keep the roles using the old context format: ‘Role name|User role’ and just skipping the content after the last bar is easier than fixing them in the DB. New installations won’t suffer from that problem.

Top ↑

Parameters Parameters


(string) (Required) The role name.


(string) (Optional) Text domain. Unique identifier for retrieving translated strings.

Default value: 'default'

Top ↑

Return Return

(string) Translated role name on success, original name on failure.

Top ↑

Source Source

File: wp-includes/l10n.php

function translate_user_role( $name, $domain = 'default' ) {
	return translate_with_gettext_context( before_last_bar( $name ), 'User role', $domain );

Top ↑

Changelog Changelog

Version Description
5.2.0 Added the $domain parameter.
2.8.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by mahdiazarm

    Always make sure that the first letter of $name is Capitalized!
    For example this will fail and return the original $name

    translate_user_role( 'administrator' ); // return administrator

    but this one will return the translation of $name

    translate_user_role( 'Administrator' ); // return translation of Administrator

You must log in before being able to contribute a note or feedback.