tmgmt_file.plugin.inc in Translation Management Tool 7
Provides the file translator plugin controller.
File
translators/file/tmgmt_file.plugin.incView source
<?php
/**
* @file
* Provides the file translator plugin controller.
*/
/**
* File translator plugin controller.
*/
class TMGMTFileTranslatorPluginController extends TMGMTDefaultTranslatorPluginController {
/**
* {@inheritdoc}
*/
public function canTranslate(TMGMTTranslator $translator, TMGMTJob $job) {
// Anything can be exported.
return TRUE;
}
/**
* {@inheritdoc}
*/
public function requestTranslation(TMGMTJob $job) {
$name = "JobID" . $job->tjid . '_' . $job->source_language . '_' . $job->target_language;
$export = tmgmt_file_format_controller($job
->getSetting('export_format'));
$path = $job
->getSetting('scheme') . '://tmgmt_file/' . $name . '.' . $job
->getSetting('export_format');
$dirname = dirname($path);
if (file_prepare_directory($dirname, FILE_CREATE_DIRECTORY)) {
$file = file_save_data($export
->export($job), $path);
file_usage_add($file, 'tmgmt_file', 'tmgmt_job', $job->tjid);
$job
->submitted('Exported file can be downloaded <a href="!link">here</a>.', array(
'!link' => file_create_url($file->uri),
));
}
}
/**
* {@inheritdoc}
*/
public function hasCheckoutSettings(TMGMTJob $job) {
return $job
->getTranslator()
->getSetting('allow_override');
}
/**
* {@inheritdoc}
*/
public function defaultSettings() {
return array(
'export_format' => 'xlf',
'allow_override' => TRUE,
'scheme' => 'public',
// Making this setting TRUE by default is more appropriate, however we
// need to make it FALSE due to backwards compatibility.
'xliff_processing' => FALSE,
'xliff_cdata' => FALSE,
);
}
}
Classes
Name | Description |
---|---|
TMGMTFileTranslatorPluginController | File translator plugin controller. |