cdesktopenv/cde/programs/localized/util/makeMessCat

72 lines
1.5 KiB
Bash
Executable File

#! /bin/ksh
typeset USE_LANG_DIR="."
typeset VERSION=""
typeset REMOVE=${REMOVE:-removeVmsg}
while [ $# -gt 0 ]; do
case "$1" in
-v) # version string comes on command line
shift;
[ -n "$1" ] && VERSION="@(#)$1"
;;
-d) # use old vue2.0 method accessing vueversion.h
USE_LANG_DIR="../$2"
[ -r ../../../../X11/vueversion.h ] && {
VERSION=`grep static ../../../../X11/vueversion.h | \
sed s/static.*\=\ \"// | \
sed s/\".*// ` ;
}
;;
-r) # prevent removal of temp ".vmsg" files
REMOVE=""
;;
-m) #
GENCAT_OPTIONS=-m
;;
*) # done with options
break;
;;
esac
shift
done
#
# Added while logic below to parse multiple .msg files form the arguments,
# this logic assumes the first .msg file passed in will be the name of the
# .cat file, thus remaining compatible with the old makeMesgcat.
#
base_file=${1%.*}
while [ $# -gt 1 ]; do
base=${1%.*} # strip any extension
[ -n "$VERSION" ] && VERSION="\\\n$VERSION"
sed "s/@(#)version_goes_here/$VERSION/" <$USE_LANG_DIR/$base.msg >$USE_LANG_DIR/$base.vmsg
set -A msg_files "$msg_files $USE_LANG_DIR/$base.vmsg"
shift
done
echo "Running gencat on $msg_files with LANG set to $1 "
rm -f $USE_LANG_DIR/$base.cat
LANG=$1 gencat $GENCAT_OPTIONS $USE_LANG_DIR/$base_file.cat $msg_files
LANG=C
chmod -w $USE_LANG_DIR/$base_file.cat
if [ "$REMOVE" = removeVmsg ]
then
echo " Removing $msg_files "
rm -f $msg_files
else
echo " Not removing $msg_files "
fi