source: trunk/devel/updatelangphp.awk @ 1101

Last change on this file since 1101 was 1101, checked in by moo, 2 years ago

devel: use gettext to scan translate string

  • Property svn:executable set to *
File size: 822 bytes
Line 
1#!/usr/bin/awk -f
2BEGIN {
3    print "<?php";
4    print "";
5    print "$strings += array(";
6}
7
8function flushOut() {
9    if (section) {
10        if (section == "msgstr") {
11            if (msgid == "") {
12            }
13            else {
14                print "\t\""msgid"\"";
15                print "\t=> \""msgstr"\",";
16            }
17        }
18        else {
19            print "unexpected section " section;
20            exit 1;
21        }
22        section = null;
23    }
24}
25
26/^msgid ".*"$/ {
27    $0 = gensub(/^msgid "(.*)"$/, "\\1", $0);
28
29    section = "msgid";
30    msgid = $0;
31    next;
32}
33/^msgstr ".*"$/ {
34    $0 = gensub(/^msgstr "(.*)"$/, "\\1", $0);
35
36    section = "msgstr";
37    msgstr = $0;
38    next;
39}
40/^".*"$/ {
41    $0 = gensub(/^"(.*)"$/, "\\1", $0);
42    if (section == "msgid") {
43        msgid = msgid $0;
44    }
45    else {
46        msgstr = msgstr $0;
47    }
48    next;
49}
50/^$/ {
51    flushOut();
52    next;
53}
54/^#/ {
55    next;
56}
57/./ {
58    print "error", $0;
59    exit 1;
60}
61END {
62    flushOut();
63    print ");";
64    print "";
65}
Note: See TracBrowser for help on using the repository browser.