Mercurial > mplayer.hg
annotate help/help_create.sh @ 31526:ec8cb01e57d1
Place temporary files in a subdirectory of their own.
author | diego |
---|---|
date | Thu, 01 Jul 2010 09:00:54 +0000 |
parents | 0ad2da052b2e |
children | 7e7c541566ad |
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 | |
27 else | |
28 if [ -z "$line" ]; then | |
29 curr="" | |
30 fi | |
31 fi | |
26878
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
32 |
30990 | 33 if [ -n "$curr" ]; then |
34 printf "%s\n" "$line" | |
35 fi | |
26878
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
36 done |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
37 } |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
38 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
39 cat <<EOF > "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
40 /* WARNING! This is a generated file, do NOT edit. |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
41 * See the help/ subdirectory for the editable files. */ |
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 #ifndef MPLAYER_HELP_MP_H |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
44 #define MPLAYER_HELP_MP_H |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
45 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
46 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
47 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
48 cat "$TRANSLATION" >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
49 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
50 cat <<EOF >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
51 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
52 /* untranslated messages from the English master file */ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
53 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
54 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
55 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
56 if test "$MASTER" != "$TRANSLATION" ; then |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
57 missing_messages < "$MASTER" >> "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
58 fi |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
59 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
60 cat <<EOF >> "$TARGET" |
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 #endif /* MPLAYER_HELP_MP_H */ |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
63 EOF |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
64 |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
65 if test $CHARSET != UTF-8 ; then |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
66 iconv -f UTF-8 -t "$CHARSET" "$TARGET" > "${TARGET}.tmp" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
67 mv "${TARGET}.tmp" "$TARGET" |
73921138ff30
Move messages header file creation to a separate shell script.
diego
parents:
diff
changeset
|
68 fi |