8.3.x bootstrap.inc t($string, array $args = [], array $options = [])
8.0.x bootstrap.inc t($string, array $args = array(), array $options = array())
8.1.x bootstrap.inc t($string, array $args = array(), array $options = array())
8.2.x bootstrap.inc t($string, array $args = array(), array $options = array())
8.4.x bootstrap.inc t($string, array $args = [], array $options = [])
4.6.x common.inc t($string, $args = 0)
4.7.x common.inc t($string, $args = 0)
5.x common.inc t($string, $args = 0)
6.x common.inc t($string, $args = array(), $langcode = NULL)
7.x bootstrap.inc t($string, array $args = array(), array $options = array())

Translates a string to the current language or to a given language.

In order for strings to be localized, make them available in one of the ways supported by the Localization API. When possible, use the \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise create a new \Drupal\Core\StringTranslation\TranslatableMarkup object directly.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.


string $string: A string containing the English text to translate.

array $args: (optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options: (optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the Internationalization topic for more information about string contexts.

Return value

\Drupal\Core\StringTranslation\TranslatableMarkup An object that, when cast to a string, returns the translated string.

See also




Related topics

2137 calls to t()
AccessDeniedTest::testAccessDenied in core/modules/system/src/Tests/System/AccessDeniedTest.php
AccessPermissionTest::testAccessPerm in core/modules/user/src/Tests/Views/AccessPermissionTest.php
Tests perm access plugin.
AccessRoleUITest::testAccessRoleUI in core/modules/user/src/Tests/Views/AccessRoleUITest.php
Tests the role access plugin UI.
AccountPermissionsCacheContext::getLabel in core/lib/Drupal/Core/Cache/Context/AccountPermissionsCacheContext.php
Returns the label of the cache context.
ActionListBuilder::buildHeader in core/modules/action/src/ActionListBuilder.php
Builds the header row for the entity listing.

... See full list

103 string references to 't'
BasicSyntaxTest::testGetFullQualifiedTableName in core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php
Tests \Drupal\Core\Database\Connection::getFullQualifiedTableName().
BasicSyntaxTest::testLikeBackslash in core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php
Tests a LIKE query containing a backslash.
BasicSyntaxTest::testLikeEscape in core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php
Tests escaping of LIKE wildcards.
BulkDeleteTest::testDeleteField in core/modules/field/tests/src/Kernel/BulkDeleteTest.php
Verify that deleting a field leaves the field data items in the database and that the appropriate Field API functions can operate on the deleted data and field definition.
DatabaseTestController::pagerQueryEven in core/modules/system/tests/modules/database_test/src/Controller/DatabaseTestController.php
Runs a pager query and returns the results.

... See full list


core/includes/bootstrap.inc, line 300
Functions that need to be loaded on every Drupal request.


function t($string, array $args = array(), array $options = array()) {
  return new TranslatableMarkup($string, $args, $options);


LeisureLarry’s picture

Beware that the interface language (and not the content language) is used as current language.