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…
	
	Add table
		Add a link
		
	
		Reference in a new issue