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 32XGETTEXT=xgettext 33MSGDIR=$1 34 35# 36# Change Directory 37# 38 cd ./port/gen 39 rm -f *.po 40 41# 42# get list of files 43# 44FILES=`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# 51for i in ${FILES} 52do 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 57done 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 66if [ ! -f errlst.c ]; then 67 awk -f errlist.awk errlist 68 rmerr="errlst.c new_list.c" 69else 70 rmerr= 71fi 72 73for i in siglist errlst 74do 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 79done 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 109