Mercurial > mplayer.hg
view help/help_create.sh @ 33226:aca622bb31cf
Convert all manual pages to UTF-8 encoding.
This is the 21st century, the world has been using UTF-8 for long enough and we
have waited far too long for legacy encoding stragglers to catch up with the
present day and age. No current distribution should have trouble dealing with
UTF-8 manual pages anymore and any that do must strictly be considered legacy
systems in need of local workarounds.
author | diego |
---|---|
date | Sat, 23 Apr 2011 14:11:49 +0000 |
parents | 7e7c541566ad |
children | be4dcfb3620c |
line wrap: on
line source
#!/bin/sh # Create the messages header file from the master source file or a translation. # Missing messages are filled in from the master message file and, if # requested, character set conversion is performed. if test -z $2 ; then echo "Error: missing parameters" echo "Usage: $0 <messages file> <character set>" exit 1 fi MASTER=help/help_mp-en.h TARGET=help_mp.h TRANSLATION=$1 CHARSET=$2 missing_messages(){ curr="" while read -r line; do if echo "$line" | grep -q '^#define' ; then curr=`printf "%s\n" "$line" | cut -d ' ' -f 2` if grep -q "^#define $curr[ ]" "$TRANSLATION" ; then curr="" fi elif [ -z "$line" ]; then curr="" fi if [ -n "$curr" ]; then printf "%s\n" "$line" fi done } cat <<EOF > "$TARGET" /* WARNING! This is a generated file, do NOT edit. * See the help/ subdirectory for the editable files. */ #ifndef MPLAYER_HELP_MP_H #define MPLAYER_HELP_MP_H EOF cat "$TRANSLATION" >> "$TARGET" cat <<EOF >> "$TARGET" /* untranslated messages from the English master file */ EOF if test "$MASTER" != "$TRANSLATION" ; then missing_messages < "$MASTER" >> "$TARGET" fi cat <<EOF >> "$TARGET" #endif /* MPLAYER_HELP_MP_H */ EOF if test $CHARSET != UTF-8 ; then iconv -f UTF-8 -t "$CHARSET" "$TARGET" > "${TARGET}.tmp" mv "${TARGET}.tmp" "$TARGET" fi