Checks if a module is registered as a translation handler for a given entity.
If no handler is passed, the function simply checks if there is any translation handler enabled for the given entity type.
$entity_type: The type of the entity whose fields are to be translated.
$handler: (optional) The name of the handler to be checked. Defaults to NULL.
TRUE, if the given handler is allowed to manage field translations. If no handler is passed, TRUE means there is at least one registered translation handler.
function field_has_translation_handler($entity_type, $handler = NULL) {
$entity_info = entity_get_info($entity_type);
if (isset($handler)) {
return !empty($entity_info['translation'][$handler]);
}
elseif (isset($entity_info['translation'])) {
foreach ($entity_info['translation'] as $handler_info) {
// The translation handler must use a non-empty data structure.
if (!empty($handler_info)) {
return TRUE;
}
}
}
return FALSE;
}