aboutsummaryrefslogblamecommitdiff
path: root/contrib/extract_translations/prepare-translation.sh
blob: 64bd03993108d4afebe7ddeb21ba503df16b362d (plain) (tree)
1
2
3
4
5



                                                  
                               













                                                                                
                                                  













































                                                         
                                                                                                                       

                 
                                                                                                                                  






























                                                                                                   
#!/bin/bash

# Frontend for ejabberd's extract_translations.erl
# by Badlop
# last updated: 8 December 2005

while [ "$1" != "" ] 
do
    case "$1" in
        -help)
            echo "Options:"
            echo "  -lang LANGUAGE"
            echo "  -src FULL_PATH_EJABBERD"
            echo ""
            echo "Example:"
            echo "  ./prepare-translation.sh -lang es -src /home/admin/ejabberd"
            exit 0
            ;;
        -lang)
            # This is the language to be extracted
            LANGU=$2
            shift
            shift
            ;;
        -src)
            # This is the path to the ejabberd source dir
            EJA_DIR=$2
            shift
            shift
            ;;
        *)
            echo "unknown option: '$1 $2'"
            shift
            shift
            ;;
    esac
done

# Where is Erlang binary
ERL=`which erl`

EXTRACT_DIR=$EJA_DIR/contrib/extract_translations/
EXTRACT_ERL=extract_translations.erl
EXTRACT_BEAM=extract_translations.beam
SRC_DIR=$EJA_DIR/src
MSGS_DIR=$SRC_DIR/msgs
MSGS_FILE=$LANGU.msg
MSGS_FILE2=$LANGU.msg.translate
MSGS_PATH=$MSGS_DIR/$MSGS_FILE
MSGS_PATH2=$MSGS_DIR/$MSGS_FILE2

if !([[ -n $EJA_DIR ]])
then 
echo "ejabberd dir does not exist: $EJA_DIR"
fi

if !([[ -x $EXTRACT_BEAM ]])
then 
echo -n "Compiling extract_translations.erl: "
sh -c "cd $EXTRACT_DIR; $ERL -compile $EXTRACT_ERL"
fi

echo ""
echo -n "Extracting language strings for '$LANGU':"

echo -n " new..."
$ERL -pa $EXTRACT_DIR -noinput -noshell -s extract_translations -s init stop -extra $SRC_DIR $MSGS_PATH >$MSGS_PATH.new

echo -n " old..."
$ERL -pa $EXTRACT_DIR -noinput -noshell -s extract_translations -s init stop -extra -unused $SRC_DIR $MSGS_PATH >$MSGS_PATH.unused

cat $MSGS_PATH >$MSGS_PATH2

echo "" >>$MSGS_PATH2

cat $MSGS_PATH.new >>$MSGS_PATH2
rm $MSGS_PATH.new
echo "" >>$MSGS_PATH2

cat $MSGS_PATH.unused >>$MSGS_PATH2
rm $MSGS_PATH.unused

echo " ok"

echo ""
echo "Process completed."

echo ""
echo "  A new file has been created for you, with the current, the new and the deprecated strings:"
echo "  $MSGS_PATH2"
echo ""
echo "  At the end of that file you will find the strings you must update:"
echo "   - Untranslated strings are like this: {"March", ""}."
echo "     To translate the string, add the text inside the commas. Example:"
echo "     {"March", "Marzo"}."
echo "   - Old strings that are not used: "Woowoa""
echo "     Search the entire file for those strings and remove them"
echo ""
echo "  Once you have translated all the strings and removed all the old ones,"
echo "  rename the file to overwrite the previous one:"
echo "  $MSGS_PATH"