Mercurial > mplayer.hg
annotate help/help_create.sh @ 32282:606e4157cd4c
Split alloc and init of context so that parameters can be set in the context
instead of requireing being passed through function parameters. This also
makes sws work with AVOptions.
author | michael |
---|---|
date | Sun, 26 Sep 2010 19:33:57 +0000 |
parents | 7e7c541566ad |
children | be4dcfb3620c |
rev | line source |
---|---|
26878
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
1 #!/bin/sh |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
2 # Create the messages header file from the master source file or a translation. |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
3 # Missing messages are filled in from the master message file and, if |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
4 # requested, character set conversion is performed. |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
5 |
28432
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
6 if test -z $2 ; then |
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
7 echo "Error: missing parameters" |
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
8 echo "Usage: $0 <messages file> <character set>" |
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
9 exit 1 |
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
10 fi |
eb42079ed5f7
Print an error message when given insufficient parameters.
diego
parents:
26878
diff
changeset
|
11 |
26878
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
12 MASTER=help/help_mp-en.h |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
13 TARGET=help_mp.h |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
14 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
15 TRANSLATION=$1 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
16 CHARSET=$2 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
17 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
18 missing_messages(){ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
19 curr="" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
20 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
21 while read -r line; do |
30990 | 22 if echo "$line" | grep -q '^#define' ; then |
23 curr=`printf "%s\n" "$line" | cut -d ' ' -f 2` | |
24 if grep -q "^#define $curr[ ]" "$TRANSLATION" ; then | |
25 curr="" | |
26 fi | |
31681 | 27 elif [ -z "$line" ]; then |
28 curr="" | |
30990 | 29 fi |
30 if [ -n "$curr" ]; then | |
31 printf "%s\n" "$line" | |
32 fi | |
26878
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
33 done |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
34 } |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
35 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
36 cat <<EOF > "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
37 /* WARNING! This is a generated file, do NOT edit. |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
38 * See the help/ subdirectory for the editable files. */ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
39 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
40 #ifndef MPLAYER_HELP_MP_H |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
41 #define MPLAYER_HELP_MP_H |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
42 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
43 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
44 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
45 cat "$TRANSLATION" >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
46 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
47 cat <<EOF >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
48 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
49 /* untranslated messages from the English master file */ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
50 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
51 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
52 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
53 if test "$MASTER" != "$TRANSLATION" ; then |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
54 missing_messages < "$MASTER" >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
55 fi |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
56 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
57 cat <<EOF >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
58 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
59 #endif /* MPLAYER_HELP_MP_H */ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
60 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
61 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
62 if test $CHARSET != UTF-8 ; then |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
63 iconv -f UTF-8 -t "$CHARSET" "$TARGET" > "${TARGET}.tmp" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
64 mv "${TARGET}.tmp" "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
65 fi |