Disable fuzzy translation matching for Transifex use.
authorRudolf Polzer <divVerent@xonotic.org>
Fri, 31 Mar 2017 00:47:24 +0000 (02:47 +0200)
committerRudolf Polzer <divVerent@xonotic.org>
Fri, 31 Mar 2017 00:47:24 +0000 (02:47 +0200)
Just let Transifex do this part instead.

check-translations.sh
tx.sh

index b036cd4..4e91516 100755 (executable)
@@ -57,7 +57,7 @@ if [ x"$mode" = x"pot" ]; then
                        echo "$name"
                done | sort -u
        } | xgettext -LC -k_ -f- --from-code utf-8 -F -o common.pot.new >&2
-       if msgcmp --use-untranslated common.pot common.pot.new; then
+       if msgcmp -N --use-untranslated common.pot common.pot.new; then
                echo "No contentful changes to common.pot - OK."
                rm -f common.pot.new
        else
@@ -81,6 +81,7 @@ if [ x"$mode" = x"txt" ]; then
                                        continue
                                fi
                        fi
+                       # Note: no -N here, this is the point where we allow fuzzy matching.
                        po=`msgmerge -N "$X" common.pot`
                        ne=`printf "%s\n" "$po" | msgfmt -o /dev/null --check-format --check-header --use-fuzzy - 2>&1 | grep . | wc -l`
                        nu=`printf "%s\n" "$po" | msgattrib --untranslated - | grep -c ^#:`
@@ -119,6 +120,7 @@ if [ x"$mode" = x"po" ]; then
                                continue
                        fi
                fi
+               # Note: no -N here, this is the point where we allow fuzzy matching.
                msgmerge -F -U "$X" common.pot >&2
                msgfmt -o /dev/null --check-format --check-header --use-fuzzy "$X" 2>&1 \
                                              | grep . > "$X".errors       || rm -f "$X".errors
@@ -270,6 +272,7 @@ EOF
                                continue
                        fi
                fi
+               # Note: no -N here, this is the point where we allow fuzzy matching.
                msgmerge -F -U "$X" common.pot >/dev/null 2>&1
        done
 fi
diff --git a/tx.sh b/tx.sh
index 19568c9..c2e9f3a 100644 (file)
--- a/tx.sh
+++ b/tx.sh
@@ -54,12 +54,12 @@ if $sync_po; then
                gnewfile=common.$lang.po
                if [ -f "$tcurfile" ]; then
                        git show "$mergebase":"$gnewfile" > "$goldfile"
-                       msgmerge -F -U "$tcurfile" common.pot
-                       msgmerge -F -U "$goldfile" common.pot
-                       msgmerge -F -U "$gnewfile" common.pot
+                       msgmerge -N -F -U "$tcurfile" common.pot
+                       msgmerge -N -F -U "$goldfile" common.pot
+                       msgmerge -N -F -U "$gnewfile" common.pot
                        if diff -u "$goldfile" "$gnewfile" >/dev/null; then
                                # no change on git, changed on tx only
-                               msgmerge -F -U "$tcurfile" common.pot
+                               msgmerge -N -F -U "$tcurfile" common.pot
                                cp "$tcurfile" "$gnewfile"
                        else
                                if ! diff -u "$goldfile" "$gnewfile" | patch "$tcurfile"; then
@@ -71,12 +71,12 @@ if $sync_po; then
                                        done
                                        rm -f "$tcurfile.rej"
                                fi
-                               msgmerge -F -U "$tcurfile" common.pot
+                               msgmerge -N -F -U "$tcurfile" common.pot
                                cp "$tcurfile" "$gnewfile"
                        fi
                        rm "$goldfile"
                else
-                       msgmerge -F -U "$gnewfile" common.pot
+                       msgmerge -N -F -U "$gnewfile" common.pot
                        cp "$gnewfile" "$tcurfile"
                fi
        done