radare2/sys/translate.sh

81 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
if [ -z "$1" ]; then
echo "Usage:"
echo " sys/translate.sh [--options] [lang|path]"
echo "Options:"
echo " --list list all supported languages"
echo " --update update from radare2-translations git"
echo " --reset restore default strings"
echo "Languages:"
echo " - english"
if [ -d "sys/lang" ]; then
cd sys/lang && ls | xargs echo ' -'
else
echo "Run --update for more languages"
fi
exit 1
fi
if [ "$1" = "--update" ]; then
if [ -d "sys/lang" ]; then
( cd sys/lang && git pull )
else
git clone --depth 1 https://github.com/radare/radare2-translations sys/lang || exit 1
fi
exit 0
fi
if [ "$1" = "-l" -o "$1" = "--list" ]; then
echo english
cd sys/lang && ls | cat
exit 0
fi
if [ "$1" = english ]; then
RESET=1
N=catalan
else
if [ "$1" = "--reset" ]; then
RESET=1
shift
else
RESET=0
fi
N="$1"
fi
if [ -d "$N" ]; then
:
else
if [ -d "sys/lang/$N" ]; then
L="sys/lang/$N"
else
if [ -d "$N" ]; then
L="$N"
else
echo "Invalid language"
exit 1
fi
fi
fi
echo
echo "WARNING: Translations are experimental and can only be changed at compile time"
echo "WARNING: Everyone is welcome to submit their translation efforts. I have no plans"
echo "WARNING: to support runtime language selection, because of the unnecessary overhead"
echo
for a in `cd "$L" && echo *` ; do
F=`echo $a | sed -e s,_,/,g`
echo "Processing $F"
git checkout "$F"
if [ "${RESET}" = 0 ]; then
sed -f "$L/$a" < "$F" > .tmp
if [ $? = 0 ]; then
mv .tmp $F
else
echo "Failed"
fi
fi
done