#!/usr/bin/php -q $page) { foreach($page AS $key => $value) { if(!isset($targetContent[$pageName][$key])) { fwrite($stderr, 'TO_TRANSLATE - added : '.$pageName.' '.$key."\n"); $resultContent[$pageName][$key] = array('value' => $value['value'], 'prefix' => TO_TRANSLATE); } else { if($targetContent[$pageName][$key]['prefix'] == TO_TRANSLATE) { fwrite($stderr, 'TO_TRANSLATE - updated : '.$pageName.' '.$key."\n"); $resultContent[$pageName][$key] = array('value' => $value['value'], 'prefix' => TO_TRANSLATE); } else { $resultContent[$pageName][$key] = $targetContent[$pageName][$key]; } unset($targetContent[$pageName][$key]); } } } reset($targetContent); foreach($targetContent AS $pageName => $page) { foreach($page AS $key => $value) { fwrite($stderr, 'TO_REMOVE - added : '.$pageName.' '.$key."\n"); $resultContent[$pageName][$key] = array('value' => $value['value'], 'prefix' => TO_REMOVE); } } fclose($stderr); unset($targetContent); unset($baseContent); arraySort($resultContent); reset($resultContent); foreach($resultContent AS $pageName => $page) { foreach($page AS $key => $value) { echo $value['prefix'].$pageName."\t".$key."\t".$value['value']."\n"; } } function showHelp() { global $argc, $argv; $self = basename($argv[0]); ?> >> GForge language file merge utility, by Hunte Swee and Guillaume Smet<< Usage: 1>merge.tab 2>merge.log Example: /usr/share/gforge SimplifiedChinese 1>merge.tab 2>merge.log $val, 'prefix' => $prefix); } } return $result; } function &arraySort(& $array) { $keys = array_keys($array); for($i = 0, $count = count($keys); $i < $count; $i++) { ksort($array[$keys[$i]]); } ksort($array); } ?>