summaryrefslogtreecommitdiff
path: root/intl/po2tbl.sed
diff options
context:
space:
mode:
Diffstat (limited to 'intl/po2tbl.sed')
-rw-r--r--intl/po2tbl.sed60
1 files changed, 60 insertions, 0 deletions
diff --git a/intl/po2tbl.sed b/intl/po2tbl.sed
new file mode 100644
index 0000000..93c0435
--- /dev/null
+++ b/intl/po2tbl.sed
@@ -0,0 +1,60 @@
+1 {
+ i\
+/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
+\
+#if HAVE_CONFIG_H\
+# include <config.h>\
+#endif\
+\
+#include "libgettext.h"\
+\
+const struct _msg_ent _msg_tbl[] = {
+ h
+ s/.*/0/
+ x
+}
+/^msgid/ {
+ s/msgid[ ]*\(".*"\)/ {\1/
+ tb
+ :b
+ N
+ s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
+ ta
+ s/\(.*\)\n.*/\1/
+ bc
+ :a
+ s/\(.*\)\(\n.*\)/\1\\\2/
+ P
+ s/.*\n\(.*\)/\1/
+ tb
+ :c
+ x
+ td
+ :d
+ s/9\(_*\)$/_\1/
+ td
+ s/^\(_*\)$/0\1/
+ s/8\(_*\)$/9\1/
+ s/7\(_*\)$/8\1/
+ s/6\(_*\)$/7\1/
+ s/5\(_*\)$/6\1/
+ s/4\(_*\)$/5\1/
+ s/3\(_*\)$/4\1/
+ s/2\(_*\)$/3\1/
+ s/1\(_*\)$/2\1/
+ s/0\(_*\)$/1\1/
+ s/_/0/g
+ x
+ G
+ s/\(.*\)\n\([0-9]*\)/\1, \2},/
+ s/\(.*\)"$/\1/
+ p
+}
+$ {
+ i\
+};\
+
+ g
+ s/0*\(.*\)/int _msg_tbl_length = \1;/p
+}
+d