view help/help_create.sh @ 30367:2db4c1158df9

Make the scale filter prefer yuv conversions that do not need chroma scaling. Also always try keeping input and output format the same first.
author reimar
date Sat, 23 Jan 2010 19:00:09 +0000
parents eb42079ed5f7
children 0ad2da052b2e
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
	else
		if [ -z "$line" ]; then
			curr=""
		fi
	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