From 8dbec761cf858ea65900c8a094599857208d8c3a Mon Sep 17 00:00:00 2001 From: "N.N." Date: Tue, 5 Jan 2010 22:49:36 +0000 Subject: svn path=/trunk/; revision=12907 --- desiredata/src/locale/localeutils.tcl | 109 ---------------------------------- 1 file changed, 109 deletions(-) delete mode 100755 desiredata/src/locale/localeutils.tcl (limited to 'desiredata/src/locale/localeutils.tcl') diff --git a/desiredata/src/locale/localeutils.tcl b/desiredata/src/locale/localeutils.tcl deleted file mode 100755 index f53c5b66..00000000 --- a/desiredata/src/locale/localeutils.tcl +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env tclsh -# to check the difference between locale files -# arguments: -# -list view the list of supported locales -# -lang compare to english -# no option: summary of all locales - -proc lwithout {a b} { - set r {} - foreach x $b {set c($x) {}} - foreach x $a {if {![info exists c($x)]} {lappend r $x}} - return $r -} - -proc lintersection {a b} { - set r {} - foreach x $b {set c($x) {}} - foreach x $a {if {[info exists c($x)]} {lappend r $x}} - return $r -} - -proc say {k args} { - global text - if {[llength $args]} { - set ${::name}($k) [lindex $args 0] - } else { - if {[info exist text($k)]} { - puts "------------" - return $text($k) - } else {return "{{$k}}"} - } -} - -proc say_namespace {k code} {uplevel 1 $code} -proc say_category {text} {} - -set ::name ::index -array set ::index {} -source index.tcl - -foreach lang [array names ::index] { - set ::name ::$lang - source $lang.tcl -} - -proc summary {} { - foreach lang [lsort [lwithout [array names ::index] english]] { - puts "#-----------------------------8<-----CUT------8<-----------------------------#" - key_compare $lang; value_compare $lang - } -} - -proc compare {lang} { - key_compare $lang - value_compare $lang -} - -proc value_compare {lang} { - puts "\nFollowing entries have the same value as English:" - set values {} - set english2 [array names ::english] - set locale [array names ::$lang] - set intersect [lintersection $english2 $locale] - foreach item [lsort $intersect] { - set val1 $::english($item) - set val2 [set ::${lang}($item)] - if {$val1 == $val2} { - lappend values $item - } - } - foreach item $values {puts "\t $item"} -} - - -proc key_compare {lang} { - set english2 [array names ::english] - set locale [array names ::$lang] - set diff_missing [lwithout $english2 $locale] - set diff_extra [lwithout $locale $english2] - set percent_missing [expr int(([llength $diff_missing] / [llength $english2].0)*100)] - set percent_extra [expr int(([llength $diff_extra] / [llength $english2].0)*100)] - puts "\ncompare $lang to english --> ${percent_missing}% difference" - foreach item [lsort $diff_missing] { - puts " - $item" - } - puts "\ncompare english to $lang --> ${percent_extra}% difference" - foreach item [lsort $diff_extra] { - puts " + $item" - } -} - - -if {![llength $argv]} { - summary -} else { - switch -regexp -- [lindex $argv 0] { - ^-list\$ {puts [lwithout [array names ::index] english]} - ^-lang\$ { - set lang [lindex $argv 1] - if {[lsearch [array names ::index] $lang] > 0} {compare $lang} {puts "Unknown locale '$lang'"} - } - ^-h\$ { - puts "-list view the list of supported locales" - puts "-lang only report about instead of about all locales" - } - default {puts "Unknown option '[lindex $argv 0]'. try -h for help"} - } -} - -- cgit v1.2.1