Subversion Repositories LCARS

Compare Revisions

Last modification

Ignore whitespace Rev 15 → Rev 14

/trunk/tools/eazytrans/option-parser.sh
File deleted
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: tools/eazytrans/README
===================================================================
--- tools/eazytrans/README (revision 15)
+++ tools/eazytrans/README (nonexistent)
@@ -1,165 +0,0 @@
-
-EasyTranslator 0.95a - Stream editor to manage dictionary files
-Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
-
-Copyright (C) 2001 Thomas Lahn (webmaster@PointedEars.de)
-Be sure to have 'easyTrans' or similar in mail subject line for fast response.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program (COPYING file); if not, write to the
-Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-EasyTranslator 0.95a - Stream editor to manage dictionary files
-Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
-
-translate EXPRESSION DICTIONARY [OPTIONS]
-
-Tries to translate EXPRESSION looking up DICTIONARY and writes the result
-to standard output (stdout) in a single line followed by a newline (\n).
-
-Environment:
-
-TRANSLATE_DIR Dictionary folder root (absolute path '/')
- If undefined, this is the program directory
- (currently './').
-TRANSLATE_OPTIONS Default options to overwrite command-line options
-
-Arguments:
-
-EXPRESSION Word or (double-quoted) phrase to be translated
-DICTIONARY Path of dictionary file relative to TRANSLATE_DIR
-
-Translation OPTIONS:
- -b, --brackets If not in DICTIONARY, writes given WORD or EXPRESSION
- as [WORD] or [EXPRESSION].
- -m, --messages Return error messages instead of null-strings.
- -p, --phrase Translate EXPRESSION as entire phrase. If not given,
- each WORD of EXPRESSION is translated seperately.
- -r, --reverse Perform reverse translation. Recommended only if
- no appropriate dictionary file for vice-versa translation is
- available and -p is also used.
- -s, --sound Beep on fatal errors.
- -v, --verbose Display flow of operation. Includes -m behavior.
- -z, --zero Return not translatable tokens as null-strings.
- Overwrites -b.
-
-translate EXPRESSION DICTIONARY COMMAND TRANSLATION [INFO] [OPTIONS]
-translate COMMAND DICTIONARY [INFO] [OPTIONS]
-
-Dictionary file COMMANDs:
- -a, --add If not in DICTIONARY, add EXPRESSION with TRANSLATION
- to DICTIONARY and write TRANSLATION.
- If DICTIONARY not exists, create the file with INFO
- and add the entry; if INFO is a null-string,
- default INFO is added, containing program version,
- user name and timestamp. Requires 'sort'.
- -ai, -addinfo Add information data INFO to DICTIONARY.
- Must be used as first argument.
- -c, --create Create new DICTIONARY with INFO (see -a).
- Existing files are replaced. Must be used as first argument.
- -d, --delete If used with EXPRESSION and DICTIONARY, remove EXPRESSION
- from DICTIONARY instead of translating.
- If used as first argument, delete DICTIONARY.
- -i, --info Display information about DICTIONARY.
- Must be used as first argument.
-
- -o, --overwrite Like -a but overwrite a contained translation of
- EXPRESSION with TRANSLATION without question.
- Additionally requires 'mktemp'.
- -R, --repair Repair DICTIONARY instead of translating. Requires 'mktemp'.
- Info data is be kept but invalid entries are removed.
- USE WITH CAUTION!
- -s, --sort Sort DICTIONARY instead of translating. Requires 'sort'.
- Includes --sound when used with -v.
- Must be used as first argument.
-
-translate OPTION [OPTION]
-
-Help page OPTIONs:
- --1 Display help on one page (without 'clear' and user input).
- Useful with redirection
- (try 'translate --1 --? > translate.doc.txt').
- Must be given before all other help page options.
- --a, --about Display information about the program.
- --c, --cmd Display this help page.
- --d, --dict Display help about dictionary files.
- --dev, --emp Display special information for developers and employers.
- --x, --example Display example.
- --?, --help Display all help pages.
-
-
-EasyTranslator 0.95a - Stream editor to manage dictionary files
-Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
-
-EXAMPLE: If you would like to translate the English words 'a few' into German,
-
- translate ''a few'' en-de
-
-should write the German words
-
- ein(e) wenig(e)\n
-
-(without indent) to stdout if the echo dictionary file 'en-de' contains
-a correct entry for it (see next page). You may also translate it as
-entire phrase (which seems to make more sense here):
-
- translate ''a few'' en-de -p
-
-should instead write the German word 'einige\n'
-(replace '' in input with the double-quote character).
-
-
-EasyTranslator 0.95a - Stream editor to manage dictionary files
-Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
-
-DICTIONARY FILES:
-You may create/improve dictionary files to be used with EasyTranslator
-of your own. Translation data must be contained therein as follows:
-
-#:File description displayed when option -i is used\n[#:File description\n]
-[Expression:translation\n[Next expression:next translation\n]]
-Last expression:last translation\z
-
-Parts enclosed in rectangle brackets are optional. The colon (:) is to be used
-as delimiter character between original and translated expression only.
-Dictionary file names should contain common language identifiers separated
-by a dash (such as 'en-de.dic' for an English-German dictionary file).
-
-Program updates and dictionaries can be obtained from
-'http://pointedears.de/dev/unix/translate/'.
-Thank you for using a program by PointedEars.
-
-
-EasyTranslator 0.95a - Stream editor to manage dictionary files
-Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
-
-Copyright (C) 2001 Thomas Lahn (webmaster@PointedEars.de)
-Be sure to have 'easyTrans' or similar in mail subject line for fast response.
-
-INFORMATION FOR DEVELOPERS (KNOWN ISSUES)...
-
-1) As I have not found out the correct /REGEXP/ for 'sed' to remove all
- characters before/after another one including this character (delimiter)
- to date, removing each single printable character before/after
- delimiter is, for the time being, my only solution in bash. Please mail
- me if you have a more efficient solution, especially the correct /REGEXP/.
-2) Sorting the dictionary unfortunately also sorts its the info data by now.
-
-...AND FOR EMPLOYERS:
-
-BTW, if you have an idea for improving EasyTranslator or for another (field of)
-application you want me to develop for you (BASIC, DOS batch, Windows INF,
-Visual Basic, bash, Pascal, Delphi, C, HTML/JavaScript, and I am still learning
-other languages) feel free to mail me, too. THNX! -- PointedEars, 2001-03-28
-
Index: tools/eazytrans/dummy.dict
===================================================================
--- tools/eazytrans/dummy.dict (revision 15)
+++ tools/eazytrans/dummy.dict (nonexistent)
@@ -1 +0,0 @@
-#:EasyTranslator 0.95a dictionary file created by 'pelinux' on Mit Mär 28 13:51:49 CEST 2001
Index: tools/eazytrans/translate
===================================================================
--- tools/eazytrans/translate (revision 15)
+++ tools/eazytrans/translate (nonexistent)
@@ -1,655 +0,0 @@
-#!/bin/bash
-
-APPNAME="EazyTranslator"
-APPVER="0.97a"
-APPFILENAME=`basename $0`
-APPFILEDIR=`echo $0 | sed 's/'$APPFILENAME$'//'`
-
-# dictionary file
-DICT="$TRANSLATE_DIR"
-if [ -z "$DICT" ]; then DICT=$APPFILEDIR ; fi
-
-# delimiter name (for help page only) and character (string) for separating original expression
-# and translation in dictionary file
-DELIMITER_NAME="colon"
-DELIMITER=":"
-
-# all help on a single page
-SINGLE_PAGE=0
-
-# bell character
-CH_SOUND=""
-CH_SOUND_ON=$'\a'
-
-RESULT=""
-
-function title {
- if [ $SINGLE_PAGE -eq 0 ]; then clear ; fi
- echo
- echo $APPNAME" "$APPVER" - Stream editor to use and to manage dictionary files"
- echo "Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH"
- echo
-}
-
-function copyright {
- echo "Copyright (C) 2001 Thomas Lahn (webmaster@PointedEars.de)"
- echo "Be sure to have 'easyTrans' or similar in mail subject line for fast response."
- echo
-}
-
-function pause {
- if [ "$1" == "c" ]; then
- echo "Hit RETURN to continue..."
- else
- echo "Hit RETURN for the next page"
- fi
- read
-}
-
-function copying {
- title
- copyright
- echo "This program is free software; you can redistribute it and/or modify"
- echo "it under the terms of the GNU General Public License as published by"
- echo "the Free Software Foundation; either version 2 of the License, or"
- echo "(at your option) any later version."
- echo
- echo "This program is distributed in the hope that it will be useful,"
- echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
- echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
- echo "GNU General Public License for more details."
- echo
- echo "You should have received a copy of the GNU General Public License"
- echo "along with this program (COPYING file); if not, write to the"
- echo "Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA."
- echo
-}
-
-function cmdHelp {
- title
- echo $APPFILENAME" EXPRESSION DICTIONARY [OPTIONS]"
- echo
- echo "Tries to translate EXPRESSION looking up DICTIONARY and writes the result"
- echo "to standard output (stdout) in a single line followed by a newline (\n)."
- echo
- echo "Environment:"
- echo
- echo "TRANSLATE_DIR Dictionary folder root (absolute path '/')"
-if [ -n "$TRANSLATE_DIR" ]; then
- local INVALID_PATH=" -- INVALID PATH!"
- local INVALID_FORMAT=" -- INVALID FORMAT!"
- # : AutoCorrect performed!
- local INVALID_MSG=""
- if [ ! -e $TRANSLATE_DIR ]; then
- INVALID_MSG=$INVALID_PATH
- else
- local GREPRES=`echo $TRANSLATE_DIR | grep -e "\/$"`
- if [ -z "$GREPRES" ]; then INVALID_MSG=$INVALID_FORMAT ; fi
- fi
- echo " (currently '"$TRANSLATE_DIR"'"$INVALID_MSG")"
- #if [ "$INVALID_MSG" == "$INVALID_FORMAT" ]; then
- #export TRANSLATE_DIR=$TRANSLATE_DIR"/"
- #set -a
- #fi
-fi
- echo " If undefined, this is the program directory"
- echo " (currently '"$APPFILEDIR"')."
- echo "TRANSLATE_OPTIONS Default options to overwrite command-line options"
-if [ -n "$TRANSLATE_OPTIONS" ]; then
- echo " (currently '"$TRANSLATE_OPTIONS"')"
-fi
- echo
- echo "Arguments:"
- echo
- echo "EXPRESSION Word or (double-quoted) phrase to be translated"
- echo "DICTIONARY Path of dictionary file relative to TRANSLATE_DIR"
- echo
- if [ $SINGLE_PAGE -eq 0 ]; then pause "c" ; fi
- echo "Translation OPTIONS:"
- echo " -b, --brackets If not in DICTIONARY, writes given WORD or EXPRESSION"
- echo " as [WORD] or [EXPRESSION]."
- echo " -m, --messages Return error messages instead of null-strings."
- echo " -p, --phrase Translate EXPRESSION as entire phrase. If not given,"
- echo " each WORD of EXPRESSION is translated seperately."
- echo " -r, --reverse Perform reverse translation. Recommended only if"
- echo " no appropriate dictionary file for vice-versa translation is"
- echo " available and -p is also used."
- echo " -s, --sound Beep on fatal errors."
- echo " -v, --verbose Display flow of operation. Includes -m behavior."
- echo " -z, --zero Return not translatable tokens as null-strings."
- echo " Overwrites -b."
- echo
- if [ $SINGLE_PAGE -eq 0 ]; then pause "c" ; fi
- echo $APPFILENAME" EXPRESSION DICTIONARY COMMAND TRANSLATION [INFO] [OPTIONS]"
- echo $APPFILENAME" COMMAND DICTIONARY [INFO] [OPTIONS]"
- echo
- echo "Dictionary file COMMANDs:"
- echo " -a, --add If not in DICTIONARY, add EXPRESSION with TRANSLATION"
- echo " to DICTIONARY and write TRANSLATION."
- echo " If DICTIONARY not exists, create the file with INFO"
- echo " and add the entry; if INFO is a null-string,"
- echo " default INFO is added, containing program version,"
- echo " user name and timestamp. Requires 'sort'."
- echo " -ai, --addinfo Add information data INFO to DICTIONARY."
- echo " Must be used as first argument."
- echo " -c, --create Create new DICTIONARY with INFO (see -a)."
- echo " Existing files are replaced. Must be used as first argument."
- echo " -d, --delete If used with EXPRESSION and DICTIONARY, remove EXPRESSION"
- echo " from DICTIONARY instead of translating."
- echo " If used as first argument, delete DICTIONARY."
- echo " -i, --info Display information about DICTIONARY."
- echo " Must be used as first argument."
- echo
- if [ $SINGLE_PAGE -eq 0 ]; then pause "c" ; fi
- echo " -o, --overwrite Like -a but overwrite a contained translation of"
- echo " EXPRESSION with TRANSLATION without question."
- echo " Additionally requires 'mktemp'."
- echo " -R, --repair Repair DICTIONARY instead of translating. Requires 'mktemp'."
- echo " Info data is be kept but invalid entries are removed."
- echo " USE WITH CAUTION!"
- echo " -s, --sort Sort DICTIONARY instead of translating. Requires 'sort'."
- echo " Includes --sound when used with -v."
- echo " Must be used as first argument."
- echo
- if [ $SINGLE_PAGE -eq 0 ]; then pause "c" ; fi
- echo $APPFILENAME" OPTION [OPTION]"
- echo
- echo "Help page OPTIONs:"
- echo " --1 Display help on one page (without 'clear' and user input)."
- echo " Useful with redirection "
- echo " (try '"$APPFILENAME" --1 --? > translate.doc.txt')."
- echo " Must be given before all other help page options."
- echo " --a, --about Display information about the program."
- echo " --c, --cmd Display this help page."
- echo " --d, --dict Display help about dictionary files."
- echo " --dev, --emp Display special information for developers and employers."
- echo " --x, --example Display example."
- echo " --?, --help Display all help pages."
- echo
-}
-
-function example {
- title
- echo "EXAMPLE: If you would like to translate the English words 'a few' into German,"
- echo
- echo " "$APPFILENAME" ''a few'' en-de"
- echo
- echo "should write the German words"
- echo
- echo " ein(e) wenig(e)\n"
- echo
- echo "(without indent) to stdout if the echo dictionary file 'en-de' contains"
- echo "a correct entry for it (see next page). You may also translate it as"
- echo "entire phrase (which seems to make more sense here):"
- echo
- echo " "$APPFILENAME" ''a few'' en-de -p"
- echo
- echo "should instead write the German word 'einige\n'"
- echo "(replace '' in input with the double-quote character)."
- echo
-}
-
-function dictHelp {
- title
- echo "DICTIONARY FILES:"
- echo "You may create/improve dictionary files to be used with "$APPNAME
- echo "of your own. Translation data must match the following expression:"
- echo
- echo "#"$DELIMITER"File description displayed when option -i is used\n[#"$DELIMITER"File description\n]"
- echo "[Expression"$DELIMITER"translation\n[Next expression"$DELIMITER"next translation\n]]"
- echo "Last expression"$DELIMITER"last translation\z"
- echo
- echo "Parts enclosed in rectangle brackets are optional. The "$DELIMITER_NAME" ("$DELIMITER") is to be used"
- echo "as delimiter character between original and translated expression only."
- echo "Dictionary file names should contain common language identifiers separated"
- echo "by a dash (such as 'en-de.dic' for an English-German dictionary file)."
- echo
- echo "Program updates and dictionaries can be obtained from"
- echo "'http://pointedears.de/dev/unix/translate/'."
- echo "Thank you for using a program by PointedEars."
- echo
-}
-
-function devInfo {
- title
- copyright
- echo "INFORMATION FOR DEVELOPERS (KNOWN ISSUES)..."
- echo
- echo "- Sorting the dictionary unfortunately also sorts its info data by now."
- echo
- echo "...AND FOR EMPLOYERS:"
- echo
- echo "BTW, if you have an idea for improving EasyTranslator or for another (field of)"
- echo "application you want me to develop for you (BASIC, DOS batch, Windows INF,"
- echo "Visual Basic, bash, Pascal, Delphi, C, HTML/JavaScript, and I am still learning"
- echo "other languages) feel free to mail me, too. THNX! -- PointedEars, 2001-03-28"
- echo
-}
-
-function help {
- copying
- if [ $SINGLE_PAGE -eq 0 ]; then pause ; fi
- cmdHelp
- if [ $SINGLE_PAGE -eq 0 ]; then pause ; fi
- example
- if [ $SINGLE_PAGE -eq 0 ]; then pause ; fi
- dictHelp
- if [ $SINGLE_PAGE -eq 0 ]; then pause ; fi
- devInfo
-}
-
-function translateReverse {
- local EXPR="$1"
- if [ $VERBOSE -eq 1 ]; then echo "Executing: grep -i -e '"$DELIMITER$EXPR"$' '"$DICT"'" ; fi
- RESULT=`grep -i -e "$DELIMITER$EXPR$" "$DICT"`
- if [ $VERBOSE -eq 1 ]; then echo "grep returned: '"$RESULT"'" ; fi
- if [ -n "$RESULT" ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo "Reading expression from recordset (with sed requires only 1 step! :o)" ;
- echo "Executing: echo $RESULT | sed 's/$DELIMITER[ ]*[^$DELIMITER]*//'"
- fi
- RESULT=`echo $RESULT | sed 's/'$DELIMITER'[ ]*[^'$DELIMITER']*//'`
- if [ $VERBOSE -eq 1 ]; then echo "sed returned: '"$RESULT"'" ; fi
- fi
-
- # Should return only characters before the delimiter until BOL (expression)
-}
-
-function translate {
- local EXPR="$1"
- if [ $REVERSE -eq 1 ]; then translateReverse "$1" ; return ; fi
- if [ $VERBOSE -eq 1 ]; then echo "Executing: grep -i -e '^"$EXPR$DELIMITER"' '"$DICT"'" ; fi
- RESULT=`grep -i -e "^$EXPR$DELIMITER" "$DICT"`
- if [ $VERBOSE -eq 1 ]; then echo "grep returned: '"$RESULT"'" ; fi
- if [ -n "$RESULT" ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo "Reading translation from recordset (with sed requires only 1 step! :o)" ;
- echo "Executing: echo $RESULT | sed 's/[^$DELIMITER]*$DELIMITER[ ]*//'"
- fi
- RESULT=`echo $RESULT | sed 's/[^'$DELIMITER']*'$DELIMITER'[ ]*//'`
- if [ $VERBOSE -eq 1 ]; then echo "sed returned: '"$RESULT"'" ; fi
- fi
-
- # Should return only characters after the separation character until EOL
- # (translation)
-}
-
-# exit codes
-ESUCCESS=0
-ENO_DICT=1
-EDICT_DIR_NOT_FOUND=2
-EDICT_NOT_FOUND=3
-EDICT_WRONG_FORMAT=4
-EDICT_EXPR_CONTAINED=5
-EDICT_TEMP_ERROR=6
-EDICT_CREATE_ERROR=7
-EDICT_DELETE_EXPR_NOT_FOUND=8
-EDICT_REMOVE=9
-
-# argument flags
-DICTIONARY=0 # if 1, -d refers to the dictionary file instead of an entry
-
-# option flags - may be replaced by declare -i FLAG
-ADD=0
-ADDINFO=0
-BRACKETS=0
-CREATE=0
-DELETE=0
-INFO=0
-MESSAGES=0
-OVERWRITE=0
-PHRASE=0
-REPAIR=0
-REVERSE=0
-SORT=0
-SOUND=0
-VERBOSE=0
-ZERO=0
-
-if [ -n "$1" ]; then
- # retrieve arguments and use default settings from environment variable
- ARGUMENTS=$* ; if [ -n "$TRANSLATE_OPTIONS" ]; then ARGUMENTS=$ARGUMENTS" "$TRANSLATE_OPTIONS ; fi
- # check options
- for argument in $ARGUMENTS; do
- case "$argument" in
- "-b" | "--brackets") BRACKETS=1;;
- "-m" | "--messages") MESSAGES=1;;
- "-p" | "--phrase") PHRASE=1;;
- "-r" | "--reverse") REVERSE=1;;
- "-s" | "--sound") SOUND=1;;
- "-v" | "--verbose") VERBOSE=1 ; title ; copyright;;
- "-z" | "--zero") ZERO=1;;
- "--a" | "--about") copying ; exit $ESUCCESS;;
- "--c" | "--cmd") cmdHelp ; exit $ESUCCESS;;
- "--d" | "--dict") dictHelp ; exit $ESUCCESS;;
- "--dev" | "--emp") devInfo ; exit $ESUCCESS;;
- "--1") SINGLE_PAGE=1;;
- "--x" | "--example") example ; exit $ESUCCESS;;
- "--?" | "--help") help ; exit $ESUCCESS;;
- esac
- done
- if [ $SOUND -eq 1 ]; then CH_SOUND=$CH_SOUND_ON ; fi
- if [ -n "$2" ]; then
-# concatenate dictionary root and given dictionary file
- DICT="$DICT$2"
-# check for dictionary commands
- case "$1" in
- "-d" | "--delete") DELETE=1 ; DICTIONARY=1 ;;
- "-c" | "--create") CREATE=1;;
- "-i" | "--info") INFO=1;;
- "-s" | "--sort") SORT=1;;
- "-R" | "--repair") REPAIR=1;;
- esac
- case "$3" in
- "-a" | "--add") ADD=1;;
- "-ai" | "--addinfo") ADDINFO=1;;
- "-d" | "--delete") DELETE=1;;
- "-o" | "--overwrite") OVERWRITE=1;;
- esac
-
- if [ $VERBOSE -eq 1 ]; then
- if [ -z "$TRANSLATE_DIR" ]; then
- echo "Dictionary root (program directory): '"$APPFILEDIR"'"
- else
- echo "Dictionary root (TRANSLATE_DIR): '"$TRANSLATE_DIR"'"
- fi
- echo "Dictionary file: '"$2"'"
- echo "Dictionary file path: '"$DICT"'"
- fi
-
- DEFAULT_INFO=$APPNAME" "$APPVER" dictionary file created by '"`whoami`"' on "`date`
-
- if [ $CREATE -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo $DICT": Creating dictionary"
- fi
- if [ -z "$3" ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$DEFAULT_INFO ; fi
- echo "#"$DELIMITER$EFAULT_INFO &>$DICT
- else
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$3"'" ; fi
- echo "#"$DELIMITER$3 &>$DICT
- fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $?
- fi
-
- if [ -e "$DICT" ]; then # if dictionary file exists
- # check if dictionary file (contains at least '#$DELIMITER')
- if [ $VERBOSE -eq 1 ]; then echo "Executing: grep -e '."$DELIMITER".' '"$DICT"'" ; fi
- RESULT=`grep -e "#$DELIMITER." "$DICT"`
- if [ -z "$RESULT" ]; then
- if [ $VERBOSE -eq 1 ]; then echo "grep returned: ''" ; fi
- echo $DICT": Not a (valid) dictionary file (type '"$APPFILENAME" --d' for details)."
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $EDICT_WRONG_FORMAT
- else
- if [ $VERBOSE -eq 1 ]; then
- echo "grep returned not a null-string: '$DICT' seems to be a dictionary file"
- fi
- fi
- RESULT=""
-
- if [ $ADDINFO -eq 1 ]; then
- if [ -z "$3" ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$DEFAULT_INFO"'" ; fi
- echo "#"$DELIMITER$DEFAULT_INFO >>$DICT
- else
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$3"'" ; fi
- echo "#"$DELIMITER$3 >>$DICT
- fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $?
- fi
-
- if [ $INFO -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo "Obtaining information..."
- echo
- fi
- grep "^#$DELIMITER" "$DICT" | sed 's/^#'$DELIMITER'//'
- RESULT=`grep -e "^#$DELIMITER" "$DICT"`
- if [ -z "$RESULT" ]; then echo $CH_SOUND$DICT": No information available" ; fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $ESUCCESS
- fi
-
- if [ $ADD -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- RESULT=`grep -i -e "^$1$DELIMITER" "$DICT"`
- if [ -z "$RESULT" ]; then
- echo $DICT": Adding expression: '"$1"'"
- echo $DICT": Adding translation: '"$4"'"
- if [ -n "$4" ]; then
- echo $1$DELIMITER$4 >>$DICT
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND$APPFILENAME": No translation given for '"$1"'" ; fi
- fi
- SORT=1
- else
- translate "$1"
- echo $CH_SOUND$DICT": Expression already contained: '"$1"':"$RESULT
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $EDICT_EXPR_CONTAINED
- fi
- fi
-
- if [ $OVERWRITE -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- echo $DICT": Replacing expression: '"$1"'"
- echo $DICT": Replacing translation: '"$4"'"
- TMPFILE=`mktemp -q /tmp/$APPFILENAME.XXXXXX`
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $APPFILENAME": Can't create temp file, exiting..." ; fi
- exit EDICT_TEMP_ERROR
- else
- if [ -n "$4" ]; then
- grep -iv -e "^$1$DELIMITER" "$DICT" &>$TMPFILE
- if [ $? -eq 0 ]; then echo $1$DELIMITER$4 >>$TMPFILE ; fi
- if [ $? -eq 0 ]; then mv $TMPFILE $DICT &>/dev/null ; fi
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $APPFILENAME": Unable to replace dictionary file: '"$DICT"'" ; fi
- exit EDICT_REPLACE_ERROR
- else
- SORT=1
- fi
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND$APPFILENAME": No translation given for '"$1"'" ; fi
- fi
- fi
- fi
-
- if [ $DELETE -eq 1 ]; then
- if [ $DICTIONARY -eq 0 ]; then
- # delete entry
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Removing expression: "$1 ; fi
- RESULT=`grep -i -e "^$1$DELIMITER" "$DICT"`
- if [ -z "$RESULT" ]; then
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $DICT": Expression not contained in dictionary: '"$1"'" ; fi
- exit $EDICT_DELETE_EXPR_NOT_FOUND
- fi
- TMPFILE=`mktemp -q /tmp/$APPFILENAME.XXXXXX`
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $APPFILENAME": Can't create temp file, exiting..." ; fi
- exit EDICT_TEMP_ERROR
- else
- grep -iv -e "$1$DELIMITER" "$DICT" &>$TMPFILE
- if [ $? -eq 0 ]; then mv $TMPFILE $DICT &>/dev/null ; fi
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Unable to modify dictionary (cannot replace file)" ; fi
- exit EDICT_REPLACE_ERROR
- else
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Modification successful" ; fi
- exit $ESUCCESS
- fi
- fi
- else
- # delete dictionary
- if [ $VERBOSE -eq 1 ]; then
- echo $APPFILENAME": Deleting dictionary: '"$DICT"'"
- echo $APPFILENAME": Executing: rm '"$DICT"' &>/dev/null"
- fi
- rm $DICT &>/dev/null
- if [ $? -ne 0 ]; then
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $DICT": Unable to remove dictionary" ; fi
- exit $EDICT_REMOVE
- else
- if [ $VERBOSE -eq 1 ]; then
- echo $DICT": Dictionary successfully removed"
- echo
- fi
- exit $ESUCCESS
- fi
- fi
- fi
-
- if [ $SORT -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo "Sorting vocabulary: '"$DICT"'"
- echo "Executing: sort -d -f -o "$DICT" -t "$DELIMITER" "$DICT
- fi
- RESULT=`sort -d -f -o "$DICT" -t $DELIMITER "$DICT"`
- SORT_EXIT=$?
- if [ $VERBOSE -eq 1 ]; then
- echo "sort returned exit code "$SORT_EXIT
- if [ $SORT_EXIT -eq 0 ]; then
- echo "Sorting successful: '"$DICT"'"
- else
- echo "Sorting failed: '"$DICT"'"
- fi
- echo
- fi
- exit $SORT_EXIT
- fi
-
- if [ $REPAIR -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Repairing dictionary" ; fi
- TMPFILE=`mktemp -q /tmp/$APPFILENAME.XXXXXX`
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $APPFILENAME": Can't create temp file, exiting..." ; fi
- exit EDICT_TEMP_ERROR
- else
- grep -e "^#$DELIMITER" "$DICT" &>$TMPFILE
- grep -e ".$DELIMITER." "$DICT" >>$TMPFILE
- if [ $? -eq 0 ]; then mv $TMPFILE $DICT &>/dev/null ; fi
- if [ $? -ne 0 ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Unable to repair dictionary (cannot replace file)" ; fi
- exit EDICT_REPLACE_ERROR
- else
- $DICT": Repair successful"
- fi
- fi
- fi
-
- TRANSL=""
- REVERSE_TRANSL=""
- REVERSE_TRANSL_CAPT="T"
- REVERSE_TRANSL_ON=" (reverse)"
- REVERSE_TRANSL_CAPT_ON="Reverse t"
- if [ $REVERSE -eq 1 ]; then
- REVERSE_TRANSL=$REVERSE_TRANSL_ON
- REVERSE_TRANSL_CAPT=$REVERSE_TRANSL_CAPT_ON
- fi
- if [ $PHRASE -eq 1 ] ; then
- if [ $VERBOSE -eq 1 ]; then echo "Looking up phrase"$REVERSE_TRANSL": '"$1"'" ; fi
- if [ $ZERO -eq 0 ]; then
- TRANSL="$1" ; if [ $BRACKETS -eq 1 ]; then TRANSL="["$TRANSL"]" ; fi
- fi
- translate "$1"
- if [ -n "$RESULT" ]; then
- TRANSL=$RESULT
- if [ $VERBOSE -eq 1 ]; then echo $REVERSE_TRANSL_CAPT"ranslation: '"$TRANSL"'" ; fi
- else
- if [ $VERBOSE -eq 1 ]; then
- if [ $ZERO -eq 1 ]; then
- echo $REVERSE_TRANSL_CAPT"ranslation failed (return not translatable tokens as null-string): '"$1"'"
- else
- if [ $BRACKETS -eq 1 ]; then
- echo $CH_SOUND$REVERSE_TRANSL_CAPT"ranslation failed (enclosing phrase in brackets): '"$1"'"
- else
- echo $CH_SOUND$REVERSE_TRANSL_CAPT"ranslation failed (leave 'as is'): '"$1"'"
- fi
- fi
- fi
- fi
- else
- for word in $1; do
- if [ $ZERO -eq 0 ]; then TRANSLWORD="$word" ; else TRANSLWORD="" ; fi
- if [ $VERBOSE -eq 1 ]; then echo "Looking up word"$REVERSE_TRANSL": "$word ; fi
- translate "$word"
- if [ -n "$RESULT" ]; then
- TRANSLWORD=$RESULT
- if [ -n "$RESULT" ] && [ $VERBOSE -eq 1 ]; then echo $REVERSE_TRANSL_CAPT"ranslation: '"$TRANSLWORD"'" ; fi
- else
- if [ $ZERO -eq 0 ] && [ $BRACKETS -eq 1 ]; then TRANSLWORD="["$TRANSLWORD"]" ; fi
- if [ $VERBOSE -eq 1 ]; then
- if [ $ZERO -eq 1 ]; then
- echo $REVERSE_TRANSL_CAPT"ranslation failed (return not translatable tokens as null-string): "$word
- else
- if [ $BRACKETS -eq 1 ]; then
- echo $REVERSE_TRANSL_CAPT"ranslation failed (enclosing word in brackets): "$word
- else
- echo $REVERSE_TRANSL_CAPT"ranslation failed (leave 'as is'): "$word
- fi
- fi
- fi
- fi
- TRANSL=$TRANSL" "$TRANSLWORD
- done
- fi
- if [ $VERBOSE -eq 1 ]; then echo "Overall translation:" ; fi
- if [ -n "$TRANSL" ]; then echo $TRANSL ; fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- else
- # send errmsg to stderr
- if [ -n "$TRANSLATE_DIR" ] && [ ! -e "$TRANSLATE_DIR" ]; then
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND"$APPFILENAME: Unable to locate dictionary root: '"$TRANSLATE_DIR"'" 1>&2 ; fi
- else
- if [ $INFO -eq 0 ] && [ $ADD -eq 1 ] || [ $OVERWRITE -eq 1 ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo
- echo $DICT": Creating dictionary"
- fi
- if [ -n "$4" ]; then
- if [ -z "$5" ]; then
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$APPNAME" "$APPVER" dictionary file created by '"`whoami`"' on "`date`"'" ; fi
- echo "#"$DELIMITER$APPNAME" "$APPVER" dictionary file created by '"`whoami`"' on "`date` &>$DICT
- else
- if [ $VERBOSE -eq 1 ]; then echo $DICT": Adding information: '"$5"'" ; fi
- echo "#"$DELIMITER$5 &>$DICT
- fi
- if [ $? -eq 0 ]; then
- if [ $VERBOSE -eq 1 ]; then
- echo $DICT": Adding expression: '"$1"'"
- echo $DICT": Adding translation: '"$4"'"
- fi
- echo $1$DELIMITER$4 >>$DICT
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND$APPFILENAME": Unable to create dictionary file: '"$DICT"'" ; fi
- exit EDICT_CREATE_ERROR
- fi
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND$APPFILENAME": No translation given for '"$1"'" ; fi
- fi
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then echo $CH_SOUND$APPFILENAME": Unable to locate dictionary file: '"$DICT"' (please double-quote phrases)" 1>&2 ; fi
- fi
- fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- if [ -n "$TRANSLATE_DIR" ] && [ ! -e "$TRANSLATE_DIR" ]; then
- exit $EDICT_DIR_NOT_FOUND
- else
- exit $EDICT_NOT_FOUND
- fi
- fi
- else
- if [ $MESSAGES -eq 1 ] || [ $VERBOSE -eq 1 ]; then
- # send errmsg to stderr
- echo $CH_SOUND$APPFILENAME": No dictionary file given" 1>&2
- fi
- if [ $VERBOSE -eq 1 ]; then echo ; fi
- exit $ENO_DICT
- fi
-else
- help
-fi
/tools/eazytrans/translate
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: tools/eazytrans/install.sh
===================================================================
--- tools/eazytrans/install.sh (revision 15)
+++ tools/eazytrans/install.sh (nonexistent)
@@ -1,186 +0,0 @@
-#!/bin/bash
-
-APPNAME="EazyTranslator"
-APPVER="0.96a Setup"
-APPFILEDIR=`pwd`
-APPFILENAME="translate"
-
-function title {
- clear
- echo $APPNAME" "$APPVER" - (C) 2001 Thomas Lahn (webmaster@PointedEars.de)"
-}
-
-function Error {
- echo
- pause "c"
-}
-
-function EFailed {
- echo -e "$rc_failed"
- Error
-}
-
-X=""
-function val2x {
- case $1 in
- -1) X="-";;
- 0) X=" ";;
- 1) X="x";;
- esac
-}
-
-
-# Acquire default text values for process success/failure messages
-. /etc/rc.config
-
-if [ -n "$1" ]; then CPDEST=$1 ; else CPDEST="/opt/EazyTrans" ; fi
-CREATELNK=1
-MODI_USERS=1
-MODI_ROOT=1
-MODI_SKEL=1
-YES="Yes!"
-NO="No."
-DEF="Default"
-YESNO="$YES $NO"
-YESNODEF="$YES $NO $DEF"
-
-CONTINUE=0
-while [ $CONTINUE -eq 0 ]; do
- title
- echo
-# if [ `whoami` != "root" ]; then echo "Sorry, only 'root' can do this!" ; echo ; exit 1 ; fi
- echo "This program will do the following:"
- echo
- echo "1) Copy the program files to: '"$CPDEST"'"
- val2x $CREATELNK
- echo "2) ["$X"] Create a symbolic link to /usr/bin"
- val2x $MODI_USERS
- echo "3) ["$X"] Modify the ~/.bashrc file of existing users (default)"
- val2x $MODI_ROOT
- echo "4) ["$X"] Modify the /root/.bashrc file (default)"
- val2x $MODI_SKEL
- echo "5) ["$X"] Modify the /etc/skel/.bashrc file (default)"
- echo
- echo "Select the value to be changed, proceed with these values or cancel:"
- OPT_PROCEED="Proceed!"
- OPT_CANCEL="Cancel."
- OPTIONS="1 2 3 4 5 $OPT_PROCEED $OPT_CANCEL"
- select SELOPT in $OPTIONS; do
- case $SELOPT in
- "1")
- echo
- echo "Where should the program files be copied to? (RETURN cancels):"
- echo -n "> "
- read S
- if [ -n "$S" ]; then CPDEST=$S ; fi
- break;;
- "2")
- echo
- echo "Should a symbolic link '/usr/bin/"$APPFILENAME"' be created"
- echo "so that the program becomes available to all users?"
- select SELOPT in $YESNODEF; do
- case $SELOPT in
- $YES)
- CREATELNK=1
- break;;
- $NO)
- CREATELNK=0
- break;;
- $DEF)
- CREATELNK=1
- break;;
- *)
- echo "Bad option"
- echo;;
- esac
- done
- break;;
- "3")
- echo
- echo "Should the ~/.bashrc file of existing users be modified"
- echo "so that they can use the global dictionary files without typing a path?"
- select SELOPT in $YESNODEF; do
- case $SELOPT in
- $YES)
- MODI_USERS=1
- break;;
- $NO)
- MODI_USERS=0
- break;;
- $DEF)
- MODI_USERS=1
- break;;
- *)
- echo "Bad option"
- echo;;
- esac
- done
- break;;
- "4")
- echo
- echo "Should /root/.bashrc be modified so that 'root' can use"
- echo "the global dictionary files without typing a path?"
- select SELOPT in $YESNODEF; do
- case $SELOPT in
- $YES)
- MODI_ROOT=1
- break;;
- $NO)
- MODI_ROOT=0
- break;;
- $DEF)
- MODI_ROOT=1
- break;;
- *)
- echo "Bad option"
- echo
- esac
- done
- break;;
- "5")
- echo
- echo "Should /etc/skel/.bashrc be modified so that new users"
- echo "can use the global dictionary files without typing a path?"
- select SELOPT in $YESNODEF; do
- case $SELOPT in
- $YES)
- MODI_SKEL=1
- break;;
- $NO)
- MODI_SKEL=0
- break;;
- $DEF)
- MODI_SKEL=1
- break;;
- *)
- echo "Bad option"
- echo
- esac
- done
- break;;
- $OPT_PROCEED)
- title
- echo
- echo "Creating program directory '"$CPDEST"'"
- if [ -d
- if [ -x "$APPFILENAME" ]; then
- ln -s -v $APPFILEDIR/$APPFILENAME /usr/bin/$APPFILENAME
- else
- echo $0": Unable to find the file "$APPFILEDIR/$APPFILENAME"' in current directory."
- fi
- echo
- echo
- exit 0;;
- $OPT_CANCEL)
- title
- echo
- echo "Canceled."
- echo
- exit 0;;
- *)
- break;;
- esac
- done
-done
-
-exit 0
/tools/eazytrans/install.sh
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: tools/eazytrans/uninstall.sh
===================================================================
--- tools/eazytrans/uninstall.sh (revision 15)
+++ tools/eazytrans/uninstall.sh (nonexistent)
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-APPFILENAME="translate"
-
-echo
-rm /usr/bin/$APPFILENAME
-if [ $? -eq 0 ]; then
- echo "Successfully removed symbolic link: /usr/bin/"$APPFILENAME
-fi
-echo
/tools/eazytrans/uninstall.sh
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property