1
0
Fork 0
inkscape/po/update_po_files.sh
Daniel Baumann 02d935e272
Adding upstream version 1.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 23:40:13 +02:00

43 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
# Run before 'make inkscape_pot' from the compiling
# directory with cmake to generate inkscape.pot file.
# Updates PO files from the current POT file
# Please run this program from the po/ directory
# Existing po.old files will be overwritten
if [ "$?" -eq "0" ]; then
POT_FILENAME="`ls -1rt *.pot 2>/dev/null|tail -1 2>/dev/null`"
if [ ! -r "$POT_FILENAME" ]; then
echo "Could not create POT file. Exiting."
exit
fi
else
echo "Could not create POT file (gettext? not found). Exiting."
exit
fi
PO_FILE_COUNT=0
find . -noleaf -type f -name "*.po"|sort|\
(
while read FILENAME; do
PO_FILE_COUNT=`expr $PO_FILE_COUNT + 1`
mv -f "$FILENAME" "$FILENAME".old # do not ask questions, because the answers would come from the pipe
if [ "$?" -eq "0" ]; then
echo "$FILENAME"
msgmerge "$FILENAME".old "$POT_FILENAME" > "$FILENAME"
if [ "$?" -ne "0" ]; then
echo "Could not merge \"$FILENAME.old\"."
else
rm "$FILENAME".old
msgfmt -v -c --statistics -o /dev/null "$FILENAME"
fi
else
echo "Could not rename \"$FILENAME\". File skipped."
fi
done
echo; echo "Total number of PO files: $PO_FILE_COUNT"
)
echo