diff options
author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2024-04-22 00:35:56 -0300 |
---|---|---|
committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2024-04-22 00:35:56 -0300 |
commit | 754b5d1114f096778e483f8a6f3a5dc333225e26 (patch) | |
tree | 30911ec9da4cfd2f5572c27f7288fcbfa4cd212d /po/updatepo.sh | |
parent | 35c2857da302ab8b3c308052f2cd1674fb4141a6 (diff) | |
parent | 5f01c706267c595de92406a32e7f31ef5056c2d0 (diff) |
Update upstream source from tag 'upstream/2.0.3pre'
Update to upstream version '2.0.3pre'
with Debian dir 6683980bf6b5c02f6847fd56765833301f75f4f3
Diffstat (limited to 'po/updatepo.sh')
-rwxr-xr-x | po/updatepo.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/po/updatepo.sh b/po/updatepo.sh new file mode 100755 index 00000000..84e6ef7c --- /dev/null +++ b/po/updatepo.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +GITVER=`git describe --always --dirty` +GITHASH=`git rev-parse HEAD` + +echo "Update gettext translation files." + +DER=`pwd` +if [ ! -e "updatepo.sh" ] +then + echo "Error: Run from po/, the location of hardinfo.pot and XX.po files." + exit 1 +fi + +MSGTOTALOLD=`msgattrib --untranslated hardinfo.pot | grep -E "^msgstr \"\"" | wc -l` +echo "hardinfo.pot has $MSGTOTALOLD strings" + +mv hardinfo.pot hardinfo.pot.old +echo "" > hardinfo.pot # empty existing file to join (-j) with +for d in hardinfo/ shell/ modules/ includes/; +do + # work from hardinfo root to get reasonable file reference comments + cd .. + echo -n `pwd`; echo "/$d ..." + find "$d" -type f -name "*.[hc]" -print | sort | xargs xgettext -j -d hardinfo -o "$DER/hardinfo.pot" -k_ -kN_ -kC_:1c,2 -kNC_:1c,2 -c/ --from-code=UTF-8 + cd "$DER" +done; + +MSGTOTAL=`msgattrib --untranslated hardinfo.pot | grep -E "^msgstr \"\"" | wc -l` +CMSG=`msgattrib --untranslated hardinfo.pot | grep -E "^#,.*c-format" | wc -l` + +TDIFF=$(($MSGTOTAL - $MSGTOTALOLD)) +CHANGE="$TDIFF" +if [ $TDIFF -gt 0 ]; then CHANGE="+$TDIFF"; fi +if [ $TDIFF -eq 0 ]; then CHANGE="no change"; fi +echo "hardinfo.pot now has $MSGTOTAL strings ($CHANGE), with $CMSG c-format strings" +echo "(as of $GITVER $GITHASH)" + +for f in *.po +do + cp "$f" "$f.old" + + msgmerge -q -N "$f" hardinfo.pot > tmp.po + + # set/reset the X-Poedit-Basepath header + grep -v '"X-Poedit-Basepath\:[^"]*"' tmp.po | sed 's:\("Language\:[^"]*"\):\1\n"X-Poedit-Basepath\: ../\\n":' >"$f" + + rm -f tmp.po + + # stats + UNMSG=`msgattrib --untranslated "$f" | grep -E "^msgstr \"\"" | wc -l` + FUZMSG=`msgattrib --translated "$f" | grep -E "^#,.*fuzzy" | wc -l` + DONE=" "; if [ $UNMSG -eq 0 ]; then DONE="x"; fi + echo "- [$DONE] $f : ($UNMSG / $MSGTOTAL remain untranslated, needs work/fuzzy: $FUZMSG)" +done |