mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-13 07:54:20 +01:00
62 lines
1.5 KiB
Bash
Executable File
62 lines
1.5 KiB
Bash
Executable File
#!/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.
|
|
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
|