Plural form strings export added
This commit is contained in:
parent
27329e39e4
commit
e27e0ca198
121
util/php2po.php
121
util/php2po.php
@ -7,65 +7,68 @@
|
||||
}
|
||||
}
|
||||
|
||||
if ($argc!=2) {
|
||||
print "Usage: ".$argv[0]." <hstrings.php>\n\n";
|
||||
return;
|
||||
}
|
||||
|
||||
$phpfile = $argv[1];
|
||||
$pofile = dirname($phpfile)."/hmessages.po";
|
||||
if ($argc!=2) {
|
||||
print "Usage: ".$argv[0]." <hstrings.php>\n\n";
|
||||
return;
|
||||
}
|
||||
|
||||
if (!file_exists($phpfile)){
|
||||
print "Unable to find '$phpfile'\n";
|
||||
return;
|
||||
}
|
||||
$phpfile = $argv[1];
|
||||
$pofile = dirname($phpfile)."/hmessages.po";
|
||||
|
||||
include_once($phpfile);
|
||||
if (!file_exists($phpfile)){
|
||||
print "Unable to find '$phpfile'\n";
|
||||
return;
|
||||
}
|
||||
|
||||
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(App::$strings[$k])) {
|
||||
$v= App::$strings[$k];
|
||||
//echo "DBG\n";
|
||||
//var_dump($k, $v, App::$strings[$k], $v);
|
||||
//echo "/DBG\n";
|
||||
|
||||
}
|
||||
//echo "DBG: v:'$v'\n";
|
||||
$l = "msgstr \"".str_replace('"','\"',$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);
|
||||
?>
|
||||
include_once($phpfile);
|
||||
|
||||
print "Out to '$pofile'\n";
|
||||
|
||||
$out = "";
|
||||
$infile = file($pofile);
|
||||
$k="";
|
||||
$ink = False;
|
||||
foreach ($infile as $l) {
|
||||
|
||||
if (!preg_match("/^msgstr\[[1-9]/",$l)) {
|
||||
if ($k!="" && (substr($l,0,7)=="msgstr " || substr($l,0,8)=="msgstr[0")){
|
||||
$ink = False;
|
||||
$v = "";
|
||||
if (isset(App::$strings[$k])) {
|
||||
$v = App::$strings[$k];
|
||||
if (is_array($v)) {
|
||||
$l = "";
|
||||
$n = 0;
|
||||
foreach ($v as &$value) {
|
||||
$l .= "msgstr[".$n."] \"".str_replace('"','\"',$value)."\"\n";
|
||||
$n++;
|
||||
}
|
||||
} else {
|
||||
$l = "msgstr \"".str_replace('"','\"',$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 "){
|
||||
$k = str_replace("msgid ","",$l);
|
||||
if ($k != '""' ) {
|
||||
$k = trim($k,"\"\r\n");
|
||||
$k = str_replace('\"','"',$k);
|
||||
} else {
|
||||
$k = "";
|
||||
}
|
||||
$ink = True;
|
||||
}
|
||||
|
||||
$out .= $l;
|
||||
}
|
||||
}
|
||||
file_put_contents($pofile, $out);
|
||||
?>
|
||||
|
Reference in New Issue
Block a user