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.