po2msg: actually output statistics
The "--statistics" option was ignored so far; no longer. Now we have a message similar to that of msgfmt. (Untranslated, though ;-) Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
9a25ae82dd
commit
95a8b67c26
22
po/po2msg.sh
22
po/po2msg.sh
@ -26,11 +26,17 @@ proc u2a {s} {
|
|||||||
set output_directory "."
|
set output_directory "."
|
||||||
set lang "dummy"
|
set lang "dummy"
|
||||||
set files [list]
|
set files [list]
|
||||||
|
set show_statistics 0
|
||||||
|
|
||||||
# parse options
|
# parse options
|
||||||
for {set i 1} {$i < $argc} {incr i} {
|
for {set i 0} {$i < $argc} {incr i} {
|
||||||
set arg [lindex $argv $i]
|
set arg [lindex $argv $i]
|
||||||
if {$arg == "--statistics" || $arg == "--tcl"} {
|
if {$arg == "--statistics"} {
|
||||||
|
incr show_statistics
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if {$arg == "--tcl"} {
|
||||||
|
# we know
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if {$arg == "-l"} {
|
if {$arg == "-l"} {
|
||||||
@ -49,12 +55,14 @@ for {set i 1} {$i < $argc} {incr i} {
|
|||||||
|
|
||||||
proc flush_msg {} {
|
proc flush_msg {} {
|
||||||
global msgid msgstr mode lang out fuzzy
|
global msgid msgstr mode lang out fuzzy
|
||||||
|
global translated_count fuzzy_count not_translated_count
|
||||||
|
|
||||||
if {![info exists msgid] || $mode == ""} {
|
if {![info exists msgid] || $mode == ""} {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
set mode ""
|
set mode ""
|
||||||
if {$fuzzy == 1} {
|
if {$fuzzy == 1} {
|
||||||
|
incr fuzzy_count
|
||||||
set fuzzy 0
|
set fuzzy 0
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -63,15 +71,20 @@ proc flush_msg {} {
|
|||||||
set prefix "set ::msgcat::header"
|
set prefix "set ::msgcat::header"
|
||||||
} else {
|
} else {
|
||||||
if {$msgstr == ""} {
|
if {$msgstr == ""} {
|
||||||
|
incr not_translated_count
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
set prefix "::msgcat::mcset $lang \"[u2a $msgid]\""
|
set prefix "::msgcat::mcset $lang \"[u2a $msgid]\""
|
||||||
|
incr translated_count
|
||||||
}
|
}
|
||||||
|
|
||||||
puts $out "$prefix \"[u2a $msgstr]\""
|
puts $out "$prefix \"[u2a $msgstr]\""
|
||||||
}
|
}
|
||||||
|
|
||||||
set fuzzy 0
|
set fuzzy 0
|
||||||
|
set translated_count 0
|
||||||
|
set fuzzy_count 0
|
||||||
|
set not_translated_count 0
|
||||||
foreach file $files {
|
foreach file $files {
|
||||||
regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile
|
regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile
|
||||||
set in [open $file "r"]
|
set in [open $file "r"]
|
||||||
@ -113,3 +126,8 @@ foreach file $files {
|
|||||||
close $out
|
close $out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if {$show_statistics} {
|
||||||
|
puts [concat "$translated_count translated messages, " \
|
||||||
|
"$fuzzy_count fuzzy ones, " \
|
||||||
|
"$not_translated_count untranslated ones."]
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user