1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-13 07:54:20 +01:00

62 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
#
# Extract the text catalog from the source code,
# and merge with the already translated texts.
#
# Please be aware that this OVERWRITES the existing *.po and *.properties files.
# You may want to commit to your repository before running this script.
#
# by Shigeru KANEMOTO at SWITCHSCIENCE.
# on 2011-10-15
catalog="/tmp/$$.po"
files="/tmp/$$.files"
trap "rm -f '$catalog' '$files'" 0 1 2 15
catalog()
{
# Generate the new text catalog without the already translated texts.
# The 'merge existing' option for xgetext does not work propery for our purpose.
2015-08-06 16:25:27 +02:00
find ../../../../../app/ -name '*.java' -print > "$files"
find ../../../../../arduino-core/ -name '*.java' -print >> "$files"
xgettext -s -L Java --from-code=utf-8 --keyword=tr --output="$catalog" --files-from="$files"
}
update()
{
echo -e "Updating $1...\c"
cat "$catalog" | python2 python/update.py "$1"
msgcat -p "$1" > $(basename "$1" .po).properties
# msgcat may complain about "CHARSET" if you didn't replace "CHARSET" with
# your correct charset.
echo
}
if [ $0 != "./update.sh" ]; then
echo "update.sh: Invoke this script as ./update.sh"
exit 1
fi
while [ $# -gt 0 ]; do
if [ $1 = '-a' ]; then
targets=Resources_*.po
else
targets="$targets Resources_$1.po"
fi
shift
done
if [ "$targets" = "" ]; then
echo "update.sh: Give at least one language code or '-a'."
exit 1
fi
# Then, merge with already translated texts.
catalog
for target in $targets; do
update $target
done