source: trunk/devel/updatelangphp.awk @ 1102

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

htdocs: updated translation using po

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