Mikolaj Zalewski : add an [ignore-sublang] instead of collapse to show that the sublang code should be ignored
Alexandre Julliard
julliard at winehq.org
Fri Jun 19 08:36:17 CDT 2009
Module: tools
Branch: master
Commit: 9210ef461e6275dc4bac11855c0d867d9ada4561
URL: http://source.winehq.org/git/tools.git/?a=commit;h=9210ef461e6275dc4bac11855c0d867d9ada4561
Author: Mikolaj Zalewski <mikolajz at tygrys.dom>
Date: Tue Feb 19 14:52:20 2008 +0100
add an [ignore-sublang] instead of collapse to show that the sublang code should be ignored
---
php/index.php | 9 +++++----
php/lib.php | 25 +++++++++++++++++++++----
scripts/conf/005:00 | 2 +-
scripts/conf/005:01 | 1 -
scripts/conf/011:00 | 2 +-
scripts/conf/011:01 | 1 -
scripts/conf/012:00 | 2 +-
scripts/conf/012:01 | 1 -
scripts/conf/018:00 | 2 +-
scripts/conf/018:01 | 1 -
scripts/conf/019:00 | 2 +-
scripts/conf/019:01 | 1 -
scripts/conf/01b:00 | 2 +-
scripts/conf/01b:01 | 1 -
scripts/conf/024:00 | 2 +-
scripts/conf/024:01 | 1 -
scripts/conf/08f:00 | 2 +-
scripts/conf/08f:01 | 1 -
scripts/ver.pl | 20 +++++++++++++++-----
19 files changed, 49 insertions(+), 29 deletions(-)
diff --git a/php/index.php b/php/index.php
index a8c7ce5..05e2693 100644
--- a/php/index.php
+++ b/php/index.php
@@ -1,5 +1,6 @@
<?php
include_once("config.php");
+include_once("lib.php");
$summary = fopen("$DATAROOT/langs/summary", "r");
while ($line = fgets($summary, 1024))
@@ -8,10 +9,10 @@ while ($line = fgets($summary, 1024))
{
die("couldn't parse line $line");
}
-
- $names[$m[1]] = file_get_contents("$DATAROOT/conf/".$m[1]);
- if (strpos($names[$m[1]], "[hide]"))
+
+ if (has_lang_flag($m[1], "hide"))
continue;
+
$sum = $m[2]+0;
$transl[$m[1]] = $m[3];
$missing[$m[1]] = $m[4];
@@ -62,7 +63,7 @@ for ($i = 0; $i < count($transl); $i++)
echo "<td rowspan=\"$serial\" style=\"text-align: center\">$nr";
echo "</td>";
}
- echo "<td><a href=\"lang.php?lang=$langid\">".$names[$langid]."</a></td>";
+ echo "<td><a href=\"lang.php?lang=$langid\">".get_lang_name($langid)."</a></td>";
printf("<td>%d (%.1f%%)</td>", $value, ($value*100)/$sum);
echo "<td>".$missing[$langid]."</td><td>".$errors[$langid]."</td>\n";
draw_bar($value, $errors[$langid], $sum);
diff --git a/php/lib.php b/php/lib.php
index 3a51a90..1e90fc9 100644
--- a/php/lib.php
+++ b/php/lib.php
@@ -35,18 +35,35 @@ function validate_id($id)
return $id;
}
+function get_raw_lang_name($id)
+{
+ static $lang_cache = array();
+ if (empty($lang_cache[$id]))
+ {
+ global $DATAROOT;
+
+ $name = file_get_contents("$DATAROOT/conf/$id");
+ $lang_cache[$id] = $name;
+ }
+ return $lang_cache[$id];
+}
+
function get_lang_name($id)
{
- global $DATAROOT;
+ return preg_replace("/\[ignore-sublang\]/", "", get_raw_lang_name($id));
+}
- return file_get_contents("$DATAROOT/conf/$id");
+function has_lang_flag($id, $flag)
+{
+ return is_int(strpos(get_raw_lang_name($id), "[".$flag."]"));
}
function is_lang_ignore_sublang($lang)
{
- if (!preg_match("/([0-9a-f]{3}):00/", $lang, $m))
+ return has_lang_flag($lang, "ignore-sublang");
+/* if (!preg_match("/([0-9a-f]{3}):00/", $lang, $m))
return FALSE;
- return (get_lang_name($m[1].":01") == "collapse");
+ return (get_lang_name($m[1].":01") == "collapse");*/
}
function get_lang_binid($lang)
diff --git a/scripts/conf/005:00 b/scripts/conf/005:00
index 15af5de..ba26bf3 100644
--- a/scripts/conf/005:00
+++ b/scripts/conf/005:00
@@ -1 +1 @@
-Czech
\ No newline at end of file
+Czech[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/005:01 b/scripts/conf/005:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/005:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/011:00 b/scripts/conf/011:00
index dc09008..7123dbe 100644
--- a/scripts/conf/011:00
+++ b/scripts/conf/011:00
@@ -1 +1 @@
-Japanese
\ No newline at end of file
+Japanese[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/011:01 b/scripts/conf/011:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/011:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/012:00 b/scripts/conf/012:00
index 3120cac..060827f 100644
--- a/scripts/conf/012:00
+++ b/scripts/conf/012:00
@@ -1 +1 @@
-Korean
\ No newline at end of file
+Korean[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/012:01 b/scripts/conf/012:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/012:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/018:00 b/scripts/conf/018:00
index a6e3586..8258690 100644
--- a/scripts/conf/018:00
+++ b/scripts/conf/018:00
@@ -1 +1 @@
-Romanian
\ No newline at end of file
+Romanian[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/018:01 b/scripts/conf/018:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/018:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/019:00 b/scripts/conf/019:00
index 9814eb5..74ecec6 100644
--- a/scripts/conf/019:00
+++ b/scripts/conf/019:00
@@ -1 +1 @@
-Russian
\ No newline at end of file
+Russian[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/019:01 b/scripts/conf/019:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/019:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/01b:00 b/scripts/conf/01b:00
index 18f74a2..399b1c9 100644
--- a/scripts/conf/01b:00
+++ b/scripts/conf/01b:00
@@ -1 +1 @@
-Slovak
\ No newline at end of file
+Slovak[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/01b:01 b/scripts/conf/01b:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/01b:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/024:00 b/scripts/conf/024:00
index 94a81b9..fde8a50 100644
--- a/scripts/conf/024:00
+++ b/scripts/conf/024:00
@@ -1 +1 @@
-Slovenian
\ No newline at end of file
+Slovenian[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/024:01 b/scripts/conf/024:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/024:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/conf/08f:00 b/scripts/conf/08f:00
index f13fe40..8c90610 100644
--- a/scripts/conf/08f:00
+++ b/scripts/conf/08f:00
@@ -1 +1 @@
-Esperanto
\ No newline at end of file
+Esperanto[ignore-sublang]
\ No newline at end of file
diff --git a/scripts/conf/08f:01 b/scripts/conf/08f:01
deleted file mode 100644
index f55031a..0000000
--- a/scripts/conf/08f:01
+++ /dev/null
@@ -1 +0,0 @@
-collapse
\ No newline at end of file
diff --git a/scripts/ver.pl b/scripts/ver.pl
index 26ac823..6b62cdb 100755
--- a/scripts/ver.pl
+++ b/scripts/ver.pl
@@ -48,20 +48,30 @@ sub resource_name2 {
sub collapse {
my($name) = shift @_;
+ $base_name = $name;
+ $base_name =~ s/:[0-9a-f][0-9a-f]/:00/;
if (not exists $tab_should_collapse{$name})
{
- open(NAMEFILE, "<conf/$name");
+ open(NAMEFILE, "<conf/$base_name");
$content = <NAMEFILE>;
- if ($content eq "collapse") {
+ close(NAMEFILE);
+ if ($content =~ /\[ignore-sublang\]/) {
$tab_should_collapse{$name} = TRUE;
} else {
- $tab_should_collapse{$name} = FALSE;
+ open(NAMEFILE, "<conf/$name");
+ $content = <NAMEFILE>;
+ if ($content eq "collapse") {
+ $tab_should_collapse{$name} = TRUE;
+ } else {
+ $tab_should_collapse{$name} = FALSE;
+ }
+ close(NAMEFILE);
}
- close(NAMEFILE);
+
}
if ($tab_should_collapse{$name} eq TRUE) {
- $name =~ s/:[0-9a-f][0-9a-f]/:00/;
+ $name = $base_name;
}
return $name;
}
More information about the wine-cvs
mailing list