Files
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

264 lines
10 KiB
Plaintext

#@(#)27 1.11 src/bos/objclass/cmdmsg.add, cmdmle, bos411, 9428A410j 5/2/94 17:28:26
#*****************************************************************************\
#
# COMPONENT_NAME: (CMDMLE)
#
# FUNCTIONS: none
#
# ORIGINS: 27
#
# (C) COPYRIGHT International Business Machines Corp. 1989, 1993
# All Rights Reserved
# Licensed Materials - Property of IBM
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#*****************************************************************************/
##############################################################################
# #
# Smit dialog for converting system messages from one codeset to another. #
# #
##############################################################################
sm_cmd_hdr:
id ="catalog_convert"
option_id ="catalog_opt"
has_name_select ="n"
name ="Convert System Messages"
name_msg_file ="smit.cat"
name_msg_set =44
name_msg_id =10
cmd_to_exec ="\
convert_msg_cat()
{
while getopts a:b:c:d: Option \"$@\"
do
case $Option in
a) source_msg_cat=$OPTARG;;
b) source_locale=$OPTARG;;
c) target_msg_cat=$OPTARG;;
d) target_locale=$OPTARG;;
esac
done
echo $source_locale | grep -q '\\['
if [[ $? -eq 0 ]]
then
source_locale=`echo $source_locale | cut -f2 -d'[' | cut -c1-5`
fi
echo $target_locale | grep -q '\\['
if [[ $? -eq 0 ]]
then
target_locale=`echo $target_locale | cut -f2 -d'[' | cut -c1-5`
fi
if [[ -z $target_locale ]]
then
first_char=`echo $source_locale | cut -c1-1`
rest_of_chars=`echo $source_locale | cut -c2-128`
if [ `expr \"$first_char\" : \"\[\[:lower:\]\]\"` -ne 0 ]
then
new_first_char=`echo $first_char | tr \"\[:lower:\]\" \"\[:upper:\]\"`
else
new_first_char=`echo $first_char | tr \"\[:upper:\]\" \"\[:lower:\]\"`
fi
target_locale=${new_first_char}${rest_of_chars}
fi
if [[ `dirname $source_msg_cat` = '.' ]]
then
source_msg_cat=/usr/lib/nls/msg/$source_locale/$source_msg_cat
fi
if [[ -z $target_msg_cat ]]
then
target_msg_cat=`echo $source_msg_cat | sed \"s/$source_locale/$target_locale/g\"`
fi
if [[ `dirname $target_msg_cat` = '.' ]]
then
target_msg_cat=/usr/lib/nls/msg/$target_locale/$target_msg_cat
fi
locale -a | grep -xq $source_locale
if [[ $? -ne 0 ]]
then
dspmsg -s 44 smit.cat 250 \
'Error : The source locale %s is not installed.\n' $source_locale
dspmsg -s 44 smit.cat 240 \
'The message catalog %s was not converted.\n' $source_msg_cat
exit 1
fi
locale -a | grep -xq $target_locale
if [[ $? -ne 0 ]]
then
dspmsg -s 44 smit.cat 260 \
'Error : The target locale %s is not installed.\n' $target_locale
dspmsg -s 44 smit.cat 240 \
'The message catalog %s was not converted.\n' $source_msg_cat
exit 1
fi
##
## Figure out the source and target codesets by generating
## a dummy message catalog in each locale and reading the
## header of thre resulting msg catalog
##
echo '$set 1\n1 \"\"' | LC_CTYPE=$source_locale gencat /tmp/.source.cat
echo >> /tmp/.source.cat
source_codeset=`cut -b9-28 /tmp/.source.cat`
rm -f /tmp/.source.cat
echo '$set 1\n1 \"\"' | LC_CTYPE=$target_locale gencat /tmp/.target.cat
echo >> /tmp/.target.cat
target_codeset=`cut -b9-28 /tmp/.target.cat`
rm -f /tmp/.target.cat
LC_CTYPE=$source_locale dspcat -g $source_msg_cat > /tmp/.working_source.$$
if [[ $? -ne 0 ]]
then
dspmsg -s 44 smit.cat 240 \
'The message catalog %s was not converted.\n' $source_msg_cat
rm -f /tmp/.working_source.$$
exit 1
fi
if [[ $source_codeset != $target_codeset ]]
then
iconv -f $source_codeset -t $target_codeset /tmp/.working_source.$$ > /tmp/.converted_source.$$
if [[ $? -ne 0 ]]
then
dspmsg -s 44 smit.cat 270 \
'Error : The codeset conversion from %1$s to %2$s failed.\n' \
$source_codeset $target_codeset
dspmsg -s 44 smit.cat 240 \
'The message catalog %s was not converted.\n' $source_msg_cat
rm -f /tmp/.working_source.$$ /tmp/.converted_source.$$
exit 1
fi
else
mv -f /tmp/.working_source.$$ /tmp/.converted_source.$$
fi
rm -f $target_msg_cat
LC_CTYPE=$target_locale gencat $target_msg_cat /tmp/.converted_source.$$
if [[ $? -ne 0 ]]
then
dspmsg -s 44 smit.cat 240 \
'The message catalog %s was not converted.\n' $source_msg_cat
rm -f /tmp/.converted_source.$$
exit 1
fi
echo $target_msg_cat
exit 0
}
convert_msg_cat"
ask ="n"
exec_mode =""
ghost =""
cmd_to_discover =""
cmd_to_discover_postfix =""
name_size =0
value_size =0
help_msg_id ="1800577"
help_msg_loc =""
sm_cmd_opt:
id ="catalog_opt"
id_seq_num ="01"
disc_field_name =""
name ="SOURCE message catalog"
name_msg_file ="smit.cat"
name_msg_set =44
name_msg_id =1
op_type =""
entry_type ="f"
entry_size =0
required ="+"
prefix ="-a "
cmd_to_list_mode =""
cmd_to_list =""
cmd_to_list_postfix =""
multi_select =""
value_index =0
disp_values =""
values_msg_file =""
values_msg_set =0
values_msg_id =0
aix_values =""
help_msg_id ="1312001"
help_msg_loc =""
sm_cmd_opt:
id ="catalog_opt"
id_seq_num ="02"
disc_field_name =""
name ="LOCALE of source message catalog"
name_msg_file ="smit.cat"
name_msg_set =44
name_msg_id =2
op_type ="l"
entry_type ="t"
entry_size =0
required ="+"
prefix ="-b "
cmd_to_list_mode =""
cmd_to_list ="/usr/lib/nls/lsmle -c"
cmd_to_list_postfix =""
multi_select =""
value_index =0
disp_values =""
values_msg_file =""
values_msg_set =0
values_msg_id =0
aix_values =""
help_msg_id ="1312003"
help_msg_loc =""
sm_cmd_opt:
id ="catalog_opt"
id_seq_num ="03"
disc_field_name =""
name ="TARGET message catalog"
name_msg_file ="smit.cat"
name_msg_set =44
name_msg_id =3
op_type =""
entry_type ="f"
entry_size =0
required ="y"
prefix ="-c "
cmd_to_list_mode =""
cmd_to_list =""
cmd_to_list_postfix =""
multi_select =""
value_index =0
disp_values =""
values_msg_file =""
values_msg_set =0
values_msg_id =0
aix_values =""
help_msg_id ="1312002"
help_msg_loc =""
sm_cmd_opt:
id ="catalog_opt"
id_seq_num ="04"
disc_field_name =""
name ="LOCALE of target message catalog"
name_msg_file ="smit.cat"
name_msg_set =44
name_msg_id =4
op_type ="l"
entry_type ="t"
entry_size =0
required ="y"
prefix ="-d "
cmd_to_list_mode =""
cmd_to_list ="/usr/lib/nls/lsmle -c"
cmd_to_list_postfix =""
multi_select ="n"
value_index =0
disp_values =""
values_msg_file =""
values_msg_set =0
values_msg_id =0
aix_values =""
help_msg_id ="1312004"
help_msg_loc =""