public ContentEntityBase::getTranslation($langcode)
Gets a translation of the data.
The returned translation has to be of the same type than this typed data object.
Parameters
$langcode: The language code of the translation to get or LanguageInterface::LANGCODE_DEFAULT to get the data in default language.
Return value
$this A typed data object for the translated data.
Throws
\InvalidArgumentException If an invalid or non-existing translation language is specified.
Overrides TranslatableInterface::getTranslation
File
- core/lib/Drupal/Core/Entity/ContentEntityBase.php, line 719
Class
- ContentEntityBase
- Implements Entity Field API specific enhancements to the Entity class.
Namespace
Drupal\Core\Entity
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public function getTranslation( $langcode ) { // Ensure we always use the default language code when dealing with the // original entity language. if ( $langcode != LanguageInterface::LANGCODE_DEFAULT && $langcode == $this ->defaultLangcode) { $langcode = LanguageInterface::LANGCODE_DEFAULT; } // Populate entity translation object cache so it will be available for all // translation objects. if ( $langcode == $this ->activeLangcode) { $this ->translations[ $langcode ][ 'entity' ] = $this ; } // If we already have a translation object for the specified language we can // just return it. if (isset( $this ->translations[ $langcode ][ 'entity' ])) { $translation = $this ->translations[ $langcode ][ 'entity' ]; } // Otherwise if an existing translation language was specified we need to // instantiate the related translation. elseif (isset( $this ->translations[ $langcode ])) { $translation = $this ->initializeTranslation( $langcode ); $this ->translations[ $langcode ][ 'entity' ] = $translation ; } if ( empty ( $translation )) { throw new \InvalidArgumentException( "Invalid translation language ($langcode) specified." ); } return $translation ; } |
Please login to continue.