gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r586 - i18nHTML/src


From: grothoff
Subject: [GNUnet-SVN] r586 - i18nHTML/src
Date: Sun, 3 Apr 2005 20:55:32 -0700 (PDT)

Author: grothoff
Date: 2005-04-03 20:55:29 -0700 (Sun, 03 Apr 2005)
New Revision: 586

Modified:
   i18nHTML/src/i18nhtml.inc
   i18nHTML/src/update.php
Log:
detect bad trans

Modified: i18nHTML/src/i18nhtml.inc
===================================================================
--- i18nHTML/src/i18nhtml.inc   2005-04-04 03:36:12 UTC (rev 585)
+++ i18nHTML/src/i18nhtml.inc   2005-04-04 03:55:29 UTC (rev 586)
@@ -788,7 +788,6 @@
 function TRANSLATE_($a,$args=null) {
   if ($a == "")
     return 0;
-  echo "VNS>>" . translation_query($a) . "<<\n";
   return vsprintf(translation_query($a), $args);
 }
 

Modified: i18nHTML/src/update.php
===================================================================
--- i18nHTML/src/update.php     2005-04-04 03:36:12 UTC (rev 585)
+++ i18nHTML/src/update.php     2005-04-04 03:55:29 UTC (rev 586)
@@ -10,6 +10,7 @@
 $query = "SELECT * FROM map";
 $result = mysql_query($query, $connection);
 $num = 0;
+$loss = 0;
 if ($result) 
   $num = mysql_numrows($result);
 for ($ii=0;$ii<$num;$ii++) {
@@ -19,12 +20,22 @@
   $dst = $row["translation"]; // possibly urlencoded
   $rank = $row["ranking"];
   $rtrans = mysql_real_escape_string(to_unicode(urldecode($dst)));
-  $dst = mysql_real_escape_string($dst);
-  if ($rtrans != $dst) {
-    $subquery = "UPDATE map SET translation=\"$rtrans\" WHERE name=\"$src\" 
AND lang=\"$la\" AND translation=\"$dst\" AND ranking=$rank;\n";
+  // detect "bad" translations (where conversion failed)
+  // if more than 5 values in [0..9] follow => bad conversion
+  $ok = 0 == preg_match("&#[0..9][0..9][0..9][0..9][0..9][0..9]", $rtrans);
+  if ($ok) {
+    $dst = mysql_real_escape_string($dst);
+    if ($rtrans != $dst) {
+      $subquery = "UPDATE map SET translation=\"$rtrans\" WHERE name=\"$src\" 
AND lang=\"$la\" AND translation=\"$dst\" AND ranking=$rank;\n";
+      echo "$subquery\n";
+    }
+  } else {
+    $subquery = "DELETE FROM map WHERE name=\"$src\" AND lang=\"$la\" AND 
translation=\"$dst\" AND ranking=$rank;\n";
     echo "$subquery\n";
+    $loss++;
   }
  }
+echo "# Lost $loss out of $num translations.\n";
 ?>
 # </pre>
 # end of conversion





reply via email to

[Prev in Thread] Current Thread [Next in Thread]