php2po script
This commit is contained in:
parent
9bc85162a4
commit
fd4256a13f
1 changed files with 71 additions and 0 deletions
71
util/php2po.php
Normal file
71
util/php2po.php
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if(! class_exists('App')) {
|
||||||
|
class TmpA {
|
||||||
|
public $strings = Array();
|
||||||
|
}
|
||||||
|
$a = new TmpA();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($argc!=2) {
|
||||||
|
print "Usage: ".$argv[0]." <strings.php>\n\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$phpfile = $argv[1];
|
||||||
|
$pofile = dirname($phpfile)."/messages.po";
|
||||||
|
|
||||||
|
if (!file_exists($phpfile)){
|
||||||
|
print "Unable to find '$phpfile'\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
include_once($phpfile);
|
||||||
|
|
||||||
|
print "Out to '$pofile'\n";
|
||||||
|
|
||||||
|
$out = "";
|
||||||
|
$infile = file($pofile);
|
||||||
|
$k="";
|
||||||
|
$ink = False;
|
||||||
|
foreach ($infile as $l) {
|
||||||
|
|
||||||
|
if ($k!="" && substr($l,0,7)=="msgstr "){
|
||||||
|
$ink = False;
|
||||||
|
$v = '""';
|
||||||
|
//echo "DBG: k:'$k'\n";
|
||||||
|
if (isset($a->strings[$k])) {
|
||||||
|
$v= '"'.$a->strings[$k].'"';
|
||||||
|
//echo "DBG\n";
|
||||||
|
//var_dump($k, $v, $a->strings[$k], $v);
|
||||||
|
//echo "/DBG\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
//echo "DBG: v:'$v'\n";
|
||||||
|
$l = "msgstr ".$v."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (substr($l,0,6)=="msgid_" || substr($l,0,7)=="msgstr[" )$ink = False;;
|
||||||
|
|
||||||
|
if ($ink) {
|
||||||
|
$k .= trim($l,"\"\r\n");
|
||||||
|
$k = str_replace('\"','"',$k);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (substr($l,0,6)=="msgid "){
|
||||||
|
$arr=False;
|
||||||
|
$k = str_replace("msgid ","",$l);
|
||||||
|
if ($k != '""' ) {
|
||||||
|
$k = trim($k,"\"\r\n");
|
||||||
|
$k = str_replace('\"','"',$k);
|
||||||
|
} else {
|
||||||
|
$k = "";
|
||||||
|
}
|
||||||
|
$ink = True;
|
||||||
|
}
|
||||||
|
|
||||||
|
$out .= $l;
|
||||||
|
}
|
||||||
|
//echo $out;
|
||||||
|
file_put_contents($pofile, $out);
|
||||||
|
?>
|
Loading…
Reference in a new issue