123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?php
- /**
- * @file
- * Cotains the test translator plugin.
- */
- class TMGMTTestTranslatorPluginController extends TMGMTDefaultTranslatorPluginController implements TMGMTTranslatorRejectDataItem {
- /**
- * {@inheritdoc}
- */
- protected $escapeStart = '[[[';
- /**
- * {@inheritdoc}
- */
- protected $escapeEnd = ']]]';
- /**
- * {@inheritdoc}
- */
- public function getDefaultRemoteLanguagesMappings() {
- return array(
- 'en' => 'en-us',
- 'de' => 'de-ch',
- );
- }
- /**
- * {@inheritdoc}
- */
- public function hasCheckoutSettings(TMGMTJob $job) {
- return $job->getTranslator()->getSetting('expose_settings');
- }
- /**
- * {@inheritdoc}
- */
- function requestTranslation(TMGMTJob $job) {
- // Add a debug message.
- $job->addMessage('Test translator called.', array(), 'debug');
- // Do something different based on the action, if defined.
- $action = isset($job->settings['action']) ? $job->settings['action'] : '';
- switch ($action) {
- case 'submit':
- $job->submitted('Test submit.');
- break;
- case 'reject':
- $job->rejected('This is not supported.');
- break;
- case 'fail':
- // Target not reachable.
- $job->addMessage('Service not reachable.', array(), 'error');
- break;
- case 'translate':
- default:
- // The dummy translation prefixes strings with the target language.
- $data = array_filter(tmgmt_flatten_data($job->getData()), '_tmgmt_filter_data');
- $tdata = array();
- foreach ($data as $key => $value) {
- $tdata[$key]['#text'] = $job->target_language . '_' . $value['#text'];
- }
- $job->submitted('Test translation created.');
- $job->addTranslatedData(tmgmt_unflatten_data($tdata));
- break;
- }
- }
- /**
- * {@inheritdoc}
- */
- function canTranslate(TMGMTTranslator $translator, TMGMTJob $job) {
- if (isset($job->settings['action']) && $job->settings['action'] == 'not_translatable') {
- return FALSE;
- }
- return parent::canTranslate($translator, $job);
- }
- /**
- * {@inheritdoc}
- */
- public function getSupportedTargetLanguages(TMGMTTranslator $translator, $source_language) {
- $languages = drupal_map_assoc(array('en', 'de', 'es', 'it', 'zh-hans', 'gsw-berne'));
- unset($languages[$source_language]);
- return $languages;
- }
- /**
- * {@inheritdoc}
- */
- public function rejectDataItem(TMGMTJobItem $job_item, array $key, array $values = NULL) {
- $key = '[' . implode('][', $key) . ']';
- $job_item->addMessage('Rejected data item @key for job item @item in job @job.', array('@key' => $key, '@item' => $job_item->tjiid, '@job' => $job_item->tjid));
- return TRUE;
- }
- /**
- * {@inheritdoc}
- */
- public function rejectForm($form, &$form_state) {
- return $form;
- }
- }
|