class Translation
Same name in other branches
- 9 core/lib/Drupal/Core/Annotation/Translation.php \Drupal\Core\Annotation\Translation
- 8.9.x core/lib/Drupal/Core/Annotation/Translation.php \Drupal\Core\Annotation\Translation
- 11.x core/lib/Drupal/Core/Annotation/Translation.php \Drupal\Core\Annotation\Translation
Defines a translatable annotation object.
Some metadata within an annotation needs to be translatable. This class supports that need by allowing both the translatable string and, if specified, a context for that string. The string (with optional context) is passed into t().
Hierarchy
- class \Drupal\Component\Annotation\AnnotationBase implements \Drupal\Component\Annotation\AnnotationInterface
- class \Drupal\Core\Annotation\Translation extends \Drupal\Component\Annotation\AnnotationBase
Expanded class hierarchy of Translation
Related topics
1 file declares its use of Translation
- TranslationTest.php in core/
tests/ Drupal/ Tests/ Core/ Annotation/ TranslationTest.php
59 string references to 'Translation'
- BlockTranslation::fields in core/
modules/ block/ src/ Plugin/ migrate/ source/ d7/ BlockTranslation.php - block_content_entity_type_alter in core/
modules/ block_content/ block_content.module - Implements hook_entity_type_alter().
- comment_test_entity_type_alter in core/
modules/ comment/ tests/ modules/ comment_test/ comment_test.module - Implements hook_entity_type_alter().
- ConfigTranslationFormBase::submitForm in core/
modules/ config_translation/ src/ Form/ ConfigTranslationFormBase.php - ContentTranslationController::overview in core/
modules/ content_translation/ src/ Controller/ ContentTranslationController.php - Builds the translations overview page.
File
-
core/
lib/ Drupal/ Core/ Annotation/ Translation.php, line 53
Namespace
Drupal\Core\AnnotationView source
class Translation extends AnnotationBase {
/**
* The string translation object.
*
* @var \Drupal\Core\StringTranslation\TranslatableMarkup
*/
protected $translation;
/**
* Constructs a new class instance.
*
* Parses values passed into this class through the t() function in Drupal and
* handles an optional context for the string.
*
* @param array $values
* Possible array keys:
* - value (required): the string that is to be translated.
* - arguments (optional): an array with placeholder replacements, keyed by
* placeholder.
* - context (optional): a string that describes the context of "value";
*/
public function __construct(array $values) {
$string = $values['value'];
$arguments = $values['arguments'] ?? [];
$options = [];
if (!empty($values['context'])) {
$options = [
'context' => $values['context'],
];
}
$this->translation = new TranslatableMarkup($string, $arguments, $options);
}
/**
* {@inheritdoc}
*/
public function get() {
return $this->translation;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
AnnotationBase::$class | protected | property | The class used for this annotated class. | ||
AnnotationBase::$id | public | property | The annotated class ID. | 1 | |
AnnotationBase::$provider | protected | property | The provider of the annotated class. | ||
AnnotationBase::getClass | public | function | Overrides AnnotationInterface::getClass | ||
AnnotationBase::getId | public | function | Overrides AnnotationInterface::getId | 1 | |
AnnotationBase::getProvider | public | function | Overrides AnnotationInterface::getProvider | ||
AnnotationBase::setClass | public | function | Overrides AnnotationInterface::setClass | ||
AnnotationBase::setProvider | public | function | Overrides AnnotationInterface::setProvider | ||
Translation::$translation | protected | property | The string translation object. | ||
Translation::get | public | function | Overrides AnnotationInterface::get | ||
Translation::__construct | public | function | Constructs a new class instance. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.