Author: david
Date: Tue Sep 13 11:12:32 2011
New Revision: 9700

Log:
Finish work on task to consolidate XLIFF files

Modified:
   trunk/lib/task/i18nConsolidateTask.class.php

Modified: trunk/lib/task/i18nConsolidateTask.class.php
==============================================================================
--- trunk/lib/task/i18nConsolidateTask.class.php        Mon Sep 12 17:55:44 
2011        (r9699)
+++ trunk/lib/task/i18nConsolidateTask.class.php        Tue Sep 13 11:12:32 
2011        (r9700)
@@ -65,19 +65,15 @@
     $params = $config['i18n']['param'];
     unset($params['cache']);
 
+    // Extract i18n messages from php files (including plugins)
     $i18n = new $class($this->configuration, new sfNoCache(), $params);
     $extract = new sfI18nConsolidatedExtract($i18n, $arguments['culture']);
-
-    // Extract i18n messages from php files (including plugins)
     $extract->extract();
 
-    var_dump($extract->read());
-    die();
-
-    $i18n = new $class($this->configuration, new sfNoCache(), $params);
-    
$i18n->setMessageSource(array(sfConfig::get('sf_app_i18n_dir').'/consolidated'),
 $arguments['culture']);
-
-    $extract->saveNewMessages();
+    // Save to app/qubit/i18n/consolidated
+    $consolidated = new $class($this->configuration, new sfNoCache(), $params);
+    
$consolidated->setMessageSource(array(sfConfig::get('sf_app_i18n_dir').'/consolidated'),
 $arguments['culture']);
+    $extract->save($consolidated);
   }
 }
 
@@ -85,11 +81,34 @@
 {
   public function configure()
   {
+    // Override sfI18nAcpplicationExtract::configure() so we extract from
+    // plugin XLIFF files
   }
 
-  public function read()
+  public function save($consolidated)
   {
-    return $this->i18n->getMessageSource()->read();
+    $units = array();
+    foreach ($this->i18n->getMessageSource()->read() as $catalogue => 
$translations)
+    {
+      foreach ($translations as $key => $values)
+      {
+        $consolidated->getMessageSource()->append($key);
+
+        if (!isset($units[$key]))
+        {
+          $units[$key] = $values;
+        }
+      }
+    }
+
+    // Save all source keys to consolidated i18n file
+    $consolidated->getMessageSource()->save();
+
+    // Now save translated strings
+    foreach ($units as $key => $item)
+    {
+      $consolidated->getMessageSource()->update($key, $item[0], $item[2]);
+    }
   }
 
   public function extract()

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to