summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
Diffstat (limited to 'po')
-rw-r--r--po/Makefile.in184
-rw-r--r--po/de.gmobin0 -> 8748 bytes
-rw-r--r--po/de.msg1
-rw-r--r--po/de.po345
-rw-r--r--po/gmo2msg.c121
-rw-r--r--po/libelf.pot321
-rw-r--r--po/stamp-po1
7 files changed, 973 insertions, 0 deletions
diff --git a/po/Makefile.in b/po/Makefile.in
new file mode 100644
index 0000000..ec4959c
--- /dev/null
+++ b/po/Makefile.in
@@ -0,0 +1,184 @@
+# po/Makefile for libelf.
+# Copyright (C) 1995 - 2006 Michael Riepe
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+# @(#) $Id: Makefile.in,v 1.18 2008/05/23 08:16:46 michael Exp $
+
+instroot =
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+localedir = @localedir@
+
+CC = @CC@
+RM = rm -f
+MV = mv -f
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+GENCAT = @GENCAT@
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+MSGMERGE = @MSGMERGE@
+
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+DEFS = -DHAVE_CONFIG_H
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+LIBINTL = @LIBINTL@
+
+# no user serviceable parts below
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+topdir = ..
+subdir = po
+
+.SUFFIXES:
+.SUFFIXES: .po .mo .gmo .msg .cat
+
+.po.mo:
+ @$(RM) $@
+ $(MSGFMT) -o $@ $<
+
+.po.gmo:
+ file=$(srcdir)/`echo $*|sed 's,.*/,,'`.gmo; \
+ $(RM) $$file && $(GMSGFMT) -o $$file $<
+
+.msg.cat:
+ @$(RM) $@
+ $(GENCAT) $@ $<
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+MSGFILES = @MSGFILES@
+
+DISTFILES = \
+ gmo2msg.c Makefile.in $(PACKAGE).pot stamp-po \
+ $(POFILES) $(GMOFILES) $(MSGFILES)
+
+POTFILES = $(top_srcdir)/lib/errors.h
+
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+INSTOBJEXT = @INSTOBJEXT@
+
+all: $(CATALOGS)
+
+check:
+
+install: all install-data
+
+install-data: $(top_srcdir)/mkinstalldirs
+ catalogs="$(CATALOGS)"; for cat in $$catalogs; do \
+ lang=`echo $$cat | sed 's,$(CATOBJEXT)$$,,'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(SHELL) $(top_srcdir)/mkinstalldirs $(instroot)$$dir; \
+ if test -r $$cat; then \
+ $(INSTALL_DATA) $$cat $(instroot)$$dir/$(PACKAGE)$(INSTOBJEXT); \
+ else \
+ $(INSTALL_DATA) $(srcdir)/$$cat $(instroot)$$dir/$(PACKAGE)$(INSTOBJEXT); \
+ fi; \
+ done
+
+uninstall:
+ catalogs="$(CATALOGS)"; for cat in $$catalogs; do \
+ lang=`echo $$cat | sed 's,$(CATOBJEXT)$$,,'`; \
+ $(RM) $(instroot)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
+ done
+
+mostlyclean:
+ $(RM) core core.* $(PACKAGE).po *.po.tmp
+
+clean: mostlyclean
+
+distclean: clean
+ $(RM) gmo2msg *.mo *.cat
+ $(RM) Makefile
+
+maintainer-clean: distclean
+ $(RM) stamp-po
+
+$(PACKAGE).pot: $(POTFILES)
+ $(XGETTEXT) -c -d$(PACKAGE) -k_ $(POTFILES)
+ if cmp -s $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; then \
+ $(RM) $(PACKAGE).po; \
+ else \
+ $(RM) $(srcdir)/$(PACKAGE).pot && \
+ $(MV) $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; \
+ fi
+
+update-po: stamp-po
+stamp-po: $(PACKAGE).pot
+ pofiles="$(POFILES)"; cd $(srcdir) && for po in $$pofiles; do \
+ $(RM) $$po.tmp; \
+ if $(MSGMERGE) $$po $(PACKAGE).pot > $$po.tmp; then \
+ $(RM) $$po; \
+ $(MV) $$po.tmp $$po; \
+ else \
+ echo "update for $$po failed!"; \
+ $(RM) $$po.tmp; \
+ fi; \
+ done
+ $(RM) $@ && echo timestamp > $@
+
+# Create X/Open message catalog sources from .gmo files.
+
+.gmo.msg:
+ $(MAKE) $(srcdir)/gmo2msg
+ cd $(srcdir) && ./gmo2msg `echo $*|sed 's,.*/,,'`
+
+.SUFFIXES: .c
+
+.c:
+ @$(RM) $@
+ $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) \
+ $(LDFLAGS) $*.c $(LIBS) $(LIBINTL) -o $@
+
+INCLUDES = -I$(topdir) -I. -I$(topdir)/lib -I$(srcdir) -I$(top_srcdir)/lib
+
+# maintainer only
+
+MAINT = @MAINT@
+
+distdir = $(PACKAGE)-$(VERSION)
+distsubdir = $(topdir)/$(distdir)/$(subdir)
+$(MAINT)dist: update-po $(DISTFILES)
+ if test -d $(distsubdir); then true; else mkdir $(distsubdir); fi
+ files="$(DISTFILES)"; for file in $$files; do \
+ ln $(srcdir)/$$file $(distsubdir) >/dev/null 2>&1 || \
+ cp -p $(srcdir)/$$file $(distsubdir) || exit 1; \
+ done
+
+# For the justification of the following Makefile rules, see node
+# `Automatic Remaking' in GNU Autoconf documentation.
+
+$(MAINT)Makefile: Makefile.in $(topdir)/config.status
+ cd $(topdir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 0000000..4c96eaf
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.msg b/po/de.msg
new file mode 100644
index 0000000..93d76f2
--- /dev/null
+++ b/po/de.msg
@@ -0,0 +1 @@
+$set 1 Automatically created from de.gmo by gmo2msg
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..f0e29ee
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,345 @@
+# po/de.po - German messages for libelf.
+# Copyright (C) 1999 - 2003 Michael Riepe
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+#
+# @(#) $Id: de.po,v 1.18 2008/05/23 08:57:07 michael Exp $
+#
+msgid ""
+msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-05-23 10:18+0200\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Date: 2001-10-06 20:40:10+0200\n"
+"From: Michael Riepe <michael@thrai>\n"
+"Xgettext-Options: -c -dlibelf -k_\n"
+"Files: ../lib/errors.h\n"
+
+#: ../lib/errors.h:25
+msgid "no error"
+msgstr "Kein Fehler"
+
+#: ../lib/errors.h:26
+msgid "unknown error"
+msgstr "Unbekannter Fehler"
+
+#: ../lib/errors.h:27
+msgid "Internal error: unknown reason"
+msgstr "Interner Fehler: Ursache unbekannt"
+
+#: ../lib/errors.h:28
+msgid "Internal error: not implemented"
+msgstr "Interner Fehler: Diese Funktion ist nicht implementiert"
+
+#: ../lib/errors.h:29
+msgid "Request error: cntl(ELF_C_FDREAD) on write-only file"
+msgstr "Aufruffehler: cntl(ELF_C_FDREAD) ohne Leseberechtigung"
+
+#: ../lib/errors.h:30
+msgid "Request error: invalid ELF_C_* argument"
+msgstr "Aufruffehler: Das ELF_C_*-Argument ist ungültig"
+
+#: ../lib/errors.h:31
+msgid "Request error: file descriptor disabled"
+msgstr "Aufruffehler: Der Zugriff auf diese Datei ist nicht mehr möglich"
+
+#: ../lib/errors.h:32
+msgid "Request error: not an archive"
+msgstr "Aufruffehler: Die bearbeitete Datei ist kein Archiv (.a)"
+
+#: ../lib/errors.h:33
+msgid "Request error: offset out of range"
+msgstr "Aufruffehler: Die gewünschte Byteposition liegt außerhalb der Datei"
+
+#: ../lib/errors.h:34
+msgid "Request error: unknown ELF version"
+msgstr "Aufruffehler: unbekannte ELF-Version"
+
+#: ../lib/errors.h:35
+msgid "Request error: ELF_C_* argument does not match"
+msgstr "Aufruffehler: Das ELF_C_*-Argument paßt nicht zu den Zugriffsrechten"
+
+#: ../lib/errors.h:36
+msgid "Request error: archive member begin() for writing"
+msgstr "Aufruffehler: Der Archivinhalt ist nicht schreibbar"
+
+#: ../lib/errors.h:37
+msgid "Request error: archive/member file descriptor mismatch"
+msgstr "Aufruffehler: Die Datei- und Archiv-Deskriptoren passen nicht zusammen"
+
+#: ../lib/errors.h:38
+msgid "Request error: not an ELF file"
+msgstr "Aufruffehler: Dies ist keine ELF-Datei"
+
+#: ../lib/errors.h:39
+msgid "Request error: class file/memory mismatch"
+msgstr "Aufruffehler: Die Datei gehört zur falschen ELF-Klasse (32/64 Bit)"
+
+#: ../lib/errors.h:40
+msgid "Request error: invalid ELF_T_* argument"
+msgstr "Aufruffehler: Das ELF_T_*-Argument ist ungültig"
+
+#: ../lib/errors.h:41
+msgid "Request error: unknown data encoding"
+msgstr "Aufruffehler: unbekannte Datenrepräsentation (big/little endian)"
+
+#: ../lib/errors.h:42
+msgid "Request error: destination buffer too small"
+msgstr "Aufruffehler: Der Zielpuffer ist zu klein"
+
+#: ../lib/errors.h:43
+msgid "Request error: d_buf is NULL"
+msgstr "Aufruffehler: d_buf ist NULL"
+
+#: ../lib/errors.h:44
+msgid "Request error: unknown ELF class"
+msgstr "Aufruffehler: unbekannte ELF-Klasse (32/64 Bit)"
+
+#: ../lib/errors.h:45
+msgid "Request error: section does not belong to file"
+msgstr "Aufruffehler: Der Dateiabschnitt gehört nicht zu dieser Datei"
+
+#: ../lib/errors.h:46
+msgid "Request error: no section at index"
+msgstr "Aufruffehler: Ein Abschnitt mit dieser Nummer existiert nicht"
+
+#: ../lib/errors.h:47
+msgid "Request error: can't manipulate null section"
+msgstr "Aufruffehler: Sie versuchen, den \"Null\"-Abschnitt zu bearbeiten"
+
+#: ../lib/errors.h:48
+msgid "Request error: data does not belong to section"
+msgstr ""
+"Aufruffehler: Dieser Datenblock gehört nicht zum angegebenen Dateiabschnitt"
+
+#: ../lib/errors.h:49
+msgid "Request error: no string table"
+msgstr "Aufruffehler: Die Namenliste fehlt"
+
+#: ../lib/errors.h:50
+msgid "Request error: string table offset out of range"
+msgstr "Aufruffehler: Die gewünschte Position liegt außerhalb der Namenliste"
+
+#: ../lib/errors.h:51
+msgid "Request error: update(ELF_C_WRITE) on read-only file"
+msgstr "Aufruffehler: update(ELF_C_WRITE) ohne Schreibberechtigung"
+
+#: ../lib/errors.h:52
+msgid "I/O error: seek"
+msgstr "Ein-/Ausgabefehler: Das Positionieren innerhalb der Datei schlug fehl"
+
+#: ../lib/errors.h:53
+msgid "I/O error: file too big for memory"
+msgstr "Ein-/Ausgabefehler: Die Datei ist zu groß"
+
+#: ../lib/errors.h:54
+msgid "I/O error: raw read"
+msgstr "Ein-/Ausgabefehler: Lesefehler"
+
+#: ../lib/errors.h:55
+msgid "I/O error: get file size"
+msgstr "Ein-/Ausgabefehler: Die Dateigröße ist nicht zu ermitteln"
+
+#: ../lib/errors.h:56
+msgid "I/O error: output write"
+msgstr "Ein-/Ausgabefehler: Schreibfehler"
+
+#: ../lib/errors.h:57
+msgid "I/O error: can't truncate output file"
+msgstr "Ein-/Ausgabefehler: Das Verkürzen der Datei schlug fehl"
+
+#: ../lib/errors.h:58
+msgid "Sequence error: must set ELF version first"
+msgstr "Falsche Reihenfolge: Sie müssen zuerst elf_version() aufrufen"
+
+#: ../lib/errors.h:59
+msgid "Sequence error: must create ELF header first"
+msgstr "Falsche Reihenfolge: Sie müssen zuerst elf{32,64}_newehdr() aufrufen"
+
+#: ../lib/errors.h:60
+msgid "Format error: reference outside file"
+msgstr ""
+"Fehler in der Datei: Eine Positionsangabe zeigt auf einen Punkt außerhalb "
+"der Datei"
+
+#: ../lib/errors.h:61
+msgid "Format error: archive header truncated"
+msgstr "Fehler in der Datei: Der Archiv-Header ist unvollständig"
+
+#: ../lib/errors.h:62
+msgid "Format error: archive fmag"
+msgstr "Fehler in der Datei: Die Archiv-Kennung ist falsch"
+
+#: ../lib/errors.h:63
+msgid "Format error: archive header"
+msgstr "Fehler in der Datei: Der Archiv-Header ist fehlerhaft"
+
+#: ../lib/errors.h:64
+msgid "Format error: archive member truncated"
+msgstr "Fehler in der Datei: Der Archivinhalt ist unvollständig"
+
+#: ../lib/errors.h:65
+msgid "Format error: archive symbol table size"
+msgstr "Fehler in der Datei: Die Größe der Archiv-Symboltabelle ist falsch"
+
+#: ../lib/errors.h:66
+msgid "Format error: archive string table"
+msgstr "Fehler in der Datei: Die Archiv-Namenliste ist defekt"
+
+#: ../lib/errors.h:67
+msgid "Format error: archive special name unknown"
+msgstr ""
+"Fehler in der Datei: Es existiert ein internes Archiv-Objekt mit unbekanntem "
+"Namen"
+
+#: ../lib/errors.h:68
+msgid "Format error: ELF header truncated"
+msgstr "Fehler in der Datei: Der ELF-Header ist unvollständig"
+
+#: ../lib/errors.h:69
+msgid "Format error: program header table truncated"
+msgstr "Fehler in der Datei: Die ELF Program Header Table ist unvollständig"
+
+#: ../lib/errors.h:70
+msgid "Format error: section header table truncated"
+msgstr "Fehler in der Datei: Die ELF Section Header Table ist unvollständig"
+
+#: ../lib/errors.h:71
+msgid "Format error: data region truncated"
+msgstr "Fehler in der Datei: Ein Datenblock ist unvollständig"
+
+#: ../lib/errors.h:72
+msgid "Format error: program header table alignment"
+msgstr ""
+"Fehler in der Datei: Die ELF Program Header Table liegt nicht auf einer "
+"Wortgrenze"
+
+#: ../lib/errors.h:73
+msgid "Format error: section header table alignment"
+msgstr ""
+"Fehler in der Datei: Die ELF Section Header Table liegt nicht auf einer "
+"Wortgrenze"
+
+#: ../lib/errors.h:74
+msgid "Format error: bad parameter in Verdef record"
+msgstr "Fehler in der Datei: Verdef-Datensatz enthält ungültige Parameter"
+
+#: ../lib/errors.h:75
+msgid "Format error: unknown Verdef version"
+msgstr "Fehler in der Datei: libelf unterstützt die Verdef-Version nicht"
+
+#: ../lib/errors.h:76
+msgid "Format error: bad parameter in Verneed record"
+msgstr "Fehler in der Datei: Verneed-Datensatz enthält ungültige Parameter"
+
+#: ../lib/errors.h:77
+msgid "Format error: unknown Verneed version"
+msgstr "Fehler in der Datei: libelf unterstützt die Verneed-Version nicht"
+
+#: ../lib/errors.h:78
+msgid "Format error: bad e_shnum value"
+msgstr "Fehler in der Datei: e_shnum enthält einen ungültigen Wert"
+
+#: ../lib/errors.h:79
+#, fuzzy
+msgid "Format error: bad e_shentsize value"
+msgstr "Fehler in der Datei: e_shentsize enthält einen ungültigen Wert"
+
+#: ../lib/errors.h:80
+#, fuzzy
+msgid "Format error: bad e_phentsize value"
+msgstr "Fehler in der Datei: e_phentsize enthält einen ungültigen Wert"
+
+#: ../lib/errors.h:81
+msgid "Format error: unterminated string in string table"
+msgstr ""
+"Fehler in der Datei: Der Eintrag in der String-Tabelle ist nicht terminiert"
+
+#: ../lib/errors.h:82
+msgid "Layout error: section size too small for data"
+msgstr ""
+"Layout-Fehler: Ein Dateiabschnitt ist zu kurz für die darin enthaltenen Daten"
+
+#: ../lib/errors.h:83
+msgid "Layout error: overlapping sections"
+msgstr "Layout-Fehler: Zwei (oder mehr) Dateiabschnitte überlappen sich"
+
+#: ../lib/errors.h:84
+msgid "Memory error: elf descriptor"
+msgstr "Zu wenig Speicher: für den Elf-Deskriptor"
+
+#: ../lib/errors.h:85
+msgid "Memory error: archive symbol table"
+msgstr "Zu wenig Speicher: für die Archiv-Symboltabelle"
+
+#: ../lib/errors.h:86
+msgid "Memory error: archive member header"
+msgstr "Zu wenig Speicher: für die Archiv-Verwaltungsinformationen"
+
+#: ../lib/errors.h:87
+msgid "Memory error: ELF header"
+msgstr "Zu wenig Speicher: für den ELF-Header"
+
+#: ../lib/errors.h:88
+msgid "Memory error: program header table"
+msgstr "Zu wenig Speicher: für die Program Header Table"
+
+#: ../lib/errors.h:89
+msgid "Memory error: section header table"
+msgstr "Zu wenig Speicher: für die Section Header Table"
+
+#: ../lib/errors.h:90
+msgid "Memory error: section descriptor"
+msgstr "Zu wenig Speicher: für den Elf_Scn-Deskriptor"
+
+#: ../lib/errors.h:91
+msgid "Memory error: section data"
+msgstr "Zu wenig Speicher: für die Daten dieses Abschnitts"
+
+#: ../lib/errors.h:92
+msgid "Memory error: output file space"
+msgstr "Zu wenig Speicher: für die Ausgabe"
+
+#: ../lib/errors.h:93
+msgid "Memory error: temporary buffer"
+msgstr "Zu wenig Speicher: für einen temporären Puffer"
+
+#: ../lib/errors.h:94
+msgid "GElf error: value out of range"
+msgstr "GElf-Fehler: eine Zahl ist außerhalb des darstellbaren Bereichs"
+
+#: ../lib/errors.h:95
+msgid "GElf error: index out of range"
+msgstr "GElf-Fehler: Index außerhalb des erlaubten Bereichs"
+
+#: ../lib/errors.h:96
+msgid "GElf error: type mismatch"
+msgstr "GElf-Fehler: Typfehler"
+
+#: ../lib/errors.h:97
+msgid "GElf error: not enough memory for GElf_Sym"
+msgstr "GElf-Fehler: zu wenig Speicher für eine Variable vom Typ GElf_Sym"
+
+#: ../lib/errors.h:98
+msgid "GElf error: not enough memory for GElf_Dyn"
+msgstr "GElf-Fehler: zu wenig Speicher für eine Variable vom Typ GElf_Dyn"
+
+#: ../lib/errors.h:99
+msgid "GElf error: not enough memory for GElf_Rela"
+msgstr "GElf-Fehler: zu wenig Speicher für eine Variable vom Typ GElf_Rela"
+
+#: ../lib/errors.h:100
+msgid "GElf error: not enough memory for GElf_Rel"
+msgstr "GElf-Fehler: zu wenig Speicher für eine Variable vom Typ GElf_Rel"
diff --git a/po/gmo2msg.c b/po/gmo2msg.c
new file mode 100644
index 0000000..acddcca
--- /dev/null
+++ b/po/gmo2msg.c
@@ -0,0 +1,121 @@
+/*
+ * gmo2msg.c - create X/Open message source file for libelf.
+ * Copyright (C) 1996 - 2005 Michael Riepe
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef lint
+static const char rcsid[] = "@(#) $Id: gmo2msg.c,v 1.11 2008/05/23 08:16:46 michael Exp $";
+#endif /* lint */
+
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <libintl.h>
+
+#define DOMAIN "libelf"
+
+static const char *msgs[] = {
+#define __err__(a,b) b,
+#include <errors.h>
+#undef __err__
+};
+
+int
+main(int argc, char **argv) {
+ char buf[1024], *lang, *progname, *s;
+ unsigned i;
+ FILE *fp;
+
+ setlocale(LC_ALL, "");
+
+ if (*argv && (progname = strrchr(argv[0], '/'))) {
+ progname++;
+ }
+ else if (!(progname = *argv)) {
+ progname = "gmo2msg";
+ }
+
+ if (argc <= 1 || !(lang = argv[1])) {
+ fprintf(stderr, "Usage: gmo2msg <language>\n");
+ exit(1);
+ }
+
+ /*
+ * Fool gettext...
+ */
+ unlink(DOMAIN ".mo");
+ unlink("LC_MESSAGES");
+ unlink(lang);
+ sprintf(buf, "%s.gmo", lang);
+ if (link(buf, DOMAIN ".mo") == -1) {
+ fprintf(stderr, "Cannot link %s to " DOMAIN ".mo\n", buf);
+ perror("");
+ exit(1);
+ }
+ symlink(".", "LC_MESSAGES");
+ symlink(".", lang);
+ textdomain(DOMAIN);
+ getcwd(buf, sizeof(buf));
+ bindtextdomain(DOMAIN, buf);
+
+ sprintf(buf, "%s.msg", lang);
+ unlink(buf);
+ if (!(fp = fopen(buf, "w"))) {
+ perror(buf);
+ exit(1);
+ }
+
+ fprintf(fp, "$set 1 Automatically created from %s.gmo by %s\n", lang, progname);
+
+ /*
+ * Translate messages.
+ */
+ setlocale(LC_MESSAGES, lang);
+ if ((s = gettext("")) && (s = strdup(s))) {
+ s = strtok(s, "\n");
+ while (s) {
+ fprintf(fp, "$ %s\n", s);
+ s = strtok(NULL, "\n");
+ }
+ }
+ /*
+ * Assume that messages contain printable ASCII characters ONLY.
+ * That means no tabs, linefeeds etc.
+ */
+ for (i = 0; i < sizeof(msgs)/sizeof(*msgs); i++) {
+ s = gettext(msgs[i]);
+ if (s != msgs[i] && strcmp(s, msgs[i]) != 0) {
+ fprintf(fp, "$ \n$ Original message: %s\n", msgs[i]);
+ fprintf(fp, "%u %s\n", i + 1, s);
+ }
+ }
+ setlocale(LC_MESSAGES, "");
+
+ if (fclose(fp)) {
+ perror("writing output file");
+ exit(1);
+ }
+
+ /*
+ * Cleanup.
+ */
+ unlink(DOMAIN ".mo");
+ unlink("LC_MESSAGES");
+ unlink(lang);
+ exit(0);
+}
diff --git a/po/libelf.pot b/po/libelf.pot
new file mode 100644
index 0000000..060c056
--- /dev/null
+++ b/po/libelf.pot
@@ -0,0 +1,321 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-05-23 10:18+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/errors.h:25
+msgid "no error"
+msgstr ""
+
+#: ../lib/errors.h:26
+msgid "unknown error"
+msgstr ""
+
+#: ../lib/errors.h:27
+msgid "Internal error: unknown reason"
+msgstr ""
+
+#: ../lib/errors.h:28
+msgid "Internal error: not implemented"
+msgstr ""
+
+#: ../lib/errors.h:29
+msgid "Request error: cntl(ELF_C_FDREAD) on write-only file"
+msgstr ""
+
+#: ../lib/errors.h:30
+msgid "Request error: invalid ELF_C_* argument"
+msgstr ""
+
+#: ../lib/errors.h:31
+msgid "Request error: file descriptor disabled"
+msgstr ""
+
+#: ../lib/errors.h:32
+msgid "Request error: not an archive"
+msgstr ""
+
+#: ../lib/errors.h:33
+msgid "Request error: offset out of range"
+msgstr ""
+
+#: ../lib/errors.h:34
+msgid "Request error: unknown ELF version"
+msgstr ""
+
+#: ../lib/errors.h:35
+msgid "Request error: ELF_C_* argument does not match"
+msgstr ""
+
+#: ../lib/errors.h:36
+msgid "Request error: archive member begin() for writing"
+msgstr ""
+
+#: ../lib/errors.h:37
+msgid "Request error: archive/member file descriptor mismatch"
+msgstr ""
+
+#: ../lib/errors.h:38
+msgid "Request error: not an ELF file"
+msgstr ""
+
+#: ../lib/errors.h:39
+msgid "Request error: class file/memory mismatch"
+msgstr ""
+
+#: ../lib/errors.h:40
+msgid "Request error: invalid ELF_T_* argument"
+msgstr ""
+
+#: ../lib/errors.h:41
+msgid "Request error: unknown data encoding"
+msgstr ""
+
+#: ../lib/errors.h:42
+msgid "Request error: destination buffer too small"
+msgstr ""
+
+#: ../lib/errors.h:43
+msgid "Request error: d_buf is NULL"
+msgstr ""
+
+#: ../lib/errors.h:44
+msgid "Request error: unknown ELF class"
+msgstr ""
+
+#: ../lib/errors.h:45
+msgid "Request error: section does not belong to file"
+msgstr ""
+
+#: ../lib/errors.h:46
+msgid "Request error: no section at index"
+msgstr ""
+
+#: ../lib/errors.h:47
+msgid "Request error: can't manipulate null section"
+msgstr ""
+
+#: ../lib/errors.h:48
+msgid "Request error: data does not belong to section"
+msgstr ""
+
+#: ../lib/errors.h:49
+msgid "Request error: no string table"
+msgstr ""
+
+#: ../lib/errors.h:50
+msgid "Request error: string table offset out of range"
+msgstr ""
+
+#: ../lib/errors.h:51
+msgid "Request error: update(ELF_C_WRITE) on read-only file"
+msgstr ""
+
+#: ../lib/errors.h:52
+msgid "I/O error: seek"
+msgstr ""
+
+#: ../lib/errors.h:53
+msgid "I/O error: file too big for memory"
+msgstr ""
+
+#: ../lib/errors.h:54
+msgid "I/O error: raw read"
+msgstr ""
+
+#: ../lib/errors.h:55
+msgid "I/O error: get file size"
+msgstr ""
+
+#: ../lib/errors.h:56
+msgid "I/O error: output write"
+msgstr ""
+
+#: ../lib/errors.h:57
+msgid "I/O error: can't truncate output file"
+msgstr ""
+
+#: ../lib/errors.h:58
+msgid "Sequence error: must set ELF version first"
+msgstr ""
+
+#: ../lib/errors.h:59
+msgid "Sequence error: must create ELF header first"
+msgstr ""
+
+#: ../lib/errors.h:60
+msgid "Format error: reference outside file"
+msgstr ""
+
+#: ../lib/errors.h:61
+msgid "Format error: archive header truncated"
+msgstr ""
+
+#: ../lib/errors.h:62
+msgid "Format error: archive fmag"
+msgstr ""
+
+#: ../lib/errors.h:63
+msgid "Format error: archive header"
+msgstr ""
+
+#: ../lib/errors.h:64
+msgid "Format error: archive member truncated"
+msgstr ""
+
+#: ../lib/errors.h:65
+msgid "Format error: archive symbol table size"
+msgstr ""
+
+#: ../lib/errors.h:66
+msgid "Format error: archive string table"
+msgstr ""
+
+#: ../lib/errors.h:67
+msgid "Format error: archive special name unknown"
+msgstr ""
+
+#: ../lib/errors.h:68
+msgid "Format error: ELF header truncated"
+msgstr ""
+
+#: ../lib/errors.h:69
+msgid "Format error: program header table truncated"
+msgstr ""
+
+#: ../lib/errors.h:70
+msgid "Format error: section header table truncated"
+msgstr ""
+
+#: ../lib/errors.h:71
+msgid "Format error: data region truncated"
+msgstr ""
+
+#: ../lib/errors.h:72
+msgid "Format error: program header table alignment"
+msgstr ""
+
+#: ../lib/errors.h:73
+msgid "Format error: section header table alignment"
+msgstr ""
+
+#: ../lib/errors.h:74
+msgid "Format error: bad parameter in Verdef record"
+msgstr ""
+
+#: ../lib/errors.h:75
+msgid "Format error: unknown Verdef version"
+msgstr ""
+
+#: ../lib/errors.h:76
+msgid "Format error: bad parameter in Verneed record"
+msgstr ""
+
+#: ../lib/errors.h:77
+msgid "Format error: unknown Verneed version"
+msgstr ""
+
+#: ../lib/errors.h:78
+msgid "Format error: bad e_shnum value"
+msgstr ""
+
+#: ../lib/errors.h:79
+msgid "Format error: bad e_shentsize value"
+msgstr ""
+
+#: ../lib/errors.h:80
+msgid "Format error: bad e_phentsize value"
+msgstr ""
+
+#: ../lib/errors.h:81
+msgid "Format error: unterminated string in string table"
+msgstr ""
+
+#: ../lib/errors.h:82
+msgid "Layout error: section size too small for data"
+msgstr ""
+
+#: ../lib/errors.h:83
+msgid "Layout error: overlapping sections"
+msgstr ""
+
+#: ../lib/errors.h:84
+msgid "Memory error: elf descriptor"
+msgstr ""
+
+#: ../lib/errors.h:85
+msgid "Memory error: archive symbol table"
+msgstr ""
+
+#: ../lib/errors.h:86
+msgid "Memory error: archive member header"
+msgstr ""
+
+#: ../lib/errors.h:87
+msgid "Memory error: ELF header"
+msgstr ""
+
+#: ../lib/errors.h:88
+msgid "Memory error: program header table"
+msgstr ""
+
+#: ../lib/errors.h:89
+msgid "Memory error: section header table"
+msgstr ""
+
+#: ../lib/errors.h:90
+msgid "Memory error: section descriptor"
+msgstr ""
+
+#: ../lib/errors.h:91
+msgid "Memory error: section data"
+msgstr ""
+
+#: ../lib/errors.h:92
+msgid "Memory error: output file space"
+msgstr ""
+
+#: ../lib/errors.h:93
+msgid "Memory error: temporary buffer"
+msgstr ""
+
+#: ../lib/errors.h:94
+msgid "GElf error: value out of range"
+msgstr ""
+
+#: ../lib/errors.h:95
+msgid "GElf error: index out of range"
+msgstr ""
+
+#: ../lib/errors.h:96
+msgid "GElf error: type mismatch"
+msgstr ""
+
+#: ../lib/errors.h:97
+msgid "GElf error: not enough memory for GElf_Sym"
+msgstr ""
+
+#: ../lib/errors.h:98
+msgid "GElf error: not enough memory for GElf_Dyn"
+msgstr ""
+
+#: ../lib/errors.h:99
+msgid "GElf error: not enough memory for GElf_Rela"
+msgstr ""
+
+#: ../lib/errors.h:100
+msgid "GElf error: not enough memory for GElf_Rel"
+msgstr ""
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/po/stamp-po
@@ -0,0 +1 @@
+timestamp