private function updateCache()
 {
     try {
         $sys = erLhcoreClassSystem::instance()->SiteDir;
         $reader = new ezcTranslationTsBackend($sys . '/translations/' . $this->languageCode);
         $reader->setOptions(array('format' => 'translation.ts'));
         $reader->initReader($this->languageCode);
         $cacheObj = new ezcCacheStorageFileArray($sys . '/cache/translations');
         $writer = new ezcTranslationCacheBackend($cacheObj);
         $writer->initWriter($this->languageCode);
         // Load extensions translations
         $extensions = erConfigClassLhConfig::getInstance()->getSetting('site', 'extensions');
         $contextDataArray = array();
         foreach ($extensions as $ext) {
             $trsDir = $sys . 'extension/' . $ext . '/translations/' . $this->languageCode . '/translation.ts';
             if (file_exists($trsDir)) {
                 $readerExtension = new ezcTranslationTsBackend($sys . '/extension/' . $ext . '/translations/' . $this->languageCode);
                 $readerExtension->setOptions(array('format' => 'translation.ts'));
                 $readerExtension->initReader($this->languageCode);
                 foreach ($readerExtension as $contextName => $contextData) {
                     if (isset($contextDataArray[$contextName])) {
                         // Perhaps few extensions have same content?
                         $contextDataArray[$contextName] = array_merge($contextDataArray[$contextName], $contextData);
                     } else {
                         $contextDataArray[$contextName] = $contextData;
                     }
                 }
                 $readerExtension->deInitReader();
             }
         }
         // Store translations
         foreach ($reader as $contextName => $contextData) {
             if (isset($contextDataArray[$contextName])) {
                 $contextData = array_merge($contextData, $contextDataArray[$contextName]);
                 unset($contextDataArray[$contextName]);
             }
             $writer->storeContext($contextName, $contextData);
         }
         // Store unique extension context
         foreach ($contextDataArray as $contextName => $contextData) {
             $writer->storeContext($contextName, $contextData);
         }
         $reader->deInitReader();
         unset($contextDataArray);
         $writer->deInitWriter();
     } catch (Exception $e) {
         // Sometimes write fails, so ignore it
     }
 }
        $contentFile = str_replace($Matches[0][$key], '', $contentFile);
    }
    $Matches = array();
    preg_match_all('/erTranslationClassLhTranslation::getInstance\\(\\)->getTranslation\\(\'(.*?)\',\'(.*?)\'\\)/i', $contentFile, $Matches);
    foreach ($Matches[1] as $key => $section) {
        if (!isset($arrayTranslationsProcess[$section])) {
            $arrayTranslationsProcess[$section] = array();
        }
        if (!in_array($Matches[2][$key], $arrayTranslationsProcess[$section])) {
            $arrayTranslationsProcess[$section][] = $Matches[2][$key];
        }
    }
}
$reader = new ezcTranslationTsBackend($cronjobPathOption->value . '/doc');
$reader->setOptions(array('format' => 'default.ts'));
$reader->initReader($locale);
$manager = new ezcTranslationManager($reader);
function translateToLanguage($apiKey, $toLanguage, $string)
{
    return '';
}
foreach ($arrayTranslationsProcess as $context => $itemsToTranslate) {
    $contextItems = array();
    try {
        $contextItem = $manager->getContext($locale, $context);
    } catch (Exception $e) {
        // Context does not exists
        $reader->initWriter($locale);
        $reader->storeContext($context, $contextItems);
        $reader->deinitWriter();
        $contextItem = $manager->getContext($locale, $context);
 public function testReader5()
 {
     if (!ezcBaseFeatures::classExists('SimpleXMLIterator')) {
         $this->markTestSkipped("This test is supposed to run only when the SimpleXML extension is available.");
     }
     $currentDir = dirname(__FILE__);
     $backend = new ezcTranslationTsBackend("{$currentDir}/files/translations");
     $backend->setOptions(array('format' => '[LOCALE].xml'));
     $backend->initReader('nb-no');
     $contexts = array();
     foreach ($backend as $contextName => $context) {
         $contexts[] = $contextName;
     }
     $backend->deinitReader();
     $expected = array('contentstructuremenu/show_content_structure', 'design/admin/class/classlist', 'design/admin/class/datatype/browse_objectrelationlist_placement');
     self::assertEquals($expected, $contexts);
 }
 public function testReader5()
 {
     $currentDir = dirname(__FILE__);
     $backend = new ezcTranslationTsBackend("{$currentDir}/files/translations");
     $backend->setOptions(array('format' => '[LOCALE].xml'));
     $backend->initReader('nb-no');
     $contexts = array();
     foreach ($backend as $contextName => $context) {
         $contexts[] = $contextName;
     }
     $backend->deinitReader();
     $expected = array('contentstructuremenu/show_content_structure', 'design/admin/class/classlist', 'design/admin/class/datatype/browse_objectrelationlist_placement');
     self::assertEquals($expected, $contexts);
 }
Example #5
0
<?php

require_once 'tutorial_autoload.php';
$backend = new ezcTranslationTsBackend(dirname(__FILE__) . '/translations');
$backend->setOptions(array('format' => 'translation-[LOCALE].xml'));
$backend->initReader('nb_NO');
foreach ($backend as $contextName => $contextData) {
    echo $contextName, "\n";
    foreach ($contextData as $context) {
        echo "\toriginal string:   {$context->original}\n";
        echo "\ttranslated string: {$context->translation}\n\n";
    }
}
Example #6
0
<?php

require_once 'tutorial_autoload.php';
$reader = new ezcTranslationTsBackend(dirname(__FILE__) . '/translations');
$reader->setOptions(array('format' => 'translation-[LOCALE].xml'));
$reader->initReader('nb_NO');
$cacheObj = new ezcCacheStorageFileArray(dirname(__FILE__) . '/translations-cache');
$writer = new ezcTranslationCacheBackend($cacheObj);
$writer->initWriter('nb_NO');
foreach ($reader as $contextName => $contextData) {
    $writer->storeContext($contextName, $contextData);
}
$reader->deInitReader();
$writer->deInitWriter();