1 #!/bin/sh 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License, Version 1.0 only 7 # (the "License"). You may not use this file except in compliance 8 # with the License. 9 # 10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 # or http://www.opensolaris.org/os/licensing. 12 # See the License for the specific language governing permissions 13 # and limitations under the License. 14 # 15 # When distributing Covered Code, include this CDDL HEADER in each 16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 # If applicable, add the following below this CDDL HEADER, with the 18 # fields enclosed by brackets "[]" replaced with your own identifying 19 # information: Portions Copyright [yyyy] [name of copyright owner] 20 # 21 # CDDL HEADER END 22 # 23 # 24 # Copyright 2005 Sun Microsystems, Inc. All rights reserved. 25 # Use is subject to license terms. 26 # 27 28 # 29 # Copyright 2011 Nexenta Systems, Inc. All rights reserved. 30 # 31 32 XGETTEXT=xgettext 33 MSGDIR=$1 34 35 # 36 # Change Directory 37 # 38 cd ./port/gen 39 rm -f *.po 40 41 # 42 # get list of files 43 # 44 FILES=`grep gettext *.c | sed "s/:.*//" | sort | sed "s/\.c//" | uniq` 45 46 47 # 48 # Create po files 49 # No need for options for xgettext 50 # 51 for i in ${FILES} 52 do 53 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i 54 ${XGETTEXT} ${i}.i 55 cat messages.po | sed "/^domain/d" > ${i}.po 56 rm -f ${i}.i messages.po 57 done 58 59 # 60 # Create po files 61 # Use -a 62 # 63 64 # First, create errlst.c, if it doesn't exist. 65 # new_list.c is created as a side effect 66 if [ ! -f errlst.c ]; then 67 awk -f errlist.awk errlist 68 rmerr="errlst.c new_list.c" 69 else 70 rmerr= 71 fi 72 73 for i in siglist errlst 74 do 75 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i 76 ${XGETTEXT} -a ${i}.i 77 cat messages.po | sed "/^domain/d" > ${i}.po 78 rm -f ${i}.i messages.po 79 done 80 81 # 82 # Copy .po files 83 # 84 cp *.po ${MSGDIR} 85 86 # 87 # And remove them 88 # 89 rm -f *.po ${rmerr} 90 91 # 92 # Change Directory 93 # 94 cd ../locale 95 rm -f messages.po regerror.po 96 97 ${XGETTEXT} -a regerror.c 98 cat messages.po | sed "/^domain/d" > regerror.po 99 rm -f regerror.i messages.po 100 101 # 102 # Copy .po file 103 # 104 cp regerror.po ${MSGDIR} 105 106 # And remove it 107 108 rm -f regerror.po