From fde10d5d477dbfda94425a296bdf5e3b3ab32764 Mon Sep 17 00:00:00 2001
From: fabrixxm
Date: Sun, 23 Jan 2011 18:18:32 +0100
Subject: [PATCH] string.php translation utility
---
util/string_translator.php | 180 +++++++++++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
create mode 100644 util/string_translator.php
diff --git a/util/string_translator.php b/util/string_translator.php
new file mode 100644
index 000000000..4d24f7a6f
--- /dev/null
+++ b/util/string_translator.php
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+read())) {
+ if (is_file($d->path."/".$entry."/strings.php")){
+ $LANGS[] = $entry;
+ }
+
+}
+$d->close();
+
+
+class A{
+ var $strings = Array();
+}
+
+function loadstrings($lang = NULL){
+ global $FRIENDIKA_PATH;
+ if (is_null($lang)) {
+ $path = $FRIENDIKA_PATH."/util/strings.php";
+ } else {
+ $path = $FRIENDIKA_PATH."/view/$lang/strings.php";
+ }
+ $a = new A();
+ include_once($path);
+ return $a->strings;
+}
+
+
+function savestrings($lang, $strings){
+ global $FRIENDIKA_PATH;
+ $path = $FRIENDIKA_PATH."/view/$lang/strings.php";
+ $f = fopen($path,"w");
+ fwrite($f, "<"); fwrite($f, "?php\n");
+ foreach($strings as $k=>$v){
+ $k=str_replace("'","\'", $k);
+ $k=str_replace("\\\\'","\'", $k);
+ $k=str_replace("\n","\\n", $k);
+ $k=str_replace("\r","\\r", $k);
+ $v=str_replace("'","\'", $v);
+ $v=str_replace("\\\\'","\'", $v);
+ $v=str_replace("\n","\\n", $v);
+ $v=str_replace("\r","\\r", $v);
+
+ fwrite( $f, '$a->strings[\''.$k.'\'] = \''. $v .'\';'."\n" );
+ #echo '$a->strings[\''.$k.'\'] = \''. $v .'\''."\n" ;
+ }
+ fwrite($f, "?"); fwrite($f, ">\n");
+ fclose($f);
+}
+
+
+
+function hexstr($hexstr) {
+ $hexstr = str_replace(' ', '', $hexstr);
+ $hexstr = str_replace('\x', '', $hexstr);
+ $retstr = pack('H*', $hexstr);
+ return $retstr;
+}
+
+function strhex($string) {
+ $hexstr = unpack('H*', $string);
+ return array_shift($hexstr);
+}
+
+
+echo "Translator
";
+echo "Utility to translate string.php
file.";
+echo " Need write permission to language file you want to modify
";
+echo "Installed languages:";
+echo "
";
+foreach($LANGS as $l){
+ echo "- $l
";
+}
+echo "
";
+
+
+$strings['en'] = loadstrings();
+
+if (isset($_GET['lang'])){
+
+ $lang = $_GET['lang'];
+ $strings[$lang] = loadstrings($lang);
+
+ $n1 = count($strings['en']);
+ $n2 = count($strings[$lang]);
+
+ echo "";
+ echo "Tranlsate en to $lang
";
+ //echo "Translated $n2 over $n1 strings
";
+ echo "
";
+
+
+
+ if (isset($_POST['save'])){
+ echo "saving...";
+ foreach ($_POST as $k=>$v){
+ if ($k!="save" && $k!="from"){
+ $k=hexstr($k);
+ $strings[$lang][$k] = $v;
+ }
+ }
+ savestrings($lang, $strings[$lang]);
+ echo "ok.
";
+ }
+
+
+
+
+
+ if (!isset($_POST['from'])){
+ $from=0;
+ } else {
+ $from = $_POST['from'];
+ if ($_POST['save']=="Next")
+ $from += 10;
+ if ($_POST['save']=="Prev")
+ $from -= 10;
+ }
+ $count = count($strings['en']);
+ $len = 10;
+ if ($from+$len>$count) $len=$count-$from;
+ $thestrings = array_slice($strings['en'], $from, $len, true);
+
+
+
+ echo "";
+
+
+}
+?>
+
+
+