From f94872dfc18c2670c9eb4ed8528ba45943213f39 Mon Sep 17 00:00:00 2001
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Date: Tue, 30 Oct 2007 11:24:37 +0000
Subject: [PATCH] po2msg: ignore entries marked with "fuzzy"

As Christian Stimming pointed out, entries which are "fuzzy" need to
be checked by human translators, and cannot be used.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 po/po2msg.sh | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/po/po2msg.sh b/po/po2msg.sh
index da0765dd802..48a2669967c 100644
--- a/po/po2msg.sh
+++ b/po/po2msg.sh
@@ -48,12 +48,16 @@ for {set i 1} {$i < $argc} {incr i} {
 }
 
 proc flush_msg {} {
-	global msgid msgstr mode lang out
+	global msgid msgstr mode lang out fuzzy
 
 	if {![info exists msgid] || $mode == ""} {
 		return
 	}
 	set mode ""
+	if {$fuzzy == 1} {
+		set fuzzy 0
+		return
+	}
 
 	if {$msgid == ""} {
 		set prefix "set ::msgcat::header"
@@ -64,6 +68,7 @@ proc flush_msg {} {
 	puts $out "$prefix \"[u2a $msgstr]\""
 }
 
+set fuzzy 0
 foreach file $files {
 	regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile
 	set in [open $file "r"]
@@ -73,7 +78,11 @@ foreach file $files {
 	set mode ""
 	while {[gets $in line] >= 0} {
 		if {[regexp "^#" $line]} {
-			flush_msg
+			if {[regexp ", fuzzy" $line]} {
+				set fuzzy 1
+			} else {
+				flush_msg
+			}
 			continue
 		} elseif {[regexp "^msgid \"(.*)\"$" $line dummy match]} {
 			flush_msg