public function run()
 {
     $extensions = common_ext_ExtensionsManager::singleton()->getInstalledExtensions();
     $languages = tao_helpers_translation_Utils::getAvailableLanguages();
     $path = ROOT_PATH . 'tao/views/locales/';
     foreach ($languages as $langCode) {
         try {
             $bundle = new TranslationBundle($langCode, $extensions);
             $file = $bundle->generateTo($path);
             if ($file) {
                 $this->out('Success: ' . $file);
             } else {
                 $this->out('Failure generating: ' . $file);
             }
         } catch (common_excpetion_Error $e) {
             $this->out('Failure: ' . $e->getMessage());
         }
     }
 }
Ejemplo n.º 2
0
 /**
  *
  * @author Lionel Lecaque, lionel@taotesting.com
  */
 public function generateClientBundles($checkPreviousBundlue = false)
 {
     $returnValue = array();
     $extensions = common_ext_ExtensionsManager::singleton()->getInstalledExtensions();
     // lookup for languages into tao
     $languages = tao_helpers_translation_Utils::getAvailableLanguages();
     $path = ROOT_PATH . 'tao/views/locales/';
     $generated = 0;
     $generate = true;
     foreach ($languages as $langCode) {
         try {
             $bundle = new TranslationBundle($langCode, $extensions);
             if ($checkPreviousBundlue) {
                 $currenBundle = $path . $langCode . '.json';
                 if (file_exists($currenBundle)) {
                     $bundleData = json_decode(file_get_contents($currenBundle), true);
                     if ($bundleData['serial'] === $bundle->getSerial()) {
                         $generate = false;
                     }
                 }
                 if ($generate) {
                     $file = $bundle->generateTo($path, false);
                 }
             } else {
                 $file = $bundle->generateTo($path);
             }
             if ($file) {
                 $generated++;
                 $returnValue[] = $file;
             } else {
                 if ($generate) {
                     common_Logger::e('Failure generating message.js for lang ' . $langCode);
                 } else {
                     common_Logger::d('Actual File is more recent, skip ' . $langCode);
                 }
             }
         } catch (common_excpetion_Error $e) {
             common_Logger::e('Failure: ' . $e->getMessage());
         }
     }
     common_Logger::i($generated . ' translation bundles have been (re)generated');
     return $returnValue;
 }
Ejemplo n.º 3
0
 /**
  * Test the bundle
  * @param string $langCode
  * @param array $extensions
  * @dataProvider bundleProvider
  */
 public function testBundle($langCode, $extensions, $expectedSerial)
 {
     $bundle = new TranslationBundle($langCode, $extensions);
     $serial = $bundle->getSerial();
     $this->assertTrue(is_string($serial));
     $this->assertEquals($expectedSerial, $serial);
     if (is_dir(self::$tmpDir)) {
         $file = $bundle->generateTo(self::$tmpDir);
         $this->assertTrue(file_exists($file));
         $content = json_decode(file_get_contents($file), true);
         $this->assertTrue(is_array($content));
         $this->assertEquals($expectedSerial, $content['serial']);
     }
 }