80 lines
2.3 KiB
PHP
80 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Drupal\content_translation;
|
|
|
|
use Drupal\Core\Entity\EntityInterface;
|
|
|
|
/**
|
|
* Provides an interface for common functionality for content translation.
|
|
*/
|
|
interface ContentTranslationManagerInterface {
|
|
|
|
/**
|
|
* Gets the entity types that support content translation.
|
|
*
|
|
* @return \Drupal\Core\Entity\EntityTypeInterface[]
|
|
* An array of entity types that support content translation.
|
|
*/
|
|
public function getSupportedEntityTypes();
|
|
|
|
/**
|
|
* Checks whether an entity type supports translation.
|
|
*
|
|
* @param string $entity_type_id
|
|
* The entity type.
|
|
*
|
|
* @return bool
|
|
* TRUE if an entity type is supported, FALSE otherwise.
|
|
*/
|
|
public function isSupported($entity_type_id);
|
|
|
|
/**
|
|
* Returns an instance of the Content translation handler.
|
|
*
|
|
* @param string $entity_type_id
|
|
* The type of the entity being translated.
|
|
*
|
|
* @return \Drupal\content_translation\ContentTranslationHandlerInterface
|
|
* An instance of the content translation handler.
|
|
*/
|
|
public function getTranslationHandler($entity_type_id);
|
|
|
|
/**
|
|
* Returns an instance of the Content translation metadata.
|
|
*
|
|
* @param \Drupal\Core\Entity\EntityInterface $translation
|
|
* The entity translation whose metadata needs to be retrieved.
|
|
*
|
|
* @return \Drupal\content_translation\ContentTranslationMetadataWrapperInterface
|
|
* An instance of the content translation metadata.
|
|
*/
|
|
public function getTranslationMetadata(EntityInterface $translation);
|
|
|
|
/**
|
|
* Sets the value for translatability of the given entity type bundle.
|
|
*
|
|
* @param string $entity_type_id
|
|
* The entity type.
|
|
* @param string $bundle
|
|
* The bundle of the entity.
|
|
* @param bool $value
|
|
* The boolean value we need to save.
|
|
*/
|
|
public function setEnabled($entity_type_id, $bundle, $value);
|
|
|
|
/**
|
|
* Determines whether the given entity type is translatable.
|
|
*
|
|
* @param string $entity_type_id
|
|
* The type of the entity.
|
|
* @param string $bundle
|
|
* (optional) The bundle of the entity. If no bundle is provided, all the
|
|
* available bundles are checked.
|
|
*
|
|
* @returns bool
|
|
* TRUE if the specified bundle is translatable. If no bundle is provided
|
|
* returns TRUE if at least one of the entity bundles is translatable.
|
|
*/
|
|
public function isEnabled($entity_type_id, $bundle = NULL);
|
|
|
|
}
|