summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
authorAlain Magloire <alainm@rcsm.ee.mcgill.ca>1998-11-03 21:38:52 +0000
committerAlain Magloire <alainm@rcsm.ee.mcgill.ca>1998-11-03 21:38:52 +0000
commit06b9f7e683e7650804cadd9a4c5cf6bff6c89625 (patch)
treecf05b9be1cb4466df84ccaf6cfc184f728f9aa8e /po
downloadgrep-06b9f7e683e7650804cadd9a4c5cf6bff6c89625.tar.gz
Initial revision
Diffstat (limited to 'po')
-rw-r--r--po/ChangeLog2
-rw-r--r--po/Makefile.in.in247
-rw-r--r--po/POTFILES.in8
-rw-r--r--po/cat-id-tbl.c108
-rw-r--r--po/de.gmobin0 -> 3370 bytes
-rw-r--r--po/de.po434
-rw-r--r--po/es.gmobin0 -> 4144 bytes
-rw-r--r--po/es.po459
-rw-r--r--po/fr.gmobin0 -> 3396 bytes
-rw-r--r--po/fr.po445
-rw-r--r--po/grep.pot293
-rw-r--r--po/ko.gmobin0 -> 3918 bytes
-rw-r--r--po/ko.po412
-rw-r--r--po/nl.gmobin0 -> 872 bytes
-rw-r--r--po/nl.po305
-rw-r--r--po/no.gmobin0 -> 3927 bytes
-rw-r--r--po/no.po427
-rw-r--r--po/pl.gmobin0 -> 3182 bytes
-rw-r--r--po/pl.po437
-rw-r--r--po/ru.gmobin0 -> 820 bytes
-rw-r--r--po/ru.po297
-rw-r--r--po/sl.gmobin0 -> 832 bytes
-rw-r--r--po/sl.po304
-rw-r--r--po/stamp-cat-id1
-rw-r--r--po/sv.gmobin0 -> 795 bytes
-rw-r--r--po/sv.po297
26 files changed, 4476 insertions, 0 deletions
diff --git a/po/ChangeLog b/po/ChangeLog
new file mode 100644
index 00000000..7d2a22d8
--- /dev/null
+++ b/po/ChangeLog
@@ -0,0 +1,2 @@
+ * got a basic set of *.po from Franc,ois Pinard
+ ftp.iro.umontreal.ca
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 00000000..c25fea49
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,247 @@
+# Makefile for program source directory in GNU NLS utilities package.
+# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# This file file be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = $(prefix)/@DATADIRNAME@
+localedir = $(datadir)/locale
+gnulocaledir = $(prefix)/share/locale
+gettextsrcdir = $(prefix)/share/gettext/po
+subdir = po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
+
+CC = @CC@
+GENCAT = @GENCAT@
+GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
+MSGMERGE = PATH=../src:$$PATH msgmerge
+
+DEFS = @DEFS@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+
+INCLUDES = -I.. -I$(top_srcdir)/intl
+
+COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+SOURCES = cat-id-tbl.c
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
+stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+INSTOBJEXT = @INSTOBJEXT@
+
+.SUFFIXES:
+.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
+
+.c.o:
+ $(COMPILE) $<
+
+.po.pox:
+ $(MAKE) $(PACKAGE).pot
+ $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
+
+.po.mo:
+ $(MSGFMT) -o $@ $<
+
+.po.gmo:
+ file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
+ && rm -f $$file && $(GMSGFMT) -o $$file $<
+
+.po.cat:
+ sed -f ../intl/po2msg.sed < $< > $*.msg \
+ && rm -f $@ && $(GENCAT) $@ $*.msg
+
+
+all: all-@USE_NLS@
+
+all-yes: cat-id-tbl.c $(CATALOGS)
+all-no:
+
+$(srcdir)/$(PACKAGE).pot: $(POTFILES)
+ $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
+ --add-comments --keyword=_ --keyword=N_ \
+ --files-from=$(srcdir)/POTFILES.in
+ rm -f $(srcdir)/$(PACKAGE).pot
+ mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
+
+$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
+$(srcdir)/stamp-cat-id: $(PACKAGE).pot
+ rm -f cat-id-tbl.tmp
+ sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
+ | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
+ if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
+ rm cat-id-tbl.tmp; \
+ else \
+ echo cat-id-tbl.c changed; \
+ rm -f $(srcdir)/cat-id-tbl.c; \
+ mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
+ fi
+ cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+install-data-no: all
+install-data-yes: all
+ if test -r $(MKINSTALLDIRS); then \
+ $(MKINSTALLDIRS) $(datadir); \
+ else \
+ $(top_srcdir)/mkinstalldirs $(datadir); \
+ fi
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ case "$$cat" in \
+ *.gmo) destdir=$(gnulocaledir);; \
+ *) destdir=$(localedir);; \
+ esac; \
+ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+ dir=$$destdir/$$lang/LC_MESSAGES; \
+ if test -r $(MKINSTALLDIRS); then \
+ $(MKINSTALLDIRS) $$dir; \
+ else \
+ $(top_srcdir)/mkinstalldirs $$dir; \
+ fi; \
+ if test -r $$cat; then \
+ $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
+ echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
+ else \
+ $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
+ echo "installing $(srcdir)/$$cat as" \
+ "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
+ fi; \
+ if test -r $$cat.m; then \
+ $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
+ echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
+ else \
+ if test -r $(srcdir)/$$cat.m ; then \
+ $(INSTALL_DATA) $(srcdir)/$$cat.m \
+ $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
+ echo "installing $(srcdir)/$$cat as" \
+ "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
+ else \
+ true; \
+ fi; \
+ fi; \
+ done
+ if test "$(PACKAGE)" = "gettext"; then \
+ if test -r $(MKINSTALLDIRS); then \
+ $(MKINSTALLDIRS) $(gettextsrcdir); \
+ else \
+ $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
+ fi; \
+ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
+ $(gettextsrcdir)/Makefile.in.in; \
+ else \
+ : ; \
+ fi
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+ rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
+ rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
+ rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
+ rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
+ done
+ rm -f $(gettextsrcdir)/po-Makefile.in.in
+
+check: all
+
+cat-id-tbl.o: ../intl/libgettext.h
+
+dvi info tags TAGS ID:
+
+mostlyclean:
+ rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f $(GMOFILES)
+
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: update-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ for file in $$dists; do \
+ ln $(srcdir)/$$file $(distdir) 2> /dev/null \
+ || cp -p $(srcdir)/$$file $(distdir); \
+ done
+
+update-po: Makefile
+ $(MAKE) $(PACKAGE).pot
+ PATH=`pwd`/../src:$$PATH; \
+ cd $(srcdir); \
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+ mv $$lang.po $$lang.old.po; \
+ echo "$$lang:"; \
+ if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
+ rm -f $$lang.old.po; \
+ else \
+ echo "msgmerge for $$cat failed!"; \
+ rm -f $$lang.po; \
+ mv $$lang.old.po $$lang.po; \
+ fi; \
+ done
+
+POTFILES: POTFILES.in
+ ( if test 'x$(srcdir)' != 'x.'; then \
+ posrcprefix='$(top_srcdir)/'; \
+ else \
+ posrcprefix="../"; \
+ fi; \
+ rm -f $@-t $@ \
+ && (sed -e '/^#/d' -e '/^[ ]*$$/d' \
+ -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
+ | sed -e '$$s/\\$$//') > $@-t \
+ && chmod a-w $@-t \
+ && mv $@-t $@ )
+
+Makefile: Makefile.in.in ../config.status POTFILES
+ cd .. \
+ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+ $(SHELL) ./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/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 00000000..de2c7d2c
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,8 @@
+# List of files which containing translatable strings.
+
+src/dfa.c
+src/getopt.c
+src/getopt1.c
+src/grep.c
+src/kwset.c
+src/obstack.c
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
new file mode 100644
index 00000000..5ea42b98
--- /dev/null
+++ b/po/cat-id-tbl.c
@@ -0,0 +1,108 @@
+/* Automatically generated by po2tbl.sed from grep.pot. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "libgettext.h"
+
+const struct _msg_ent _msg_tbl[] = {
+ {"", 1},
+ {"Memory exhausted", 2},
+ {"Unfinished \\ escape", 3},
+ {"unfinished repeat count", 4},
+ {"malformed repeat count", 5},
+ {"Unbalanced [", 6},
+ {"Unbalanced (", 7},
+ {"No syntax specified", 8},
+ {"Unbalanced )", 9},
+ {"out of memory", 10},
+ {"%s: option `%s' is ambiguous\n", 11},
+ {"%s: option `--%s' doesn't allow an argument\n", 12},
+ {"%s: option `%c%s' doesn't allow an argument\n", 13},
+ {"%s: option `%s' requires an argument\n", 14},
+ {"%s: unrecognized option `--%s'\n", 15},
+ {"%s: unrecognized option `%c%s'\n", 16},
+ {"%s: illegal option -- %c\n", 17},
+ {"%s: invalid option -- %c\n", 18},
+ {"%s: option requires an argument -- %c\n", 19},
+ {"%s: option `-W %s' is ambiguous\n", 20},
+ {"%s: option `-W %s' doesn't allow an argument\n", 21},
+ {"option %s", 22},
+ {" with arg %s", 23},
+ {"digits occur in two different argv-elements.\n", 24},
+ {"option %c\n", 25},
+ {"option a\n", 26},
+ {"option b\n", 27},
+ {"option c with value `%s'\n", 28},
+ {"option d with value `%s'\n", 29},
+ {"?? getopt returned character code 0%o ??\n", 30},
+ {"non-option ARGV-elements: ", 31},
+ {"memory exhausted", 32},
+ {"%s: warning: %s: %s\n", 33},
+ {"writing output", 34},
+ {"Usage: %s [OPTION]... PATTERN [FILE]...\n", 35},
+ {"Try `%s --help' for more information.\n", 36},
+ {"Usage: %s [OPTION]... PATTERN [FILE] ...\n", 37},
+ {"\
+Search for PATTERN in each FILE or standard input.\n\
+\n\
+Regexp selection and interpretation:\n\
+ -E, --extended-regexp PATTERN is an extended regular expression\n\
+ -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n\
+ -G, --basic-regexp PATTERN is a basic regular expression\n\
+ -e, --regexp=PATTERN use PATTERN as a regular expression\n\
+ -f, --file=FILE obtain PATTERN from FILE\n\
+ -i, --ignore-case ignore case distinctions\n\
+ -w, --word-regexp force PATTERN to match only whole words\n\
+ -x, --line-regexp force PATTERN to match only whole lines\n", 38},
+ {"\
+\n\
+Miscellaneous:\n\
+ -s, --no-messages suppress error messages\n\
+ -v, --revert-match select non-matching lines\n\
+ -V, --version print version information and exit\n\
+ --help display this help and exit\n", 39},
+ {"\
+\n\
+Output control:\n\
+ -b, --byte-offset print the byte offset with output lines\n\
+ -n, --line-number print line number with output lines\n\
+ -H, --with-filename print the filename for each match\n\
+ -h, --no-filename suppress the prefixing filename on output\n\
+ -q, --quiet, --silent suppress all normal output\n\
+ -L, --files-without-match only print FILE names containing no match\n\
+ -l, --files-with-matches only print FILE names containing matches\n\
+ -c, --count only print a count of matching lines per FILE\n", 40},
+ {"\
+\n\
+Context control:\n\
+ -B, --before-context=NUM print NUM lines of leading context\n\
+ -A, --after-context=NUM print NUM lines of trailing context\n\
+ -NUM same as both -B NUM and -A NUM\n\
+ -C, --context same as -2\n\
+ -U, --binary do not strip CR characters at EOL (MSDOS)\n\
+ -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n\
+\n\
+If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n\
+With no FILE, or when FILE is -, read standard input. If less than\n\
+two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n\
+Exit with 2 if syntax errors or system errors.\n", 41},
+ {"\
+\n\
+Report bugs to <bug-gnu-utils@gnu.org>.\n", 42},
+ {"invalid context length argument", 43},
+ {"you may specify only one of -E, -F, or -G", 44},
+ {"matcher already specified", 45},
+ {"grep (GNU grep) %s\n", 46},
+ {"\
+Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n", 47},
+ {"\
+This is free software; see the source for copying conditions. There is NO\n\
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n", 48},
+ {"(standard input)", 49},
+ {"(standard input)\n", 50},
+ {"memory exhausted\n", 51},
+};
+
+int _msg_tbl_length = 51;
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 00000000..306be4c1
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 00000000..27db44e0
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,434 @@
+# German messages for GNU grep
+# Copyright (C) 1997 Free Software Foundation, Inc.
+# Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>, 1997
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0c\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-08-10 16:39 MET DST\n"
+"Last-Translator: Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "Virtueller Speicher erschöpft."
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "Unbeendete \\-Escape-Sequenz."
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "Unbeendeter Wiederholungszähler."
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "Unförmiger Wiederholungszähler."
+
+# Is this message used only for [ without matching ],
+# or for ] without [ as well?
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "Öffnende [ ohne schließende."
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "Öffnende ( ohne schließende."
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "Keine Syntax angegeben."
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr "Schließende ) ohne öffnende."
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "Speicher ist alle."
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: Die Option »%s« ist mehrdeutig.\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: Die Option »%s« erlaubt keinen Parameter.\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: Die Option »%c%s« erlaubt keinen Parameter.\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: Die Option »%s« verlangt einen Parameter.\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: Nicht erkannte Option »--%s«\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: Nicht erkannte Option »%c%s«.\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: Ungültige Option -- %c.\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: Ungültige Option -- %c.\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: Option verlangt einen Parameter -- %c.\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: Option »-W %s« ist zweideutig.\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: Option »-W %s« erlaubt keinen Parameter.\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "Option %s"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr "mit Argument %s."
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "In zwei verschiedenen argv-Elementen tauchen Ziffern auf.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "Option %c\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "Option a\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "Option b\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "Option c mit Wert »%s«\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "Option s mit Wert »%s«\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt ergab Zeichen 0%o ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "Nicht-Options-ARGV-Elemente: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "Virtueller Speicher erschöpft."
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: Warnung: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "schreibe Ausgabe"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "»%s --help« gibt Ihnen mehr Informationen.\n"
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "Es darf nur eines von -E, -F oder -G angegeben werden."
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "Vergleicher ist bereits festgelegt."
+
+#: src/grep.c:915
+#, fuzzy, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "GNU grep Version %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(Standardeingabe)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(Standardeingabe)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "Virtueller Speicher erschöpft.\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Auswahl und Interpretation des regulären Ausdrucks:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr ""
+#~ " -E, --extend-regexp <muster> ist ein erweiterter regulärer "
+#~ "Ausdruck.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings <muster> ist eine feste Zeichenkette \n"
+#~ " getrennt durch Leerzeichen.\n"
+
+#, fuzzy
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr ""
+#~ " -G, --basic-regexp <muster> ist ein regulärer Standardausruck.\n"
+
+#, fuzzy
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr ""
+#~ " -e, --regexp=<muster> <muster> als regulären Ausdruck verwenden.\n"
+
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=<datei> <muster> aus <datei> ermitteln.\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr ""
+#~ " -i, --ignore-case Unterschied zwischen Groß- und Kleinschreibung \n"
+#~ " ignorieren.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr " -w, --word-regexp <muster> paßt nur auf ganze Wörter.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr " -x, --line-regexp <muster> paßt nur auf ganze Zeilen.\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "Verschiedenes:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages Fehlermeldungen unterdrücken.\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr " -v, --revert-match Nicht-passende Zeilen anzeigen.\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr " -V, --version Versionnummer ausgeben und beenden.\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help Diese Hilfe ausgeben und beenden.\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Ausgabekontrolle:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr ""
+#~ " -b, --byte-offset Byte-Offset zusammen mit Ausgezeilen anzeigen.\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr ""
+#~ " -n, --line-number Zeilennummber mit Ausgabezeilen anzeigen.\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr ""
+#~ " -H, --with-filename Dateiname bei jeder Übereinstimmung anzeigen.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr " -h, --no-filename Anzeige des Dateinamens unterdrücken.\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr " -q, --quiet, --silent Alle normalen Ausgaben unterdrücken.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match Nur Namen von Dateien ausgeben, die keine \n"
+#~ " Übereinstimmung enthalten.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr ""
+#~ " -l, --files-with-matches Nur Dateinamen mit Übereinstimmungen ausgeben.\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count Nur Zahl der passenden Zeilen pro Datei "
+#~ "ausgeben.\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "Kontextkontrolle:\n"
+
+#~ msgid " -B, --before-context=NUM print NUM lines of leading context\n"
+#~ msgstr ""
+#~ " -B, --before-context=ZAHL ZAHL Zeilen von vorausgehendem Kontext "
+#~ "anzeigen.\n"
+
+#~ msgid " -A, --after-context=NUM print NUM lines of trailing context\n"
+#~ msgstr ""
+#~ " -A, --after-context=ZAHL ZAHL Zeilen von folgendem Kontext anzeigen.\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr " -ZAHL Wie -B ZAHL und -A ZAHL.\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context Wie -2.\n"
+
+#~ msgid "follows(%d:"
+#~ msgstr "folgt(%d:"
+
+#~ msgid "Usage: %s [option]... regex [file]...\n"
+#~ msgstr "Aufruf: %s [option]... regex [datei]...\n"
+
+#~ msgid "Usage: %s [option]... pattern [file] ...\n"
+#~ msgstr "Aufruf: %s [option]... muster [datei] ...\n"
+
+#~ msgid "There should be one and only one pattern, -e pattern or -f file.\n"
+#~ msgstr "Es sollte genau eines aus muster, -e muster oder -f datei geben.\n"
+
+#~ msgid "If call as egrep, this implies -E and fgrep for -F.\n"
+#~ msgstr "Impliziert -E, wenn als egrep gerufen, und -F bei fgrep.\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr "Wenn kein -[GEF] angegeben, wird -G angenommen.\n"
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644
index 00000000..a6e5a698
--- /dev/null
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 00000000..eac119e8
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,459 @@
+# Mensajes en español para GNU grep.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Enrique Melero Gómez <melero@iprolink.ch>, 1996.
+# Santiago Vila Doncel <sanvila@unex.es>, 1997.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.1\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-11-30 13:14+0100\n"
+"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "Memoria agotada"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "Secuencia de escape \\ sin terminar"
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "contador de repetición sin terminar"
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "contador de repetición erróneo"
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "[ desemparejado"
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "( desemparejado"
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "No se ha especificado ninguna sintaxis"
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ") desemparejado"
+
+# FIXME. Comunicar al autor que esto es repetición...
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: la opción `%s' es ambigua\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: la opción `--%s' no admite ningún argumento\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: la opción `%s' requiere un argumento\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opción no reconocida `--%s'\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opción no reconocida `%c%s'\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opción ilegal -- %c\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opción inválida -- %c\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: la opción requiere un argumento -- %c\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: la opción `-W %s' es ambigua\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "opción %s"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr " con argumento %s"
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "aparecen dígitos en dos elementos de argv diferentes.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "opción %c\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "opción a\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "opción b\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "la opción c tiene el valor `%s'\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "la opción d tiene el valor `%s'\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt ha devuelto el carácter código 0%o ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "elementos de ARGV que no son opciones: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "memoria agotada"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: atención: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "escribiendo el resultado"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr "Modo de empleo: %s [OPCIÓN]... PATRÓN [FICHERO]...\n"
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Pruebe `%s --help' para más información.\n"
+
+# FIXME: Dice [FILE] ... en vez de [FILE]... ¿Será un error?
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr "Modo de empleo: %s [OPCIÓN]... PATRÓN [FICHERO] ...\n"
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+#, fuzzy
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr "Comunicar `bugs' a <bug-gnu-utils@prep.ai.mit.edu>.\n"
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "sólo se puede especificar una de las opciones -E, -F, o -G"
+
+# viendo los fuentes , hay varias opciones
+# que hay sin documentar. O quizá es que getopt() lo he entendido mal
+# Son las opciones X ( requiere argumento ) , switchs -c, -b, -L e -y
+# grep.c:622 ->
+# opt = getopt(argc, argv, "0123456789A:B:CEFGVX:bce:f:hiLlnqsvwxy"
+# grep --help ->
+# usage: grep [-[[AB] ]<num>] [-[CEFGVchilnqsvwx]] [-[ef]] <expr> [<files...>]
+# La opción -X es a la que corresponde esta línea.
+#
+# No me gusta nada lo de opción "a buscar".
+# Se admiten sugerencias. sv
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "la expresión a buscar ya fue especificada"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "grep (GNU grep) %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Esto es software libre; vea el código fuente para las condiciones de copia.\n"
+"No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n"
+"FIN DETERMINADO.\n"
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(entrada estándar)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(salida estándar)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "memoria agotada\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Selección e interpretación de Expreg:\n"
+
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr ""
+#~ " -E, --extended-regexp PATRÓN es una expresión regular extendida\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings PATRÓN es una cadena fija separada por\n"
+#~ " caracteres de nueva línea\n"
+
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr ""
+#~ " -G, --basic-regexp PATRÓN es una expresión regular básica\n"
+
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr " -e, --regexp=PATRÓN utiliza PATRÓN como expresión regular\n"
+
+# FIXME: El original está mal.
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=FICHERO obtiene PATRÓN de FICHERO\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr ""
+#~ " -i, --ignore-case considera iguales mayúsculas y minúsculas\n"
+
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr ""
+#~ " -w, --word-regexp obliga a que PATRÓN coincida solamente\n"
+#~ " con palabras completas\n"
+
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr ""
+#~ " -x, --line-regexp obliga a que PATRÓN coincida solamente\n"
+#~ " con líneas completas\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "Variadas:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages suprime los mensajes de error\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr " -v, --revert-match selecciona las líneas no coincidentes\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr " -V, --version muestra la versión y finaliza\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help muestra esta ayuda y finaliza\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Control del resultado:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr ""
+#~ " -b, --byte-offset muestra el desplazamiento en bytes junto\n"
+#~ " con las líneas de salida\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr ""
+#~ " -n, --line-number muestra el número de línea junto con\n"
+#~ " las líneas de salida\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr ""
+#~ " -H, --with-filename muestra el nombre del fichero para cada\n"
+#~ " coincidencia\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr ""
+#~ " -h, --no-filename suprime los nombres de los ficheros en\n"
+#~ " el resultado\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr " -q, --quiet, --silent suprime todo el resultado normal\n"
+
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match muestra solamente los nombres de FICHEROs\n"
+#~ " que no contienen ninguna coincidencia\n"
+
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr ""
+#~ " -l, --files-with-matches muestra solamente los nombres de FICHEROs\n"
+#~ " que contienen alguna coincidencia\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count muestra solamente el total de líneas que "
+#~ "coinciden\n"
+#~ " por cada FICHERO\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "Control del contexto:\n"
+
+#~ msgid " -B, --before-context=NUM print NUM lines of leading context\n"
+#~ msgstr ""
+#~ " -B, --before-context=NÚM muestra NÚM líneas de contexto anterior\n"
+
+#~ msgid " -A, --after-context=NUM print NUM lines of trailing context\n"
+#~ msgstr ""
+#~ " -A, --after-context=NÚM muestra NÚM líneas de contexto posterior\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr ""
+#~ " -NÚM lo mismo que -B NÚM y -A NÚM al mismo tiempo\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context lo mismo que -2\n"
+
+#~ msgid " -U, --binary do not strip CR characters at EOL\n"
+#~ msgstr ""
+#~ " -U, --binary no elimina los caracteres CR finales de línea\n"
+
+#~ msgid ""
+#~ " -u, --unix-byte-offsets report offsets as if CRs were not there\n"
+#~ msgstr ""
+#~ " -u, --unix-byte-offsets cuenta los desplazamientos como si no hubiera\n"
+#~ "retornos de carro\n"
+
+# Prefiero dejarlo en solamente un patrón
+# Pero entonces no queda claro que *debe haber uno*, y parece que
+# es uno como máximo (siendo el mínimo 0). sv
+#~ msgid ""
+#~ "There should be one and only one PATTERN, `-e PATTERN' or `-f FILE'.\n"
+#~ msgstr "Debe haber un y solamente un PATRÓN, `-e PATRÓN', o `-f FICHERO'.\n"
+
+# No es muy claro el original que digamos... sv
+#~ msgid "If call as `egrep', this implies -E and `fgrep' for -F.\n"
+#~ msgstr "Si se llama como `egrep', esto implica -E y `fgrep' para -F.\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr "Si no se especifica ninguna de las opciones -[GEF], se supone -G.\n"
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 00000000..3f9b515b
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 00000000..2fe1c23d
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,445 @@
+# Messages français pour GNU concernant grep.
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0c\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-09-23 16:00 -0500\n"
+"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+"Language-Team: French <fr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "Mémoire épuisée."
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "séquence d'échappement \\ non terminée."
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "décompte de répétition non terminé."
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "décompte de répétition mal formé."
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "[ non pairé"
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "( non pairé"
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "Aucune syntaxe spécifié"
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ") non pairé"
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "Mémoire épuisée."
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: l'option `%s' est ambiguë.\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: l'option `--%s' ne permet pas de paramètre.\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: l'option `%c%s' ne permet pas de paramètre.\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: l'option `%s' requiert un paramètre.\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: l'option `--%s' n'est pas reconnue.\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: l'option `%c%s' n'est pas reconnue.\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: l'option -- %c est illégale.\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: l'option -- %c est invalide.\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'option -- %c requiert un paramètre.\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: l'option `-W %s' est ambiguë.\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: l'option `-W %s' ne permet pas de paramètre.\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "option %s"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr " avec le paramètre %s"
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "Des chiffres apparaissent dans 2 paramètres différents.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "option %c\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "option a\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "option b\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "option c ayant pour valeur `%s'\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "option d ayant pour valeur `%s'\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt() a retourné le code de caractère 0%o ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "Des élément ARGV qui ne sont pas des options: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "Mémoire épuisée."
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: AVERTISSEMENT: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "Génération du résultat."
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "Un seul des paramètres suivants peut être spécifié -E, -F ou -G"
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "L'opérateur de concordance a déjà été spécifié."
+
+# msgid "GNU grep version %s"
+# msgstr "«grep» de GNU version %s"
+#: src/grep.c:915
+#, fuzzy, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "«grep» de GNU version %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(entrée standard)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(entrée standard)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "Mémoire épuisée.\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Sélection de l'EXP_RÉGULIÈRE et interprétation:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr ""
+#~ " -E, --extended-regexp <PATRON> est une expression régulière étendue\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings <PATRON> est une chaîne de longueur fixe\n"
+#~ " séparée par des sauts de ligne\n"
+
+#, fuzzy
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr ""
+#~ " -G, --basic-regexp <PATRON> est une expression régulière de base\n"
+
+#, fuzzy
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr ""
+#~ " -e, --regexp=<PATRON> utiliser le <PATRON> comme une \n"
+#~ " expression régulière\n"
+
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=<FICHIER> obtenir le <PATRON> du <FICHIER>\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr " -i, --ignore-case ignorer la distinction de la casse\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr ""
+#~ " -w, --word-regexp forcer le <PATRON> à établir des\n"
+#~ " concordances que sur des mots complets\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr ""
+#~ " -x, --line-regexp forcer le <PATRON> à établir des\n"
+#~ " concordances que sur des lignes entières\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "Divers:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages suprimer les messages d'erreur\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr ""
+#~ " -v, --revert-match sélectionner les lignes sans concordance\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr ""
+#~ " -V, --version afficher le nom et la version du logiciel\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help afficher l'aide et quitter\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Contrôle de sortie:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr ""
+#~ " -b, --byte-offset afficher les adresses relatives avec\n"
+#~ " les lignes traitées\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr ""
+#~ " -n, --line-number afficher les numéros de lignes\n"
+#~ " avec les lignes traitées\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr ""
+#~ " -H, --with-filename afficher le nom de fichier pour\n"
+#~ " chaque concordance\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr ""
+#~ " -h, --no-filename suprimer le préfixe du nom de fichier\n"
+#~ " sur la sortie\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr " -q, --quiet, --silent suprimer tout affichage en sortie\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match afficher seulement les noms des fichiers\n"
+#~ " dont les lignes ne concordent pas\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr ""
+#~ " -l, --files-with-matches afficher seulement les noms des fichiers\n"
+#~ " dont les lignes concordent\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count afficher seulement le décompte des lignes\n"
+#~ " concordantes par fichier\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "Contrôle du contexte:\n"
+
+#~ msgid " -B, --before-context=NUM print NUM lines of leading context\n"
+#~ msgstr ""
+#~ " -B, --before-context=N imprimer N lignes du contexte d'en-tête\n"
+
+#~ msgid " -A, --after-context=NUM print NUM lines of trailing context\n"
+#~ msgstr " -A, --after-context=N imprimer N lignes du contexte finale\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr " -NUM identique à -B NUM et -A NUM\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context identique à -2\n"
+
+#~ msgid "follows(%d:"
+#~ msgstr "suit(%d:"
+
+#~ msgid "Usage: %s [option]... regex [file]...\n"
+#~ msgstr "Usage: %s [OPTION]... EXP_REGULIÈRE [FICHIER]...\n"
+
+#~ msgid "Usage: %s [option]... pattern [file] ...\n"
+#~ msgstr "Usage: %s [OPTION]... PATRON [FICHIER] ...\n"
+
+#~ msgid "There should be one and only one pattern, -e pattern or -f file.\n"
+#~ msgstr "Il ne doit y avoir qu'un seul patron, -e PATRON ou -f FICHIER.\n"
+
+#~ msgid "If call as egrep, this implies -E and fgrep for -F.\n"
+#~ msgstr ""
+#~ "Si appelé via egrep, l'option -E est implicite\n"
+#~ "Si appelé via fgrep, l'option -F est implicite\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr ""
+#~ "Si aucune des options -[GEF] n'est utilisé, l'option -G est implicite.\n"
diff --git a/po/grep.pot b/po/grep.pot
new file mode 100644
index 00000000..4b904055
--- /dev/null
+++ b/po/grep.pot
@@ -0,0 +1,293 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\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: ENCODING\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr ""
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr ""
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr ""
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr ""
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr ""
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr ""
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr ""
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ""
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr ""
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr ""
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr ""
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr ""
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr ""
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr ""
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr ""
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr ""
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr ""
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr ""
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr ""
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr ""
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr ""
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr ""
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr ""
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr ""
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr ""
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr ""
diff --git a/po/ko.gmo b/po/ko.gmo
new file mode 100644
index 00000000..36a9e923
--- /dev/null
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 00000000..953d6731
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,412 @@
+# Korean messages for GNU grep.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Bang Jun-Young <bangjy@geocities.com>, 1996-1997.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0f\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-09-03 11:19+0900\n"
+"Last-Translator: Bang Jun-Young <bangjy@geocities.com>\n"
+"Language-Team: Korean <ko@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-KR\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "¿Ï°áµÇÁö ¾ÊÀº \\ À̽ºÄÉÀÌÇÁ"
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "¿Ï°áµÇÁö ¾ÊÀº ¹Ýº¹ ȸ¼ö"
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "À߸ø ÁÖ¾îÁø ¹Ýº¹ ȸ¼ö"
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â ["
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â ("
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "¹®¹ýÀÌ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ½"
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â )"
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "¸Þ¸ð¸® ºÎÁ·"
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: `%s'´Â ¸ðÈ£ÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: `--%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: `%c%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: `%s' ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `--%s'\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: À߸øµÈ ¿É¼Ç -- %c\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ºÎÀûÀýÇÑ ¿É¼Ç -- %c\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ÀÌ ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù -- %c\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: `-W %s'´Â ¸ðÈ£ÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: `-W %s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "%s ¿É¼Ç"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr " %s Àμö¸¦ °¡Áü"
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "¼ýÀÚ°¡ ¼­·Î ´Ù¸¥ µÎ ±ºµ¥ÀÇ argv ¿ø¼Ò¿¡¼­ ¹ß°ßµÇ¾ú½À´Ï´Ù.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "%c ¿É¼Ç\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "a ¿É¼Ç\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "b ¿É¼Ç\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "`%s'¸¦ °ªÀ¸·Î °®´Â c ¿É¼Ç\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "`%s'¸¦ °ªÀ¸·Î °®´Â d ¿É¼Ç\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt°¡ ¹®ÀÚ ÄÚµå 0%o¸¦ µ¹·ÁÁÖ¾ú½À´Ï´Ù ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "ºñ¿É¼Ç ARGV ¿ø¼Ò: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: °æ°í: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "Ãâ·ÂÀ» ±â·ÏÇÏ°í ÀÖ½À´Ï´Ù"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr "»ç¿ë¹ý: %s [¿É¼Ç]... ÆÐÅÏ [ÆÄÀÏ]...\n"
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n"
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr "»ç¿ë¹ý: %s [¿É¼Ç]... ÆÐÅÏ [ÆÄÀÏ] ...\n"
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+#, fuzzy
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr "¹®Á¦Á¡Àº <bug0gnu-utils@prep.ai.mit.edu>·Î º¸°íÇØ ÁֽʽÿÀ.\n"
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "-E, -F, -G Áß¿¡¼­ Çϳª¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù"
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "¦ÀÌ ÀÌ¹Ì ÁöÁ¤µÇ¾úÀ½"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "grep (GNU grep) %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+"ÀúÀÛ±Ç (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"ÀÌ ÇÁ·Î±×·¥Àº °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù. º¹»ç¿¡ °üÇÑ Á¶°ÇÀº ¼Ò½º¸¦ "
+"ÂüÁ¶ÇϽʽÿÀ.\n"
+"»óÇ°¼ºÀ̳ª ƯÁ¤ ¸ñÀû¿¡ ´ëÇÑ ÀûÇÕ¼ºÀ» ºñ·ÔÇÏ¿©, ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö ¾Ê½À´Ï´Ù.\n"
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(Ç¥ÁØ ÀÔ·Â)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(Ç¥ÁØ ÀÔ·Â)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Á¤±Ô½Ä ¼±Åðú Çؼ®:\n"
+
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr " -E, --extended-regexp ÆÐÅÏÀº È®Àå Á¤±Ô½ÄÀÌ µË´Ï´Ù\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings ÆÐÅÏÀº ÁÙ¹Ù²Þ ¹®ÀÚ·Î ºÐ¸®µÈ °íÁ¤ ¹®ÀÚ¿­ÀÌ "
+#~ "µË´Ï´Ù\n"
+
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr " -G, --basic-regexp ÆÐÅÏÀº ±âº» Á¤±Ô½ÄÀÌ µË´Ï´Ù\n"
+
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr " -e, --regexp=ÆÐÅÏ ÆÐÅÏÀ» Á¤±Ô½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù\n"
+
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=ÆÄÀÏ ÆÐÅÏÀ» ÆÄÀÏ¿¡¼­ °¡Á®¿É´Ï´Ù\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr " -i, --ignore-case ´ë¼Ò¹®ÀÚ ±¸º°À» ¹«½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr ""
+#~ " -w, --word-regexp ÆÐÅÏÀ» Àüü ´Ü¾î¿Í ÀÏÄ¡ÇÏ´Â °ÍÀ¸·Î¸¸ Á¦ÇÑÇÕ´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr ""
+#~ " -x, --line-regexp ÆÐÅÏÀ» Àüü Çà°ú ÀÏÄ¡ÇÏ´Â °ÍÀ¸·Î¸¸ Á¦ÇÑÇÕ´Ï´Ù\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "±âŸ:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages ¿À·ù ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏÁö ¾Ê½À´Ï´Ù\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr " -v, --revert-match ÀÏÄ¡ÇÏÁö ¾Ê´Â ÇàµéÀ» ¼±ÅÃÇÕ´Ï´Ù\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr " -V, --version ¹öÀü Á¤º¸¸¦ Ç¥½ÃÇÏ°í Á¾·áÇÕ´Ï´Ù\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í Á¾·áÇÕ´Ï´Ù\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Ãâ·Â Á¦¾î:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr ""
+#~ " -b, --byte-offset Ãâ·ÂµÇ´Â Çà¿¡ ¹ÙÀÌÆ® ¿ÀÇÁ¼ÂÀ» Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr " -n, --line-number Ãâ·ÂµÇ´Â Çà¿¡ Çà¹øÈ£¸¦ Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr ""
+#~ " -H, --with-filename °¢°¢ÀÇ ÀÏÄ¡ °á°ú¿¡ ´ëÇØ ÆÄÀϸíÀ» Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr ""
+#~ " -H, --with-filename °¢°¢ÀÇ ÀÏÄ¡ °á°ú¿¡ ´ëÇØ ÆÄÀϸíÀ» Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr ""
+#~ " -q, --quiet, --silent ÀϹÝÀûÀÎ ¸ðµç Ãâ·ÂÀ» Ç¥½ÃÇÏÁö ¾Ê½À´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match ÀÏÄ¡ °á°ú°¡ ¾ø´Â ÆÄÀÏ À̸§¸¸ Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr ""
+#~ " -l, --files-with-matches ÀÏÄ¡ °á°ú°¡ Æ÷ÇÔµÈ ÆÄÀÏ À̸§¸¸ Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count ÆÄÀÏ´ç ÀÏÄ¡ÇÏ´Â ÇàÀÇ °³¼ö¸¸À» Ç¥½ÃÇÕ´Ï´Ù\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "¹®¸Æ Á¦¾î:\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr " -¼ýÀÚ -B ¼ýÀÚ³ª -A ¼ýÀÚ¿Í °°À½\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context -2¿Í °°À½\n"
+
+#~ msgid " -U, --binary do not strip CR characters at EOL\n"
+#~ msgstr " -U, --binary ÇೡÀÇ CR ¹®ÀÚ¸¦ À߶ó³»Áö ¾Ê½À´Ï´Ù\n"
+
+#~ msgid ""
+#~ " -u, --unix-byte-offsets report offsets as if CRs were not there\n"
+#~ msgstr " -u, --unix-byte-offsets CRÀ» Á¦¿ÜÇÏ°í ¿ÀÇÁ¼ÂÀ» »êÃâÇÕ´Ï´Ù\n"
+
+#~ msgid "If call as `egrep', this implies -E and `fgrep' for -F.\n"
+#~ msgstr ""
+#~ "`egrep'À¸·Î È£ÃâµÇ¸é -E·Î °¡Á¤µÇ°í `fgrep'ÀÏ ¶§¿¡´Â -F°¡ °¡Á¤µË´Ï´Ù.\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr "-[GEF]°¡ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é -G·Î °¡Á¤ÇÕ´Ï´Ù.\n"
diff --git a/po/nl.gmo b/po/nl.gmo
new file mode 100644
index 00000000..944a531d
--- /dev/null
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 00000000..37522fee
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,305 @@
+# Dutch messages for GNU grep.
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Erick Branderhorst <branderh@debian.org>, 1996.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1996-08-18 11:24 EDT\n"
+"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
+"Language-Team: Dutch <nl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+#, fuzzy
+msgid "Memory exhausted"
+msgstr "geen geheugen meer beschikbaar"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr ""
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr ""
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr ""
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr ""
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr ""
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr ""
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ""
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr ""
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr ""
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr ""
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr ""
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr ""
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr ""
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr ""
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr ""
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr ""
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "geen geheugen meer beschikbaar"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: let op: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "schrijven van uitvoer"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "alleen de volgende opties zijn toegestaan: -E, -F, of -G"
+
+# viendo los fuentes , hay varias opciones
+# que hay sin documentar. O quiza es que getopt() lo he entendido mal
+# Son las opciones X ( requiere argumento ) , switchs -c, -b, -L e -y
+# grep.c:622 ->
+# opt = getopt(argc, argv, "0123456789A:B:CEFGVX:bce:f:hiLlnqsvwxy"
+# grep --help ->
+# usage: grep [-[[AB] ]<num>] [-[CEFGVchilnqsvwx]] [-[ef]] <expr> [<files...>]
+# La opcisn -X es a la que corresponde esta lmnea.
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "overeenkomer (matcher FIXME) al gespecificeerd"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr ""
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(standaardinvoer)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(standaardinvoer)\n"
+
+#: src/obstack.c:467
+#, fuzzy
+msgid "memory exhausted\n"
+msgstr "geen geheugen meer beschikbaar"
+
+#~ msgid "GNU grep version 2.0"
+#~ msgstr "(FIXME) GNU grep version 2.0"
diff --git a/po/no.gmo b/po/no.gmo
new file mode 100644
index 00000000..898f06b2
--- /dev/null
+++ b/po/no.gmo
Binary files differ
diff --git a/po/no.po b/po/no.po
new file mode 100644
index 00000000..c2010eee
--- /dev/null
+++ b/po/no.po
@@ -0,0 +1,427 @@
+# Norwegian messages for GNU Grep version 2.1. (bokmål dialect)
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Karl Anders Øygard <karl.oygard@fou.telenor.no>, 1996.
+#
+# Eivind Tagseth <eivindt@multinet.no>, 1997
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.1\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-12-27 02:01+0100\n"
+"Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n"
+"Language-Team: Norwegian <no@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "Minnet oppbrukt"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "Uferdig \\-beskyttelse"
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "uferdig gjentagelsesantall"
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "feilaktig gjentagelsesantall"
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "Ubalansert ["
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "Ubalansert ("
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "Ingen syntaks spesifisert"
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr "Ubalansert )"
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "tomt for minne"
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: flagget «%s» er flertydig\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: flagget «--%s» tar ikke argumenter\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: flagget «%c%s» tar ikke argumenter\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: flagget «%s» trenger et argument\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: ukjent flagg «--%s»\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: ukjent flagg «%c%s»\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ulovlig flagg -- %c\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ugyldig flagg -- %c\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flagget behøver et argument -- %c\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: flagget «-W %s» er flertydig\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: flagget «-W %s» tar ikke argumenter\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "flagg %s"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr " med arg %s"
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "tallene forekommer i to forskjellige argv-elementer.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "flagg %c\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "flagg a\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "flagg b\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "flagg c med verdi «%s»\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "flagg d med verdi «%s»\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt returnerte tegnverdien 0%o ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "ARGV-elementer som ikke er flagg: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "minnet oppbrukt"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: advarsel: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "skriver utdata"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr "Bruk: %s [FLAGG]... MØNSTER [FIL]...\n"
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Prøv «%s --help» for mer informasjon.\n"
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr "Bruk: %s [FLAGG]... MØNSTER [FIL] ...\n"
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+#, fuzzy
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr "Rapportér bugs til <bug-gnu-utils@prep.ai.mit.edu>.\n"
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "du kan bare spesifisere en av -E, -F eller -G"
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "søkeuttrykk er allerede spesifisert"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "grep (GNU grep) %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Dette er fri programvare, se kildekoden for kopieringsbetingelser. Det\n"
+"er INGEN garanti, ikke en gang for SALGBARHET eller EGNETHET FOR NOEN \n"
+"SPESIELL OPPGAVE.\n"
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(standard inn)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(standard inn)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "minnet oppbrukt\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Regexp-valg og -tolkning:\n"
+
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr ""
+#~ " -E, --extended-regexp MØNSTER er et utvidet regulært uttrykk\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings MØNSTER er en fast streng separert med "
+#~ "linjeskift\n"
+
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr " -G, --basic-regexp MØNSTER er et vanlig regulært uttrykk\n"
+
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr " -e, --regexp=<mønster> bruk MØNSTER som et regulært uttrykk\n"
+
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=FIL skaff MØNSTER fra FIL\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr ""
+#~ " -i, --ignore-case skill ikke mellom store og små bokstaver\n"
+
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr ""
+#~ " -w, --word-regexp MØNSTER skal bare stemme overens med hele ord\n"
+
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr ""
+#~ " -x, --line-regexp MØNSTER skal bare stemme overens med hele "
+#~ "linjer\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "Diverse:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages ikke skriv ut feilmeldinger\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr ""
+#~ " -v, --revert-match velg linjer som _ikke_ stemmer med <mønster>\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr " -V, --version skriv versjonsinformasjon og avslutt\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help vis denne hjelpen og avslutt\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Output-kontroll:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr ""
+#~ " -b, --byte-offset skriv byte-posisjon sammen med ut-linjer\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr ""
+#~ " -n, --line-number skriv linjenummer sammen med ut-linjer\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr " -H, --with-filename skriv filnavnet for hvert treff\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr " -h, --no-filename ikke skriv filnavnet til skjermen\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr " -q, --quiet, --silent ikke skriv normal utdata\n"
+
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match bare skriv filnavnene til filer uten treff\n"
+
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr " -l, --files-with-matches bare skriv filnavnene med treff\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count bare skriv antall linjer med treff per FIL\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "Kontekst-kontroll:\n"
+
+#~ msgid " -B, --before-context=NUM print NUM lines of leading context\n"
+#~ msgstr " -B, --before-context=ANT skriv ANT linjer med ledende kontekst\n"
+
+#~ msgid " -A, --after-context=NUM print NUM lines of trailing context\n"
+#~ msgstr ""
+#~ " -A, --after-context=ANT skriv ANT linjer med etterfølgende kontekst\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr " -ANT samme som både -B ANT og -A ANT\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context samme som -2\n"
+
+#~ msgid " -U, --binary do not strip CR characters at EOL\n"
+#~ msgstr ""
+#~ " -U, --binary ikke fjern CR-tegn ved slutten av linjene\n"
+
+#~ msgid ""
+#~ " -u, --unix-byte-offsets report offsets as if CRs were not there\n"
+#~ msgstr ""
+#~ " -u, --unix-byte-offsets rapporter posisjoner som om CRene ikke var der\n"
+
+#~ msgid ""
+#~ "There should be one and only one PATTERN, `-e PATTERN' or `-f FILE'.\n"
+#~ msgstr "Det skal være ett og bare ett MØNSTER, -e MØNSTER eller -f FIL.\n"
+
+#~ msgid "If call as `egrep', this implies -E and `fgrep' for -F.\n"
+#~ msgstr "Kalt som «egrep» impliserer -E og kalt som «fgrep» impliserer -F.\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr "Hvis ikke -[GEF] antas -G.\n"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 00000000..89c2fd7c
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 00000000..d27e561b
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,437 @@
+# Polish translation of the GNU grep messages
+# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+# Rafa³ Maszkowski <rzm@pdi.net>, 1996-1997.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1996-08-01 00:15+0200\n"
+"Last-Translator: Rafa³ Maszkowski <rzm@pdi.net>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+msgid "Memory exhausted"
+msgstr "Pamiêæ wyczerpana"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr "Niedokoñczona sekwencja \\"
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr "niedokoñczona liczba powtórzeñ"
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr "¼le sformatowana liczba powtórzeñ"
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr "[ nie do pary"
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr "( nie do pary"
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr "Brak specyfikacji sk³adni"
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ") nie do pary"
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr "brak pamiêci"
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opcja `%s' jest niejednoznaczna\n"
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: opcja `--%s' nie mo¿e mieæ argumentu\n"
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opcja `%c%s' nie mo¿e mieæ argumentu\n"
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opcja `%s' wymaga argumentu\n"
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: nierozpoznana opcja `--%s'\n"
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: nierozpoznana opcja `%c%s'\n"
+
+# should ther be a space between -- and %c? - rzm 970731
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nielegalna opcja -- %c\n"
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: b³êdna opcja -- %c\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opcja wymaga argumentu -- %c\n"
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opcja `-W %s' nie mo¿e mieæ argumentu\n"
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr "opcja %s"
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr " z arg. %s"
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr "cyfry wystêpuj± w dwóch ró¿nych elementach argv.\n"
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr "opcja %c\n"
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr "opcja a\n"
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr "opcja b\n"
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr "opcja c o warto¶ci `%s'\n"
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr "opcja d o warto¶ci `%s'\n"
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr "?? getopt zwróci³ znak o kodzie 0%o ??\n"
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr "elementy ARGV nie bêd±ce opcjami: "
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "pamiêæ wyczerpana"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: uwaga: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "zapisujê wyniki"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Spróbuj `%s --help' dla uzyskania informacji.\n"
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "mo¿esz podaæ tylko jedn± opcjê z -E -F -G"
+
+# viendo los fuentes , hay varias opciones
+# que hay sin documentar. O quiza es que getopt() lo he entendido mal
+# Son las opciones X ( requiere argumento ) , switchs -c, -b, -L e -y
+# grep.c:622 ->
+# opt = getopt(argc, argv, "0123456789A:B:CEFGVX:bce:f:hiLlnqsvwxy"
+# grep --help ->
+# usage: grep [-[[AB] ]<num>] [-[CEFGVchilnqsvwx]] [-[ef]] <expr> [<files...>]
+# La opción -X es a la que corresponde esta línea.
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "wzorzec ju¿ podany"
+
+#: src/grep.c:915
+#, fuzzy, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr "GNU grep, wersja %s\n"
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(standardowe wej¶cie)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(standardowe wyj¶cie)\n"
+
+#: src/obstack.c:467
+msgid "memory exhausted\n"
+msgstr "pamiêæ wyczerpana\n"
+
+#~ msgid "Regexp selection and interpretation:\n"
+#~ msgstr "Interperetacje i wybór wyr. regularnych:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -E, --extended-regexp PATTERN is an extended regular expression\n"
+#~ msgstr ""
+#~ " -E, --extended-regexp <wzorzec> jest rozszerzonym wyr. regularnym\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+#~ msgstr ""
+#~ " -F, --fixed-strings <wzrozec> ³añcuchy znaków oddz. przez zn. nowej "
+#~ "linii\n"
+
+#, fuzzy
+#~ msgid " -G, --basic-regexp PATTERN is a basic regular expression\n"
+#~ msgstr ""
+#~ " -G, --basic-regexp <wzorzec> jest prostym wyr. regularnym\n"
+
+#, fuzzy
+#~ msgid " -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+#~ msgstr " -e, --regexp=<wzorzec> u¿yj <wzorca> jako wyr. regularnego\n"
+
+#, fuzzy
+#~ msgid " -f, --file=FILE obtain PATTERN from FILE\n"
+#~ msgstr " -f, --file=<plik> u¿yj <wzroca> z <pliku>\n"
+
+#~ msgid " -i, --ignore-case ignore case distinctions\n"
+#~ msgstr ""
+#~ " -i, --ignore-case zignoruj ro¿nice miêdzy ma³ymi i du¿. lit.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -w, --word-regexp force PATTERN to match only whole words\n"
+#~ msgstr ""
+#~ " -w, --word-regexp dopasuj <wzorzec> tylko do pe³nych s³ów\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -x, --line-regexp force PATTERN to match only whole lines\n"
+#~ msgstr ""
+#~ " -x, --line-regexp dopasuj <wzorzec> tylko do ca³ych linii\n"
+
+#~ msgid "Miscellaneous:\n"
+#~ msgstr "Ró¿ne:\n"
+
+#~ msgid " -s, --no-messages suppress error messages\n"
+#~ msgstr " -s, --no-messages bez komunikatów o b³êdach\n"
+
+#~ msgid " -v, --revert-match select non-matching lines\n"
+#~ msgstr " -v, --revert-match wybierz linie nie pasuj±ce\n"
+
+#~ msgid " -V, --version print version information and exit\n"
+#~ msgstr " -V, --version wypisz informacjê o wersji i zakoñcz\n"
+
+#~ msgid " --help display this help and exit\n"
+#~ msgstr " --help wy¶wietl tê informacjê i zakoñcz\n"
+
+#~ msgid "Output control:\n"
+#~ msgstr "Sterowanie wyj¶ciem:\n"
+
+#~ msgid ""
+#~ " -b, --byte-offset print the byte offset with output lines\n"
+#~ msgstr " -b, --byte-offset wypisz pozycje bajtów w wyniku\n"
+
+#~ msgid " -n, --line-number print line number with output lines\n"
+#~ msgstr " -n, --line-number wypisuj numery linii w wyniku\n"
+
+#~ msgid " -H, --with-filename print the filename for each match\n"
+#~ msgstr " -H, --with-filename wypisz nazwê pliku dla ka¿dej linii\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --no-filename suppress the prefixing filename on output\n"
+#~ msgstr ""
+#~ " -h, --no-filename nie dopisuj nazwy pliku w liniach wyj¶ciowych\n"
+
+#~ msgid " -q, --quiet, --silent suppress all normal output\n"
+#~ msgstr " -q, --quiet, --silent wy³±cz wypisywanie wyniku\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -L, --files-without-match only print FILE names containing no match\n"
+#~ msgstr ""
+#~ " -L, --files-without-match wypisz tylko nazwy plików z nie-trafieniami\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -l, --files-with-matches only print FILE names containing matches\n"
+#~ msgstr ""
+#~ " -l, --files-with-matches wypisz tylko nazwy plików z trafieniami\n"
+
+#~ msgid ""
+#~ " -c, --count only print a count of matching lines per FILE\n"
+#~ msgstr ""
+#~ " -c, --count wypisz tylko ilo¶æ pasuj±cych linii w ka¿dym "
+#~ "PLIKu\n"
+
+#~ msgid "Context control:\n"
+#~ msgstr "Sterowanie kotekstem:\n"
+
+#~ msgid " -B, --before-context=NUM print NUM lines of leading context\n"
+#~ msgstr " -B, --before-context=ILE wypisz ILE linii kontekstu przed\n"
+
+#~ msgid " -A, --after-context=NUM print NUM lines of trailing context\n"
+#~ msgstr " -A, --after-context=ILE wypisz ILE linii kontekstu po\n"
+
+#~ msgid " -NUM same as both -B NUM and -A NUM\n"
+#~ msgstr " -NUM to samo co -B NUM i -A NUM razem\n"
+
+#~ msgid " -C, --context same as -2\n"
+#~ msgstr " -C, --context to samo co -2\n"
+
+# whats that? - rzm 970731
+#~ msgid "follows(%d:"
+#~ msgstr "natêpuje(%d:"
+
+#~ msgid "Usage: %s [option]... regex [file]...\n"
+#~ msgstr "U¿ycie: %s [opcja]... regex [plik]...\n"
+
+#~ msgid "Usage: %s [option]... pattern [file] ...\n"
+#~ msgstr "U¿ycie: %s [opcja]... wzorzec [plik] ...\n"
+
+#~ msgid "There should be one and only one pattern, -e pattern or -f file.\n"
+#~ msgstr ""
+#~ "Powinien byæ jeden i tylko jeden wzorzec, -e wzorzec albo -f plik.\n"
+
+# call? called? - rzm 970731
+#~ msgid "If call as egrep, this implies -E and fgrep for -F.\n"
+#~ msgstr "Zawo³anie jako egrep implikuje -E, jako fgrep - -F.\n"
+
+#~ msgid "If no -[GEF], then -G is assumed.\n"
+#~ msgstr "Je¿eli brak -[GEF] przyjmujê -G.\n"
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 00000000..f463c1de
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 00000000..913a3e23
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,297 @@
+# ìÏËÁÌÉÚÁÃÉÑ ÄÌÑ grep.
+# Copyright (C) 1997 Free Software Foundation, Inc.
+# Denis Y. Pershin <dyp@siblug.org>, 1997.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1997-03-10 15:26\n"
+"Last-Translator: Denis Y. Pershin <dyp@siblug.org>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=koi8-r\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+#, fuzzy
+msgid "Memory exhausted"
+msgstr "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr ""
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr ""
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr ""
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr ""
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr ""
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr ""
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ""
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr ""
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr ""
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr ""
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr ""
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr ""
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr ""
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr ""
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr ""
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr ""
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "ÚÁÐÉÓÙ×ÁÀ ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÔÏÌØËÏ ÏÄÎÕ ÉÚ -E, -F ÉÌÉ -G"
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "ÏÂÒÁÚÅÃ ÕÖÅ ÚÁÄÁÎ"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr ""
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ)\n"
+
+#: src/obstack.c:467
+#, fuzzy
+msgid "memory exhausted\n"
+msgstr "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
+
+#~ msgid "GNU grep version 2.0"
+#~ msgstr "GNU grep ×ÅÒÓÉÉ 2.0"
diff --git a/po/sl.gmo b/po/sl.gmo
new file mode 100644
index 00000000..a19d86cf
--- /dev/null
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 00000000..b1cc13ec
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,304 @@
+# grep, egrep, fgrep - print lines matching a pattern.
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 1996.
+#
+# $Header: /sources/grep/grep/po/sl.po,v 1.1 1998/11/03 21:39:00 alainm Exp $
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1996-05-28 21:15\n"
+"Last-Translator: Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
+"Language-Team: Slovenian <sl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+#, fuzzy
+msgid "Memory exhausted"
+msgstr "pomnilnik porabljen"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr ""
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr ""
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr ""
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr ""
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr ""
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr ""
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ""
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr ""
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr ""
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr ""
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr ""
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr ""
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr ""
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr ""
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr ""
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr ""
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "pomnilnik porabljen"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: pozor: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "pisanje rezultatov"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "izberete lahko samo eno od izbir: -E, -F ali -G"
+
+# Sporoèilo se pojavi pri nedokumentirani izbiri -X
+# grep.c:622 ->
+# opt = getopt(argc, argv, "0123456789A:B:CEFGVX:bce:f:hiLlnqsvwxy"
+# grep --help ->
+# usage: grep [-[[AB] ]<num>] [-[CEFGVchilnqsvwx]] [-[ef]] <expr> [<files...>]
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "vzorec ¾e doloèen"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr ""
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(standardni vhod)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(standardni vhod)\n"
+
+#: src/obstack.c:467
+#, fuzzy
+msgid "memory exhausted\n"
+msgstr "pomnilnik porabljen"
+
+#~ msgid "GNU grep version 2.0"
+#~ msgstr "GNU grep verzija 2.0"
diff --git a/po/stamp-cat-id b/po/stamp-cat-id
new file mode 100644
index 00000000..9788f702
--- /dev/null
+++ b/po/stamp-cat-id
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 00000000..89ee9de8
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 00000000..bcfac501
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,297 @@
+# Swedish messages for GNU Grep version 2.0
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Thomas Olsson <d95to@efd.lth.se>, 1996.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU grep 2.0\n"
+"POT-Creation-Date: 1998-04-26 19:31-0400\n"
+"PO-Revision-Date: 1996-06-05 20:05\n"
+"Last-Translator: Thomas Olsson <d95to@efd.lth.se>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: src/dfa.c:147 src/dfa.c:159 src/dfa.c:172
+#, fuzzy
+msgid "Memory exhausted"
+msgstr "minnet slut"
+
+#: src/dfa.c:444
+msgid "Unfinished \\ escape"
+msgstr ""
+
+#. Cases:
+#. {M} - exact count
+#. {M,} - minimum count, maximum is infinity
+#. {,M} - 0 through M
+#. {M,N} - M through N
+#: src/dfa.c:556 src/dfa.c:562 src/dfa.c:573 src/dfa.c:584
+msgid "unfinished repeat count"
+msgstr ""
+
+#: src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+msgid "malformed repeat count"
+msgstr ""
+
+#: src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+#: src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+msgid "Unbalanced ["
+msgstr ""
+
+#: src/dfa.c:841
+msgid "Unbalanced ("
+msgstr ""
+
+#: src/dfa.c:962
+msgid "No syntax specified"
+msgstr ""
+
+#: src/dfa.c:970
+msgid "Unbalanced )"
+msgstr ""
+
+#: src/dfa.c:1990
+msgid "out of memory"
+msgstr ""
+
+#: src/getopt.c:628
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:652
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:657
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt.c:674 src/getopt.c:847
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#. --option
+#: src/getopt.c:703
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#. +option or -option
+#: src/getopt.c:707
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:733
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:736
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:766 src/getopt.c:896
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: src/getopt.c:813
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: src/getopt.c:831
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/getopt1.c:132
+#, c-format
+msgid "option %s"
+msgstr ""
+
+#: src/getopt1.c:134
+#, c-format
+msgid " with arg %s"
+msgstr ""
+
+#: src/getopt1.c:149
+msgid "digits occur in two different argv-elements.\n"
+msgstr ""
+
+#: src/getopt1.c:151
+#, c-format
+msgid "option %c\n"
+msgstr ""
+
+#: src/getopt1.c:155
+msgid "option a\n"
+msgstr ""
+
+#: src/getopt1.c:159
+msgid "option b\n"
+msgstr ""
+
+#: src/getopt1.c:163
+#, c-format
+msgid "option c with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:167
+#, c-format
+msgid "option d with value `%s'\n"
+msgstr ""
+
+#: src/getopt1.c:174
+#, c-format
+msgid "?? getopt returned character code 0%o ??\n"
+msgstr ""
+
+#: src/getopt1.c:180
+msgid "non-option ARGV-elements: "
+msgstr ""
+
+#: src/grep.c:144 src/grep.c:161 src/grep.c:222 src/grep.c:263 src/kwset.c:184
+#: src/kwset.c:190
+msgid "memory exhausted"
+msgstr "minnet slut"
+
+#: src/grep.c:293
+#, c-format
+msgid "%s: warning: %s: %s\n"
+msgstr "%s: varning: %s: %s\n"
+
+#: src/grep.c:392 src/grep.c:1034
+msgid "writing output"
+msgstr "skriver utdata"
+
+#: src/grep.c:597
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE]...\n"
+msgstr ""
+
+#: src/grep.c:598
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/grep.c:602
+#, c-format
+msgid "Usage: %s [OPTION]... PATTERN [FILE] ...\n"
+msgstr ""
+
+#: src/grep.c:603
+msgid ""
+"Search for PATTERN in each FILE or standard input.\n"
+"\n"
+"Regexp selection and interpretation:\n"
+" -E, --extended-regexp PATTERN is an extended regular expression\n"
+" -F, --fixed-regexp PATTERN is a fixed string separated by newlines\n"
+" -G, --basic-regexp PATTERN is a basic regular expression\n"
+" -e, --regexp=PATTERN use PATTERN as a regular expression\n"
+" -f, --file=FILE obtain PATTERN from FILE\n"
+" -i, --ignore-case ignore case distinctions\n"
+" -w, --word-regexp force PATTERN to match only whole words\n"
+" -x, --line-regexp force PATTERN to match only whole lines\n"
+msgstr ""
+
+#: src/grep.c:615
+msgid ""
+"\n"
+"Miscellaneous:\n"
+" -s, --no-messages suppress error messages\n"
+" -v, --revert-match select non-matching lines\n"
+" -V, --version print version information and exit\n"
+" --help display this help and exit\n"
+msgstr ""
+
+#: src/grep.c:622
+msgid ""
+"\n"
+"Output control:\n"
+" -b, --byte-offset print the byte offset with output lines\n"
+" -n, --line-number print line number with output lines\n"
+" -H, --with-filename print the filename for each match\n"
+" -h, --no-filename suppress the prefixing filename on output\n"
+" -q, --quiet, --silent suppress all normal output\n"
+" -L, --files-without-match only print FILE names containing no match\n"
+" -l, --files-with-matches only print FILE names containing matches\n"
+" -c, --count only print a count of matching lines per FILE\n"
+msgstr ""
+
+#: src/grep.c:633
+msgid ""
+"\n"
+"Context control:\n"
+" -B, --before-context=NUM print NUM lines of leading context\n"
+" -A, --after-context=NUM print NUM lines of trailing context\n"
+" -NUM same as both -B NUM and -A NUM\n"
+" -C, --context same as -2\n"
+" -U, --binary do not strip CR characters at EOL (MSDOS)\n"
+" -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)\n"
+"\n"
+"If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G.\n"
+"With no FILE, or when FILE is -, read standard input. If less than\n"
+"two FILEs given, assume -h. Exit with 0 if matches, with 1 if none.\n"
+"Exit with 2 if syntax errors or system errors.\n"
+msgstr ""
+
+#: src/grep.c:647
+msgid ""
+"\n"
+"Report bugs to <bug-gnu-utils@gnu.org>.\n"
+msgstr ""
+
+#: src/grep.c:785 src/grep.c:792
+msgid "invalid context length argument"
+msgstr ""
+
+#: src/grep.c:800 src/grep.c:805 src/grep.c:810
+msgid "you may specify only one of -E, -F, or -G"
+msgstr "du kan endast ange en av -E, -F eller -G"
+
+#: src/grep.c:829
+msgid "matcher already specified"
+msgstr "söksträng redan specificerad"
+
+#: src/grep.c:915
+#, c-format
+msgid "grep (GNU grep) %s\n"
+msgstr ""
+
+#: src/grep.c:917
+msgid ""
+"Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/grep.c:919
+msgid ""
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#: src/grep.c:964 src/grep.c:1015
+msgid "(standard input)"
+msgstr "(standard in)"
+
+#: src/grep.c:1027 src/grep.c:1030
+msgid "(standard input)\n"
+msgstr "(standard in)\n"
+
+#: src/obstack.c:467
+#, fuzzy
+msgid "memory exhausted\n"
+msgstr "minnet slut"
+
+#~ msgid "GNU grep version 2.0"
+#~ msgstr "GNU grep version 2.0"