summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2005-08-18 12:59:47 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2005-08-18 12:59:47 +0000
commit169206343fcdd18dd94341eaa4b4e03f9d598eae (patch)
tree429f55564f3ece842138c3b9759ec372d01c3d8a /po
parent63411b1347ff4534a6cfdf8df0acdd4a581ffb8b (diff)
Relevant BUGIDs: none
Purpose of commit: new feature Commit summary: --------------- Add gettext support.
Diffstat (limited to 'po')
-rw-r--r--po/.cvsignore3
-rw-r--r--po/Makefile.in.in384
-rw-r--r--po/Makevars41
-rw-r--r--po/POTFILES.in99
-rw-r--r--po/Rules-quot47
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/cs.po313
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@quot.header22
-rw-r--r--po/hu.po312
-rw-r--r--po/insert-header.sin23
-rw-r--r--po/nb.po312
-rw-r--r--po/pa.po337
-rw-r--r--po/pt.po315
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin19
16 files changed, 2268 insertions, 0 deletions
diff --git a/po/.cvsignore b/po/.cvsignore
new file mode 100644
index 00000000..1e45f2b6
--- /dev/null
+++ b/po/.cvsignore
@@ -0,0 +1,3 @@
+POTFILES
+Makefile
+Makefile.in
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 00000000..4705780e
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,384 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License but which still want to provide support for the GNU gettext
+# functionality.
+# Please note that the actual code of GNU gettext is covered by the GNU
+# General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.14.3
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
+localedir = $(datadir)/locale
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address"
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(srcdir)/$(DOMAIN).pot
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+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 stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ $(MAKE) update-po
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+ $(SHELL) ./config.status
+
+force:
+
+# 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/Makevars b/po/Makevars
new file mode 100644
index 00000000..5dc8404e
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,41 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Linux-PAM Project
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = http://sourceforge.net/projects/pam
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 00000000..693df20b
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,99 @@
+# List of source files which contain translatable strings.
+./conf/pam_conv1/pam_conv.c
+./conf/pam_conv1/lex.yy.c
+./libpamc/test/regress/test.libpamc.c
+./libpamc/test/modules/pam_secret.c
+./libpamc/pamc_converse.c
+./libpamc/pamc_load.c
+./libpamc/pamc_client.c
+./dynamic/pam.c
+./dynamic/test.c
+./modules/pam_access/pam_access.c
+./modules/pam_localuser/pam_localuser.c
+./modules/pam_debug/pam_debug.c
+./modules/pam_group/pam_group.c
+./modules/pam_issue/pam_issue.c
+./modules/pam_tally/pam_tally.c
+./modules/pam_tally/pam_tally_app.c
+./modules/pam_umask/pam_umask.c
+./modules/pam_wheel/pam_wheel.c
+./modules/pam_xauth/pam_xauth.c
+./modules/pam_filter/upperLOWER/upperLOWER.c
+./modules/pam_filter/pam_filter.c
+./modules/pam_lastlog/pam_lastlog.c
+./modules/pam_mkhomedir/pam_mkhomedir.c
+./modules/pam_limits/pam_limits.c
+./modules/pam_selinux/pam_selinux_check.c
+./modules/pam_selinux/pam_selinux.c
+./modules/pam_permit/pam_permit.c
+./modules/pam_radius/pam_radius.c
+./modules/pammodutil/modutil_getlogin.c
+./modules/pammodutil/modutil_cleanup.c
+./modules/pammodutil/modutil_getspnam.c
+./modules/pammodutil/modutil_ingroup.c
+./modules/pammodutil/modutil_getgrgid.c
+./modules/pammodutil/modutil_getgrnam.c
+./modules/pammodutil/modutil_getpwnam.c
+./modules/pammodutil/modutil_getpwuid.c
+./modules/pammodutil/modutil_ioloop.c
+./modules/pam_deny/pam_deny.c
+./modules/pam_rhosts/pam_rhosts_auth.c
+./modules/pam_mail/pam_mail.c
+./modules/pam_motd/pam_motd.c
+./modules/pam_pwdb/md5.c
+./modules/pam_pwdb/md5_broken.c
+./modules/pam_pwdb/pam_pwdb.c
+./modules/pam_pwdb/md5_good.c
+./modules/pam_pwdb/pwdb_chkpwd.c
+./modules/pam_pwdb/md5_crypt.c
+./modules/pam_time/pam_time.c
+./modules/pam_unix/md5.c
+./modules/pam_unix/md5_broken.c
+./modules/pam_unix/bigcrypt_main.c
+./modules/pam_unix/md5_good.c
+./modules/pam_unix/bigcrypt.c
+./modules/pam_unix/pam_unix_acct.c
+./modules/pam_unix/unix_chkpwd.c
+./modules/pam_unix/pam_unix_auth.c
+./modules/pam_unix/support.c
+./modules/pam_unix/md5_crypt.c
+./modules/pam_unix/pam_unix_passwd.c
+./modules/pam_unix/pam_unix_sess.c
+./modules/pam_unix/yppasswd_xdr.c
+./modules/pam_warn/pam_warn.c
+./modules/pam_rootok/pam_rootok.c
+./modules/pam_shells/pam_shells.c
+./modules/pam_stress/pam_stress.c
+./modules/pam_cracklib/pam_cracklib.c
+./modules/pam_userdb/pam_userdb.c
+./modules/pam_userdb/conv.c
+./modules/pam_securetty/pam_securetty.c
+./modules/pam_succeed_if/pam_succeed_if.c
+./modules/pam_nologin/pam_nologin.c
+./modules/pam_listfile/pam_listfile.c
+./modules/pam_env/pam_env.c
+./modules/pam_ftp/pam_ftp.c
+./libpam/pam_delay.c
+./libpam/pam_handlers.c
+./libpam/pam_auth.c
+./libpam/pam_data.c
+./libpam/pam_end.c
+./libpam/pam_env.c
+./libpam/pam_log.c
+./libpam/pam_item.c
+./libpam/pam_misc.c
+./libpam/pam_static.c
+./libpam/pam_dispatch.c
+./libpam/pam_start.c
+./libpam/pam_strerror.c
+./libpam/pam_password.c
+./libpam/pam_session.c
+./libpam/pam_prelude.c
+./libpam/pam_account.c
+./libpam/pam_malloc.c
+./examples/xsh.c
+./examples/check_user.c
+./examples/vpass.c
+./examples/blank.c
+./libpam_misc/help_env.c
+./libpam_misc/misc_conv.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644
index 00000000..9c2a995e
--- /dev/null
+++ b/po/Rules-quot
@@ -0,0 +1,47 @@
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644
index 00000000..4b937aa5
--- /dev/null
+++ b/po/boldquot.sed
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“/g
+s/”/”/g
+s/‘/‘/g
+s/’/’/g
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 00000000..e69e4836
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,313 @@
+# translation of Linux-PAM.po to cs_CZ
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR Linux-PAM Project.
+# Klara Cihlarova <koty@seznam.cz>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
+"POT-Creation-Date: 2005-08-18 14:53+0200\n"
+"PO-Revision-Date: 2005-08-05 13:58+0200\n"
+"Last-Translator: Klara Cihlarova <koty@seznam.cz>\n"
+"Language-Team: cs_CZ <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.1\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: modules/pam_tally/pam_tally.c:730
+msgid "Authentication error"
+msgstr "Chyba ověřování"
+
+#: modules/pam_tally/pam_tally.c:731
+msgid "Service error"
+msgstr "Chyba služby"
+
+#: modules/pam_tally/pam_tally.c:732
+msgid "Unknown user"
+msgstr "Neznámý uživatel"
+
+#: modules/pam_tally/pam_tally.c:733
+msgid "Unknown error"
+msgstr "Neznámá chyba"
+
+#: modules/pam_tally/pam_tally.c:747
+#, c-format
+msgid "%s: Bad number given to --reset=\n"
+msgstr "%s: Zadána špatná hodnota --reset=\n"
+
+#: modules/pam_tally/pam_tally.c:751
+#, c-format
+msgid "%s: Unrecognised option %s\n"
+msgstr "%s: Neznámá volba %s\n"
+
+#: modules/pam_tally/pam_tally.c:763
+#, c-format
+msgid ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+msgstr ""
+"%s: [--file jmeno_souboru] [--user uzivatelske_jmeno] [--reset[=n]] [--"
+"quiet]\n"
+
+#: modules/pam_tally/pam_tally.c:836
+#, c-format
+msgid "%s: Can't reset all users to non-zero\n"
+msgstr "%s: Nelze resetovat všechny uživatele nenulově\n"
+
+#: modules/pam_selinux/pam_selinux.c:129
+#, c-format
+msgid "Your default context is %s. \n"
+msgstr "Vaše výchozí vazba je %s. \n"
+
+#: modules/pam_selinux/pam_selinux.c:132
+msgid "Do you want to choose a different one? [n]"
+msgstr "Chcete zvolit jinou? [n]"
+
+#: modules/pam_selinux/pam_selinux.c:139
+msgid "Enter number of choice: "
+msgstr "Zadejte číslo volby: "
+
+#: modules/pam_selinux/pam_selinux.c:191
+msgid "Would you like to enter a security context? [y] "
+msgstr "Chcete vložit bezpečnostní vazby? [y]"
+
+#: modules/pam_selinux/pam_selinux.c:208
+msgid "role: "
+msgstr "role: "
+
+#: modules/pam_selinux/pam_selinux.c:216
+msgid "type: "
+msgstr "typ: "
+
+#: modules/pam_selinux/pam_selinux.c:226
+msgid "level: "
+msgstr "úroveň: "
+
+#: modules/pam_selinux/pam_selinux.c:240
+msgid "Not a valid security context"
+msgstr "Neplatné bezpečnostní vazby"
+
+#: modules/pam_selinux/pam_selinux.c:475
+#, c-format
+msgid "Security Context %s Assigned"
+msgstr "Bezpečnostní vazba %s přidělena"
+
+#: modules/pam_selinux/pam_selinux.c:595
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "chyba při inicializaci PAM\n"
+
+#: modules/pam_selinux/pam_selinux.c:601
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "chyba pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux.c:626
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: chyba forku: %s"
+
+#: modules/pam_unix/pam_unix_acct.c:268 modules/pam_unix/pam_unix_acct.c:295
+msgid "Your account has expired; please contact your system administrator"
+msgstr "Váš účet vypršel; kontaktujte prosím svého správce systému"
+
+#: modules/pam_unix/pam_unix_acct.c:277
+msgid "You are required to change your password immediately (root enforced)"
+msgstr "Musíte okamžitě změnit své heslo (vynuceno rootem)"
+
+#: modules/pam_unix/pam_unix_acct.c:304
+msgid "You are required to change your password immediately (password aged)"
+msgstr "Musíte okamžitě změnit své heslo (heslo vypršelo)"
+
+#: modules/pam_unix/pam_unix_acct.c:314
+#, c-format
+msgid "Warning: your password will expire in %d day%.2s"
+msgstr "Varování: Počet dní do vypršení hesla: %d %.2s"
+
+#: modules/pam_unix/pam_unix_passwd.c:818
+msgid "NIS password could not be changed."
+msgstr "NIS heslo nelze změnit."
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "No password supplied"
+msgstr "Nezadáno heslo"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "Password unchanged"
+msgstr "Heslo nebylo změněno"
+
+#: modules/pam_unix/pam_unix_passwd.c:983
+msgid "You must choose a longer password"
+msgstr "Musíte zvolit delší heslo"
+
+#: modules/pam_unix/pam_unix_passwd.c:988
+msgid "Password has been already used. Choose another."
+msgstr "Heslo již bylo použito. Zvolte jiné."
+
+#: modules/pam_unix/pam_unix_passwd.c:1147
+msgid "You must wait longer to change your password"
+msgstr "Na změnu svého hesla musíte počkat déle"
+
+#: modules/pam_stress/pam_stress.c:481
+msgid "Changing STRESS password for "
+msgstr "Změna hesla pro"
+
+#: modules/pam_stress/pam_stress.c:495
+msgid "Enter new STRESS password: "
+msgstr "Zadejte nové heslo: "
+
+#: modules/pam_stress/pam_stress.c:498
+msgid "Retype new STRESS password: "
+msgstr "Opakujte heslo: "
+
+#: modules/pam_stress/pam_stress.c:526
+msgid "Verification mis-typed; password unchanged"
+msgstr "Chybné potvrzení. Heslo nezměněno"
+
+#: libpam/pam_strerror.c:13
+msgid "Success"
+msgstr "Úspěch"
+
+#: libpam/pam_strerror.c:15
+msgid "Critical error - immediate abort"
+msgstr "Kritická chyba - došlo k okamžitému ukončení"
+
+#: libpam/pam_strerror.c:17
+msgid "dlopen() failure"
+msgstr "selhání dlopen()"
+
+#: libpam/pam_strerror.c:19
+msgid "Symbol not found"
+msgstr "Symbol nenalezen"
+
+#: libpam/pam_strerror.c:21
+msgid "Error in service module"
+msgstr "Chyba v modulu služby"
+
+#: libpam/pam_strerror.c:23
+msgid "System error"
+msgstr "Chyba systému"
+
+#: libpam/pam_strerror.c:25
+msgid "Memory buffer error"
+msgstr "Chyba bufferu paměti"
+
+#: libpam/pam_strerror.c:27
+msgid "Permission denied"
+msgstr "Přístup zamítnut"
+
+#: libpam/pam_strerror.c:29
+msgid "Authentication failure"
+msgstr "Selhání ověření"
+
+#: libpam/pam_strerror.c:31
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nedostatečné přihlašovací údaje pro přístup k ověřovacím datům"
+
+#: libpam/pam_strerror.c:33
+msgid "Authentication service cannot retrieve authentication info."
+msgstr "Ověřovací služba nemůže získat ověřovací informace."
+
+#: libpam/pam_strerror.c:35
+msgid "User not known to the underlying authentication module"
+msgstr "Uživatel není znám podtrženému ověřovacímu modulu"
+
+#: libpam/pam_strerror.c:37
+msgid "Have exhausted maximum number of retries for service."
+msgstr "Dosažen maximální počet pokusů pro službu."
+
+#: libpam/pam_strerror.c:39
+msgid "Authentication token is no longer valid; new one required."
+msgstr "Ověřovací token již není platný; vyžadován nový."
+
+#: libpam/pam_strerror.c:41
+msgid "User account has expired"
+msgstr "Uživatelský účet vypršel"
+
+#: libpam/pam_strerror.c:43
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Pro zadané sezení nelze vytvořit/odstranit položku"
+
+#: libpam/pam_strerror.c:45
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Ověřovací služba nemůže získat přihlašovací údaje uživatele"
+
+#: libpam/pam_strerror.c:47
+msgid "User credentials expired"
+msgstr "Přihlašovací údaje uživatele vypršely"
+
+#: libpam/pam_strerror.c:49
+msgid "Failure setting user credentials"
+msgstr "Chyba při zadání přihlašovacích údajů uživatele"
+
+#: libpam/pam_strerror.c:51
+msgid "No module specific data is present"
+msgstr "Nelze najít data potřebná pro modul"
+
+#: libpam/pam_strerror.c:53
+msgid "Bad item passed to pam_*_item()"
+msgstr "Funkci pam_*_item() byla předána špatná položka"
+
+#: libpam/pam_strerror.c:55
+msgid "Conversation error"
+msgstr "Chyba komunikace"
+
+#: libpam/pam_strerror.c:57
+msgid "Authentication token manipulation error"
+msgstr "Chyba manipulace s ověřovacím tokenem"
+
+#: libpam/pam_strerror.c:59
+msgid "Authentication information cannot be recovered"
+msgstr "Ověřovací informace nelze obnovit"
+
+#: libpam/pam_strerror.c:61
+msgid "Authentication token lock busy"
+msgstr "Ověřovací token je zaneprázdněn"
+
+#: libpam/pam_strerror.c:63
+msgid "Authentication token aging disabled"
+msgstr "Stárnutí ověřovacího tokenu zakázáno"
+
+#: libpam/pam_strerror.c:65
+msgid "Failed preliminary check by password service"
+msgstr "Selhání předběžné kontroly služby hesla"
+
+#: libpam/pam_strerror.c:67
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Návratová hodnota by měla být PAM ignorována"
+
+#: libpam/pam_strerror.c:69
+msgid "Module is unknown"
+msgstr "Neznámý modul"
+
+#: libpam/pam_strerror.c:71
+msgid "Authentication token expired"
+msgstr "Ověřovací token vypršel"
+
+#: libpam/pam_strerror.c:73
+msgid "Conversation is waiting for event"
+msgstr "Komunikace čeká na událost"
+
+#: libpam/pam_strerror.c:75
+msgid "Application needs to call libpam again"
+msgstr "Aplikace vyžaduje nové volání libpam"
+
+#: libpam/pam_strerror.c:78
+msgid "Unknown PAM error"
+msgstr "Neznámá chyba PAM"
+
+#: libpam_misc/misc_conv.c:35
+msgid "...Time is running out...\n"
+msgstr ".. .Odpočet byl spuštěn...\n"
+
+#: libpam_misc/misc_conv.c:36
+msgid "...Sorry, your time is up!\n"
+msgstr ".. .Čas vypršel!\n"
+
+#: libpam_misc/misc_conv.c:334
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "nesprávná komunikace (%d)\n"
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644
index 00000000..fedb6a06
--- /dev/null
+++ b/po/en@boldquot.header
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644
index 00000000..a9647fc3
--- /dev/null
+++ b/po/en@quot.header
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 00000000..0938b257
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,312 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM 0.80\n"
+"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
+"POT-Creation-Date: 2005-08-18 14:53+0200\n"
+"PO-Revision-Date: 2005-08-07 02:59+0100\n"
+"Last-Translator: Szabolcs Varga <shirokuma@shirokuma.hu>\n"
+"Language-Team: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: modules/pam_tally/pam_tally.c:730
+msgid "Authentication error"
+msgstr "Hitelesítési hiba"
+
+#: modules/pam_tally/pam_tally.c:731
+msgid "Service error"
+msgstr "Szolgáltatási hiba"
+
+#: modules/pam_tally/pam_tally.c:732
+msgid "Unknown user"
+msgstr "Ismeretlen felhasználó"
+
+#: modules/pam_tally/pam_tally.c:733
+msgid "Unknown error"
+msgstr "Ismeretlen hiba"
+
+#: modules/pam_tally/pam_tally.c:747
+#, c-format
+msgid "%s: Bad number given to --reset=\n"
+msgstr "%s: Rossz szám lett megadva: --reset=\n"
+
+#: modules/pam_tally/pam_tally.c:751
+#, c-format
+msgid "%s: Unrecognised option %s\n"
+msgstr "%s: Fel nem ismert paraméter (%s)\n"
+
+#: modules/pam_tally/pam_tally.c:763
+#, c-format
+msgid ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+msgstr ""
+"%s: [--file rooted-fájlnév] [--user felhasználónév] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_tally/pam_tally.c:836
+#, c-format
+msgid "%s: Can't reset all users to non-zero\n"
+msgstr "%s: Nem állítható vissza minden felhasználó nem nullára\n"
+
+#: modules/pam_selinux/pam_selinux.c:129
+#, c-format
+msgid "Your default context is %s. \n"
+msgstr "Az Ön alapértelmezett kontextusa: %s. \n"
+
+#: modules/pam_selinux/pam_selinux.c:132
+msgid "Do you want to choose a different one? [n]"
+msgstr "Kíván másikat választani? [n]"
+
+#: modules/pam_selinux/pam_selinux.c:139
+msgid "Enter number of choice: "
+msgstr "Adja meg a kívánt lehetőség számát:"
+
+#: modules/pam_selinux/pam_selinux.c:191
+msgid "Would you like to enter a security context? [y] "
+msgstr "Kíván megadni egy biztonsági kontextust? [y] "
+
+#: modules/pam_selinux/pam_selinux.c:208
+msgid "role: "
+msgstr "szerep:"
+
+#: modules/pam_selinux/pam_selinux.c:216
+msgid "type: "
+msgstr "típus:"
+
+#: modules/pam_selinux/pam_selinux.c:226
+msgid "level: "
+msgstr "szint:"
+
+#: modules/pam_selinux/pam_selinux.c:240
+msgid "Not a valid security context"
+msgstr "Nem érvényes biztonsági kontextus"
+
+#: modules/pam_selinux/pam_selinux.c:475
+#, c-format
+msgid "Security Context %s Assigned"
+msgstr "%s biztonsági kontextus hozzárendelve"
+
+#: modules/pam_selinux/pam_selinux.c:595
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM inicializálása sikertelen\n"
+
+#: modules/pam_selinux/pam_selinux.c:601
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() meghiúsult\n"
+
+#: modules/pam_selinux/pam_selinux.c:626
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "bejelentkezés: hiba az elágazás közben: %s"
+
+#: modules/pam_unix/pam_unix_acct.c:268 modules/pam_unix/pam_unix_acct.c:295
+msgid "Your account has expired; please contact your system administrator"
+msgstr "A fiók érvényessége lejárt; keresse meg a rendszergazdát"
+
+#: modules/pam_unix/pam_unix_acct.c:277
+msgid "You are required to change your password immediately (root enforced)"
+msgstr "Azonnal meg kell változtatnia a jelszavát (a root írta elő)"
+
+#: modules/pam_unix/pam_unix_acct.c:304
+msgid "You are required to change your password immediately (password aged)"
+msgstr "Azonnal meg kell változtatnia a jelszavát (a jelszó elévült)"
+
+#: modules/pam_unix/pam_unix_acct.c:314
+#, c-format
+msgid "Warning: your password will expire in %d day%.2s"
+msgstr "Figyelmeztetés: a jelszava lejár %d nap múlva%.2s"
+
+#: modules/pam_unix/pam_unix_passwd.c:818
+msgid "NIS password could not be changed."
+msgstr "A NIS-jelszó nem módosítható."
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "No password supplied"
+msgstr "Nem lett megadva jelszó"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "Password unchanged"
+msgstr "A jelszó nem változott"
+
+#: modules/pam_unix/pam_unix_passwd.c:983
+msgid "You must choose a longer password"
+msgstr "Hosszabb jelszót kell választania"
+
+#: modules/pam_unix/pam_unix_passwd.c:988
+msgid "Password has been already used. Choose another."
+msgstr "A jelszót már használta. Válasszon egy másikat."
+
+#: modules/pam_unix/pam_unix_passwd.c:1147
+msgid "You must wait longer to change your password"
+msgstr "Tovább kell várnia a jelszó módosítására"
+
+#: modules/pam_stress/pam_stress.c:481
+msgid "Changing STRESS password for "
+msgstr "STRESS jelszó megváltoztatása - "
+
+#: modules/pam_stress/pam_stress.c:495
+msgid "Enter new STRESS password: "
+msgstr "Új STRESS jelszó: "
+
+#: modules/pam_stress/pam_stress.c:498
+msgid "Retype new STRESS password: "
+msgstr "Írja be mégegyszer az új STRESS jelszót:"
+
+#: modules/pam_stress/pam_stress.c:526
+msgid "Verification mis-typed; password unchanged"
+msgstr "Az ellenőrző jelszó nem egyezik; a jelszó nem került módosításra"
+
+#: libpam/pam_strerror.c:13
+msgid "Success"
+msgstr "Sikerült"
+
+#: libpam/pam_strerror.c:15
+msgid "Critical error - immediate abort"
+msgstr "Kritikus hiba - azonnali leállás"
+
+#: libpam/pam_strerror.c:17
+msgid "dlopen() failure"
+msgstr "dlopen() hiba"
+
+#: libpam/pam_strerror.c:19
+msgid "Symbol not found"
+msgstr "A szimbólum nem található"
+
+#: libpam/pam_strerror.c:21
+msgid "Error in service module"
+msgstr "Hiba a szervizmodulban"
+
+#: libpam/pam_strerror.c:23
+msgid "System error"
+msgstr "Rendszerhiba"
+
+#: libpam/pam_strerror.c:25
+msgid "Memory buffer error"
+msgstr "Memóriapuffer-hiba"
+
+#: libpam/pam_strerror.c:27
+msgid "Permission denied"
+msgstr "Engedély megtagadva"
+
+#: libpam/pam_strerror.c:29
+msgid "Authentication failure"
+msgstr "Hitelesítési hiba"
+
+#: libpam/pam_strerror.c:31
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nem elegendő azonosítási adat a hitelesítési adatok eléréséhez"
+
+#: libpam/pam_strerror.c:33
+msgid "Authentication service cannot retrieve authentication info."
+msgstr "A hitelesítési szolgáltatás nem tudja lekérni a hitelesítési adatokat."
+
+#: libpam/pam_strerror.c:35
+msgid "User not known to the underlying authentication module"
+msgstr "Az alsóbb szintű hitelesítési modul nem ismeri a felhasználót"
+
+#: libpam/pam_strerror.c:37
+msgid "Have exhausted maximum number of retries for service."
+msgstr ""
+"Elérte a szolgáltatás által engedélyezett újrapróbálkozások maximális számát."
+
+#: libpam/pam_strerror.c:39
+msgid "Authentication token is no longer valid; new one required."
+msgstr "A hitelesítési token már nem érvényes; újra van szükség."
+
+#: libpam/pam_strerror.c:41
+msgid "User account has expired"
+msgstr "A felhasználói fiók lejárt"
+
+#: libpam/pam_strerror.c:43
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Nem készíthető/törölhető bejegyzés az adott munkamenethez"
+
+#: libpam/pam_strerror.c:45
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"A hitelesítési szolgáltatás nem tudja lekérni a felhasználó hitelesítési "
+"adatait"
+
+#: libpam/pam_strerror.c:47
+msgid "User credentials expired"
+msgstr "A felhasználó hitelesítési adatai lejártak"
+
+#: libpam/pam_strerror.c:49
+msgid "Failure setting user credentials"
+msgstr "Hiba a felhasználó hitelesítési adatainak beállítása közben"
+
+#: libpam/pam_strerror.c:51
+msgid "No module specific data is present"
+msgstr "Nem található modulspecifikus adat"
+
+#: libpam/pam_strerror.c:53
+msgid "Bad item passed to pam_*_item()"
+msgstr "Rossz elem lett átadva a pam_*_item() számára"
+
+#: libpam/pam_strerror.c:55
+msgid "Conversation error"
+msgstr "Beszélgetési hiba"
+
+#: libpam/pam_strerror.c:57
+msgid "Authentication token manipulation error"
+msgstr "Hitelesítésitoken-kezelési hiba"
+
+#: libpam/pam_strerror.c:59
+msgid "Authentication information cannot be recovered"
+msgstr "A hitelesítési adatok nem állíthatók helyre"
+
+#: libpam/pam_strerror.c:61
+msgid "Authentication token lock busy"
+msgstr "Hitelesítési token zár foglalt"
+
+#: libpam/pam_strerror.c:63
+msgid "Authentication token aging disabled"
+msgstr "Hitelesítési token lejárat kikapcsolva"
+
+#: libpam/pam_strerror.c:65
+msgid "Failed preliminary check by password service"
+msgstr "A jelszószolgáltatás előzetes ellenőrzésén megbukott"
+
+#: libpam/pam_strerror.c:67
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "A PAM elosztónak a visszatérési értéket figyelmen kívül kell hagynia"
+
+#: libpam/pam_strerror.c:69
+msgid "Module is unknown"
+msgstr "A modul ismeretlen"
+
+#: libpam/pam_strerror.c:71
+msgid "Authentication token expired"
+msgstr "A hitelesítési token lejárt"
+
+#: libpam/pam_strerror.c:73
+msgid "Conversation is waiting for event"
+msgstr "A beszélgetés egy eseményre várakozik"
+
+#: libpam/pam_strerror.c:75
+msgid "Application needs to call libpam again"
+msgstr "Az alkalmazásnak újra meg kell hívnia a libpam modult"
+
+#: libpam/pam_strerror.c:78
+msgid "Unknown PAM error"
+msgstr "Ismeretlen PAM-hiba"
+
+#: libpam_misc/misc_conv.c:35
+msgid "...Time is running out...\n"
+msgstr "...Kifut az időből...\n"
+
+#: libpam_misc/misc_conv.c:36
+msgid "...Sorry, your time is up!\n"
+msgstr "...Elnézést, de az idő lejárt!\n"
+
+#: libpam_misc/misc_conv.c:334
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "hibás beszélgetés (%d)\n"
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 00000000..b26de01f
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 00000000..24905c99
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,312 @@
+# translation of Linux-PAM.po to
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR Linux-PAM Project.
+# Olav Pettershagen <olav.pet@online.no>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
+"POT-Creation-Date: 2005-08-18 14:53+0200\n"
+"PO-Revision-Date: 2005-08-13 22:44+0200\n"
+"Last-Translator: Olav Pettershagen <olav.pet@online.no>\n"
+"Language-Team: <nb@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: modules/pam_tally/pam_tally.c:730
+msgid "Authentication error"
+msgstr "Autentiseringsfeil"
+
+#: modules/pam_tally/pam_tally.c:731
+msgid "Service error"
+msgstr "Tjenestefeil"
+
+#: modules/pam_tally/pam_tally.c:732
+msgid "Unknown user"
+msgstr "Ukjent bruker"
+
+#: modules/pam_tally/pam_tally.c:733
+msgid "Unknown error"
+msgstr "Ukjent feil"
+
+#: modules/pam_tally/pam_tally.c:747
+#, c-format
+msgid "%s: Bad number given to --reset=\n"
+msgstr "%s: Ugyldig tall angitt for --reset=\n"
+
+#: modules/pam_tally/pam_tally.c:751
+#, c-format
+msgid "%s: Unrecognised option %s\n"
+msgstr "%s: Ukjent valg %s\n"
+
+#: modules/pam_tally/pam_tally.c:763
+#, c-format
+msgid ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+msgstr ""
+"%s: [--file rooted-filnavn] [--user brukernavn] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_tally/pam_tally.c:836
+#, c-format
+msgid "%s: Can't reset all users to non-zero\n"
+msgstr "%s: Kan ikke tilbakestille alle brukere til non-zero\n"
+
+#: modules/pam_selinux/pam_selinux.c:129
+#, c-format
+msgid "Your default context is %s. \n"
+msgstr "Din standardkontekst er %s. \n"
+
+#: modules/pam_selinux/pam_selinux.c:132
+msgid "Do you want to choose a different one? [n]"
+msgstr "Vil du velge en annen? [n]"
+
+#: modules/pam_selinux/pam_selinux.c:139
+msgid "Enter number of choice: "
+msgstr "Angi et tall: "
+
+#: modules/pam_selinux/pam_selinux.c:191
+msgid "Would you like to enter a security context? [y] "
+msgstr "Vil du angi en sikkerhetskontekst? [y] "
+
+#: modules/pam_selinux/pam_selinux.c:208
+msgid "role: "
+msgstr "rolle: "
+
+#: modules/pam_selinux/pam_selinux.c:216
+msgid "type: "
+msgstr "type: "
+
+#: modules/pam_selinux/pam_selinux.c:226
+msgid "level: "
+msgstr "nivå: "
+
+#: modules/pam_selinux/pam_selinux.c:240
+msgid "Not a valid security context"
+msgstr "Ikke en gyldig sikkerhetskontekst"
+
+#: modules/pam_selinux/pam_selinux.c:475
+#, c-format
+msgid "Security Context %s Assigned"
+msgstr "Sikkerhetskontekst %s tilordnet"
+
+#: modules/pam_selinux/pam_selinux.c:595
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "kunne ikke initialisere PAM\n"
+
+#: modules/pam_selinux/pam_selinux.c:601
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "kunne ikke pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux.c:626
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: feil under forgrening: %s"
+
+#: modules/pam_unix/pam_unix_acct.c:268 modules/pam_unix/pam_unix_acct.c:295
+msgid "Your account has expired; please contact your system administrator"
+msgstr "Din konto er utløpt; kontakt systemadministratoren"
+
+#: modules/pam_unix/pam_unix_acct.c:277
+msgid "You are required to change your password immediately (root enforced)"
+msgstr "Du må straks endre passordet ditt (ordre fra rot)"
+
+#: modules/pam_unix/pam_unix_acct.c:304
+msgid "You are required to change your password immediately (password aged)"
+msgstr "Du må straks endre passordet ditt (passord for gammelt)"
+
+#: modules/pam_unix/pam_unix_acct.c:314
+#, c-format
+msgid "Warning: your password will expire in %d day%.2s"
+msgstr "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
+
+#: modules/pam_unix/pam_unix_passwd.c:818
+msgid "NIS password could not be changed."
+msgstr "NIS-passord kunne ikke endres."
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "No password supplied"
+msgstr "Passord ikke angitt"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "Password unchanged"
+msgstr "Passord uendret"
+
+#: modules/pam_unix/pam_unix_passwd.c:983
+msgid "You must choose a longer password"
+msgstr "Du må velge et lengre passord"
+
+#: modules/pam_unix/pam_unix_passwd.c:988
+msgid "Password has been already used. Choose another."
+msgstr "Passordet er allerede benyttet. Velg et annet."
+
+#: modules/pam_unix/pam_unix_passwd.c:1147
+msgid "You must wait longer to change your password"
+msgstr "Du må vente lenger før du kan endre passordet"
+
+#: modules/pam_stress/pam_stress.c:481
+msgid "Changing STRESS password for "
+msgstr "Endrer STRESS-passord for "
+
+#: modules/pam_stress/pam_stress.c:495
+msgid "Enter new STRESS password: "
+msgstr "Angi nytt STRESS-passord: "
+
+#: modules/pam_stress/pam_stress.c:498
+msgid "Retype new STRESS password: "
+msgstr "Bekreft nytt STRESS-passord: "
+
+#: modules/pam_stress/pam_stress.c:526
+msgid "Verification mis-typed; password unchanged"
+msgstr "Bekreftelse feil skrevet; passord uendret"
+
+#: libpam/pam_strerror.c:13
+msgid "Success"
+msgstr "Utført"
+
+#: libpam/pam_strerror.c:15
+msgid "Critical error - immediate abort"
+msgstr "Kritisk feil - avbryter straks"
+
+#: libpam/pam_strerror.c:17
+msgid "dlopen() failure"
+msgstr "dlopen()-feil"
+
+#: libpam/pam_strerror.c:19
+msgid "Symbol not found"
+msgstr "Symbol ikke funnet"
+
+#: libpam/pam_strerror.c:21
+msgid "Error in service module"
+msgstr "Feil i tjenestemodul"
+
+#: libpam/pam_strerror.c:23
+msgid "System error"
+msgstr "Systemfeil"
+
+#: libpam/pam_strerror.c:25
+msgid "Memory buffer error"
+msgstr "Minnebufferfeil"
+
+#: libpam/pam_strerror.c:27
+msgid "Permission denied"
+msgstr "Tillatelse avvist"
+
+#: libpam/pam_strerror.c:29
+msgid "Authentication failure"
+msgstr "Autentiseringsfeil"
+
+#: libpam/pam_strerror.c:31
+msgid "Insufficient credentials to access authentication data"
+msgstr "Utilstrekkelige rettigheter for tilgang til autentiseringsinformasjon"
+
+#: libpam/pam_strerror.c:33
+msgid "Authentication service cannot retrieve authentication info."
+msgstr "Autentiseringstjenesten kan ikke hente autentiseringsinformasjon."
+
+#: libpam/pam_strerror.c:35
+msgid "User not known to the underlying authentication module"
+msgstr "Bruker ukjent for autentiseringsmodul"
+
+#: libpam/pam_strerror.c:37
+msgid "Have exhausted maximum number of retries for service."
+msgstr "Maksimalt antall forsøk er overskredet for tjenesten."
+
+#: libpam/pam_strerror.c:39
+msgid "Authentication token is no longer valid; new one required."
+msgstr "Autentiseringsjide ikke lenger gyldig; ny kode kreves."
+
+#: libpam/pam_strerror.c:41
+msgid "User account has expired"
+msgstr "Brukerkonto er utløpt"
+
+#: libpam/pam_strerror.c:43
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Kan ikke opprette/fjerne en oppføring for den valgte økten"
+
+#: libpam/pam_strerror.c:45
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Autentiseringstjenesten kan ikke hente brukerrettigheter"
+
+#: libpam/pam_strerror.c:47
+msgid "User credentials expired"
+msgstr "Brukerrettigheter utløpt"
+
+#: libpam/pam_strerror.c:49
+msgid "Failure setting user credentials"
+msgstr "Feil under definisjon av brukerrettigheter"
+
+#: libpam/pam_strerror.c:51
+msgid "No module specific data is present"
+msgstr "Nei modulspesifikk informasjon finnes"
+
+#: libpam/pam_strerror.c:53
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ugyldig oppføring angitt for pam_*_item()"
+
+#: libpam/pam_strerror.c:55
+msgid "Conversation error"
+msgstr "Dialogfeil"
+
+#: libpam/pam_strerror.c:57
+msgid "Authentication token manipulation error"
+msgstr "Manipulasjonsfeil for autentiseringskode"
+
+#: libpam/pam_strerror.c:59
+msgid "Authentication information cannot be recovered"
+msgstr "Autentiseringsinformasjon kan ikke gjenopprettes"
+
+#: libpam/pam_strerror.c:61
+msgid "Authentication token lock busy"
+msgstr "Låsing av autentiseringskode opptatt"
+
+#: libpam/pam_strerror.c:63
+msgid "Authentication token aging disabled"
+msgstr "Tidsbegrensning av autentiseringskode deaktivert"
+
+#: libpam/pam_strerror.c:65
+msgid "Failed preliminary check by password service"
+msgstr "Passordtjenestens innledende kontroll mislyktes"
+
+#: libpam/pam_strerror.c:67
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Resultatverdien bør ignoreres av PAM"
+
+#: libpam/pam_strerror.c:69
+msgid "Module is unknown"
+msgstr "Modulen er ukjent"
+
+#: libpam/pam_strerror.c:71
+msgid "Authentication token expired"
+msgstr "Autentiseringskode utløpt"
+
+#: libpam/pam_strerror.c:73
+msgid "Conversation is waiting for event"
+msgstr "Dialogen venter på hendelse"
+
+#: libpam/pam_strerror.c:75
+msgid "Application needs to call libpam again"
+msgstr "Programmet må spørre libpam på nytt"
+
+#: libpam/pam_strerror.c:78
+msgid "Unknown PAM error"
+msgstr "Ukjent PAM-feil"
+
+#: libpam_misc/misc_conv.c:35
+#, fuzzy
+msgid "...Time is running out...\n"
+msgstr "...Tiden er i ferd med utløpe..\n"
+
+#: libpam_misc/misc_conv.c:36
+#, fuzzy
+msgid "...Sorry, your time is up!\n"
+msgstr "...Beklager, tiden er utløpt!\n"
+
+#: libpam_misc/misc_conv.c:334
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "mislykket dialog (%d)\n"
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 00000000..fe9f596f
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,337 @@
+# translation of Linux-PAM.pa.po to Panjabi
+# translation of Linux-PAM.po to Panjabi
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR Linux-PAM Project.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM.pa\n"
+"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
+"POT-Creation-Date: 2005-08-18 14:53+0200\n"
+"PO-Revision-Date: 2005-08-06 08:34+0530\n"
+"Last-Translator: Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>\n"
+"Language-Team: Panjabi <pa@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: modules/pam_tally/pam_tally.c:730
+msgid "Authentication error"
+msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ"
+
+#: modules/pam_tally/pam_tally.c:731
+msgid "Service error"
+msgstr "ਸੇਵਾ ਗਲਤੀ"
+
+#: modules/pam_tally/pam_tally.c:732
+msgid "Unknown user"
+msgstr "ਅਣਜਾਣ ਉਪਭੋਗੀ"
+
+#: modules/pam_tally/pam_tally.c:733
+msgid "Unknown error"
+msgstr "ਅਣਜਾਣੀ ਗਲਤੀ"
+
+#: modules/pam_tally/pam_tally.c:747
+#, c-format
+msgid "%s: Bad number given to --reset=\n"
+msgstr "%s: --reset= ਲਈ ਗਲਤ ਨੰਬਰ ਦਿੱਤਾ ਗਿਆ\n"
+
+#: modules/pam_tally/pam_tally.c:751
+#, c-format
+msgid "%s: Unrecognised option %s\n"
+msgstr "%s: ਬੇਪਛਾਣ ਚੋਣ %s\n"
+
+#: modules/pam_tally/pam_tally.c:763
+#, c-format
+msgid ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_tally/pam_tally.c:836
+#, c-format
+msgid "%s: Can't reset all users to non-zero\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:129
+#, c-format
+msgid "Your default context is %s. \n"
+msgstr "ਤੁਹਾਡਾ ਮੁੱਲ ਪਰਸੰਗ %s ਹੈ \n"
+
+#: modules/pam_selinux/pam_selinux.c:132
+msgid "Do you want to choose a different one? [n]"
+msgstr "ਕੀ ਤੁਸੀਂ ਵੱਖਰੇ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ? [n]"
+
+#: modules/pam_selinux/pam_selinux.c:139
+msgid "Enter number of choice: "
+msgstr "ਚੋਣ ਦਾ ਨੰਬਰ ਦਿਓ: "
+
+#: modules/pam_selinux/pam_selinux.c:191
+msgid "Would you like to enter a security context? [y] "
+msgstr "ਕੀ ਤੁਸੀਂ ਇੱਕ ਸੁਰੱਖਿਆ ਪਰਸੰਗ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ? [y] "
+
+#: modules/pam_selinux/pam_selinux.c:208
+msgid "role: "
+msgstr "ਰੋਲ: "
+
+#: modules/pam_selinux/pam_selinux.c:216
+msgid "type: "
+msgstr "ਕਿਸਮ: "
+
+#: modules/pam_selinux/pam_selinux.c:226
+msgid "level: "
+msgstr "ਪੱਧਰ: "
+
+#: modules/pam_selinux/pam_selinux.c:240
+msgid "Not a valid security context"
+msgstr "ਇੱਕ ਠੀਕ ਸੁਰੱਖਿਆ ਪਰਸੰਗ ਨਹੀਂ"
+
+#: modules/pam_selinux/pam_selinux.c:475
+#, c-format
+msgid "Security Context %s Assigned"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:595
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਫੇਲ\n"
+
+#: modules/pam_selinux/pam_selinux.c:601
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() ਲਈ ਫੇਲ\n"
+
+#: modules/pam_selinux/pam_selinux.c:626
+#, c-format
+msgid "login: failure forking: %s"
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:268 modules/pam_unix/pam_unix_acct.c:295
+msgid "Your account has expired; please contact your system administrator"
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:277
+msgid "You are required to change your password immediately (root enforced)"
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:304
+msgid "You are required to change your password immediately (password aged)"
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:314
+#, c-format
+msgid "Warning: your password will expire in %d day%.2s"
+msgstr "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:818
+msgid "NIS password could not be changed."
+msgstr "NIS ਗੁਪਤ-ਕੋਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "No password supplied"
+msgstr "ਕੋਈ ਗੁਪਤ-ਕੋਡ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "Password unchanged"
+msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ"
+
+#: modules/pam_unix/pam_unix_passwd.c:983
+msgid "You must choose a longer password"
+msgstr "ਤੁਹਾਨੂੰ ਲੰਮੇ ਗੁਪਤ-ਕੋਡ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ"
+
+#: modules/pam_unix/pam_unix_passwd.c:988
+msgid "Password has been already used. Choose another."
+msgstr "ਗੁਪਤ-ਕੋਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:1147
+msgid "You must wait longer to change your password"
+msgstr ""
+
+#: modules/pam_stress/pam_stress.c:481
+msgid "Changing STRESS password for "
+msgstr ""
+
+#: modules/pam_stress/pam_stress.c:495
+msgid "Enter new STRESS password: "
+msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਦਿਓ: "
+
+#: modules/pam_stress/pam_stress.c:498
+msgid "Retype new STRESS password: "
+msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਮੁੜ-ਲਿਖੋ: "
+
+#: modules/pam_stress/pam_stress.c:526
+msgid "Verification mis-typed; password unchanged"
+msgstr ""
+
+#: libpam/pam_strerror.c:13
+msgid "Success"
+msgstr "ਸਫ਼ਲ"
+
+#: libpam/pam_strerror.c:15
+msgid "Critical error - immediate abort"
+msgstr "ਨਾਜ਼ੁਕ ਗਲਤੀ - ਤਰੁੰਤ ਅਧੂਰਾ ਛੱਡਿਆ"
+
+#: libpam/pam_strerror.c:17
+msgid "dlopen() failure"
+msgstr "dlopen() ਫੇਲ"
+
+#: libpam/pam_strerror.c:19
+msgid "Symbol not found"
+msgstr "ਨਿਸ਼ਾਨ ਨਹੀਂ ਮਿਲਿਆ"
+
+#: libpam/pam_strerror.c:21
+msgid "Error in service module"
+msgstr "ਸੇਵਾ ਮੈਡੀਊਲ ਵਿੱਚ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:23
+msgid "System error"
+msgstr "ਸਿਸਟਮ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:25
+msgid "Memory buffer error"
+msgstr "ਮੈਮੋਰੀ ਬਫ਼ਰ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:27
+msgid "Permission denied"
+msgstr "ਅਧਿਕਾਰ ਪਾਬੰਦੀ"
+
+#: libpam/pam_strerror.c:29
+msgid "Authentication failure"
+msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ"
+
+#: libpam/pam_strerror.c:31
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:33
+msgid "Authentication service cannot retrieve authentication info."
+msgstr ""
+
+#: libpam/pam_strerror.c:35
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:37
+msgid "Have exhausted maximum number of retries for service."
+msgstr ""
+
+#: libpam/pam_strerror.c:39
+msgid "Authentication token is no longer valid; new one required."
+msgstr ""
+
+#: libpam/pam_strerror.c:41
+msgid "User account has expired"
+msgstr "ਉਪਭੋਗੀ ਖਾਤੇ ਦੀ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੀ ਹੈ"
+
+#: libpam/pam_strerror.c:43
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:45
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:47
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:49
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:51
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:53
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:55
+msgid "Conversation error"
+msgstr "ਤਬਦੀਲੀ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:57
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:59
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:61
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:63
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:65
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:67
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:69
+msgid "Module is unknown"
+msgstr "ਮੈਡੀਊਲ ਅਣਜਾਣ ਹੈ"
+
+#: libpam/pam_strerror.c:71
+msgid "Authentication token expired"
+msgstr "ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਦੀ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੀ ਹੈ"
+
+#: libpam/pam_strerror.c:73
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:75
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "Unknown PAM error"
+msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ"
+
+#: libpam_misc/misc_conv.c:35
+msgid "...Time is running out...\n"
+msgstr "...ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਰਿਹਾ ਹੈ...\n"
+
+#: libpam_misc/misc_conv.c:36
+msgid "...Sorry, your time is up!\n"
+msgstr "...ਅਫ਼ਸੋਸ, ਤੁਹਾਡਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਗਿਆ ਹੈ!\n"
+
+#: libpam_misc/misc_conv.c:334
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 00000000..2a237e5f
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,315 @@
+# translation of Linux-PAM-pt.po to portuguese
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR Linux-PAM Project.
+# Antonio Cardoso Martins <digiplan@netvisao.pt>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM-pt\n"
+"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
+"POT-Creation-Date: 2005-08-18 14:53+0200\n"
+"PO-Revision-Date: 2005-08-07 00:41+0100\n"
+"Last-Translator: Antonio Cardoso Martins <digiplan@netvisao.pt>\n"
+"Language-Team: portuguese\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: modules/pam_tally/pam_tally.c:730
+msgid "Authentication error"
+msgstr "Erro de autenticação"
+
+#: modules/pam_tally/pam_tally.c:731
+msgid "Service error"
+msgstr "Erro de serviço"
+
+#: modules/pam_tally/pam_tally.c:732
+msgid "Unknown user"
+msgstr "Utilizador desconhecido"
+
+#: modules/pam_tally/pam_tally.c:733
+msgid "Unknown error"
+msgstr "Erro desconhecido"
+
+#: modules/pam_tally/pam_tally.c:747
+#, c-format
+msgid "%s: Bad number given to --reset=\n"
+msgstr "%s: Número errado fornecido a --reset=\n"
+
+#: modules/pam_tally/pam_tally.c:751
+#, c-format
+msgid "%s: Unrecognised option %s\n"
+msgstr "%s: Opção não reconhecida %s\n"
+
+#: modules/pam_tally/pam_tally.c:763
+#, c-format
+msgid ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+msgstr ""
+"%s: [--file ficheiro-raiz] [--user nome-utilizador] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_tally/pam_tally.c:836
+#, c-format
+msgid "%s: Can't reset all users to non-zero\n"
+msgstr "%s: Não foi possível reiniciar todos os utilizadores para não zero\n"
+
+#: modules/pam_selinux/pam_selinux.c:129
+#, c-format
+msgid "Your default context is %s. \n"
+msgstr "O seu contexto pré-definido é %s: \n"
+
+#: modules/pam_selinux/pam_selinux.c:132
+msgid "Do you want to choose a different one? [n]"
+msgstr "Pretende escolher um diferente? [n]"
+
+#: modules/pam_selinux/pam_selinux.c:139
+msgid "Enter number of choice: "
+msgstr "Digite o número da escolha: "
+
+#: modules/pam_selinux/pam_selinux.c:191
+msgid "Would you like to enter a security context? [y] "
+msgstr "Pretende introduzir um contexto de segurança? [y]"
+
+#: modules/pam_selinux/pam_selinux.c:208
+msgid "role: "
+msgstr "papel: "
+
+#: modules/pam_selinux/pam_selinux.c:216
+msgid "type: "
+msgstr "tipo: "
+
+#: modules/pam_selinux/pam_selinux.c:226
+msgid "level: "
+msgstr "nível: "
+
+#: modules/pam_selinux/pam_selinux.c:240
+msgid "Not a valid security context"
+msgstr "Não é um contexto de segurança válido"
+
+#: modules/pam_selinux/pam_selinux.c:475
+#, c-format
+msgid "Security Context %s Assigned"
+msgstr "Contexto de Segurança %s Atribuído"
+
+#: modules/pam_selinux/pam_selinux.c:595
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "falha ao inicializar o PAM\n"
+
+#: modules/pam_selinux/pam_selinux.c:601
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "falha em pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux.c:626
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "sessão: falha ao executar o forking: %s"
+
+#: modules/pam_unix/pam_unix_acct.c:268 modules/pam_unix/pam_unix_acct.c:295
+msgid "Your account has expired; please contact your system administrator"
+msgstr ""
+"A sua conta de utilizador expirou; por favor contacte o seu administrador de "
+"sistema"
+
+#: modules/pam_unix/pam_unix_acct.c:277
+msgid "You are required to change your password immediately (root enforced)"
+msgstr ""
+"É obrigatório que altere de imediato a sua palavra passe (forçado pelo root)"
+
+#: modules/pam_unix/pam_unix_acct.c:304
+msgid "You are required to change your password immediately (password aged)"
+msgstr ""
+"É obrigatório que altere de imediato a sua palavra passe (forçado pela idade)"
+
+#: modules/pam_unix/pam_unix_acct.c:314
+#, c-format
+msgid "Warning: your password will expire in %d day%.2s"
+msgstr "Aviso: a sua palavra passe expira em %d dia%.2s"
+
+#: modules/pam_unix/pam_unix_passwd.c:818
+msgid "NIS password could not be changed."
+msgstr "A palavra passe de NIS não pode ser alterada."
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "No password supplied"
+msgstr "Não foi fornecida uma palavra passe"
+
+#: modules/pam_unix/pam_unix_passwd.c:962
+msgid "Password unchanged"
+msgstr "Palavra passe inalterada"
+
+#: modules/pam_unix/pam_unix_passwd.c:983
+msgid "You must choose a longer password"
+msgstr "Deve escolher uma palavra passe mais longa"
+
+#: modules/pam_unix/pam_unix_passwd.c:988
+msgid "Password has been already used. Choose another."
+msgstr "A palavra passe já foi anteriormente utilizada. Escolha outra."
+
+#: modules/pam_unix/pam_unix_passwd.c:1147
+msgid "You must wait longer to change your password"
+msgstr "Tem de esperar mais antes de poder alterar a sua palavra passe"
+
+#: modules/pam_stress/pam_stress.c:481
+msgid "Changing STRESS password for "
+msgstr "A alterar a palavra passe de STRESS para "
+
+#: modules/pam_stress/pam_stress.c:495
+msgid "Enter new STRESS password: "
+msgstr "Digite a nova palavra passe de STRESS: "
+
+#: modules/pam_stress/pam_stress.c:498
+msgid "Retype new STRESS password: "
+msgstr "Digite novamente a nova palavra passe de STRESS: "
+
+#: modules/pam_stress/pam_stress.c:526
+msgid "Verification mis-typed; password unchanged"
+msgstr "A verificação não coincide; palavra passe inalterada"
+
+#: libpam/pam_strerror.c:13
+msgid "Success"
+msgstr "Sucesso"
+
+#: libpam/pam_strerror.c:15
+msgid "Critical error - immediate abort"
+msgstr "Erro crítico - interrupção imediata"
+
+#: libpam/pam_strerror.c:17
+msgid "dlopen() failure"
+msgstr "falha em dlopen()"
+
+#: libpam/pam_strerror.c:19
+msgid "Symbol not found"
+msgstr "Símbolo não encontrado"
+
+#: libpam/pam_strerror.c:21
+msgid "Error in service module"
+msgstr "Erro no módulo do serviço"
+
+#: libpam/pam_strerror.c:23
+msgid "System error"
+msgstr "Erro de sistema"
+
+#: libpam/pam_strerror.c:25
+msgid "Memory buffer error"
+msgstr "Erro de buffer de memória"
+
+#: libpam/pam_strerror.c:27
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: libpam/pam_strerror.c:29
+msgid "Authentication failure"
+msgstr "Falha de autenticação"
+
+#: libpam/pam_strerror.c:31
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credenciais insuficientes para aceder aos dados de autenticação"
+
+#: libpam/pam_strerror.c:33
+msgid "Authentication service cannot retrieve authentication info."
+msgstr "O serviço de autenticação não pode obter informação de autenticação."
+
+#: libpam/pam_strerror.c:35
+msgid "User not known to the underlying authentication module"
+msgstr "Utilizador desconhecido para o módulo de autenticação subjacente"
+
+#: libpam/pam_strerror.c:37
+msgid "Have exhausted maximum number of retries for service."
+msgstr "Esgotou o número máximo de tentativas para o serviço."
+
+#: libpam/pam_strerror.c:39
+msgid "Authentication token is no longer valid; new one required."
+msgstr "O testemunho de autenticação já não é válido; é necessário um novo."
+
+#: libpam/pam_strerror.c:41
+msgid "User account has expired"
+msgstr "A conta de utilizador expirou"
+
+#: libpam/pam_strerror.c:43
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Não é possível criar/remover uma entrada para a sessão especificada"
+
+#: libpam/pam_strerror.c:45
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"O serviço de autenticação não consegue obter as credenciais do utilizador"
+
+#: libpam/pam_strerror.c:47
+msgid "User credentials expired"
+msgstr "As credenciais do utilizador expiraram"
+
+#: libpam/pam_strerror.c:49
+msgid "Failure setting user credentials"
+msgstr "Falha na definição das credenciais do utilizador"
+
+#: libpam/pam_strerror.c:51
+msgid "No module specific data is present"
+msgstr "Não está presente os dados específicos do módulo"
+
+#: libpam/pam_strerror.c:53
+msgid "Bad item passed to pam_*_item()"
+msgstr "Item incorrecto passado para pam_*_item()"
+
+#: libpam/pam_strerror.c:55
+msgid "Conversation error"
+msgstr "Erro de conversação"
+
+#: libpam/pam_strerror.c:57
+msgid "Authentication token manipulation error"
+msgstr "Erro de manipulação do testemunho de autenticação"
+
+#: libpam/pam_strerror.c:59
+msgid "Authentication information cannot be recovered"
+msgstr "A informação de autenticação não pode ser recuperada"
+
+#: libpam/pam_strerror.c:61
+msgid "Authentication token lock busy"
+msgstr "A fechadura to testemunho de autenticação encontra-se ocupado"
+
+#: libpam/pam_strerror.c:63
+msgid "Authentication token aging disabled"
+msgstr "O envelhecimento do testemunho de autenticação encontra-se desactivado"
+
+#: libpam/pam_strerror.c:65
+msgid "Failed preliminary check by password service"
+msgstr "Falha na validação preliminar pelo serviço de palavra passe"
+
+#: libpam/pam_strerror.c:67
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "O valor de retorno deve ser ignorado pelo expedidor de PAM"
+
+#: libpam/pam_strerror.c:69
+msgid "Module is unknown"
+msgstr "O módulo é desconhecido"
+
+#: libpam/pam_strerror.c:71
+msgid "Authentication token expired"
+msgstr "O testemunho de autenticação expirou"
+
+#: libpam/pam_strerror.c:73
+msgid "Conversation is waiting for event"
+msgstr "A conversação está a aguardar um evento"
+
+#: libpam/pam_strerror.c:75
+msgid "Application needs to call libpam again"
+msgstr "A aplicação necessita de invocar o libpam novamente"
+
+#: libpam/pam_strerror.c:78
+msgid "Unknown PAM error"
+msgstr "Erro PAM desconhecido"
+
+#: libpam_misc/misc_conv.c:35
+msgid "...Time is running out...\n"
+msgstr "...O tempo está a esgotar-se...\n"
+
+#: libpam_misc/misc_conv.c:36
+msgid "...Sorry, your time is up!\n"
+msgstr "...Lamento, o seu tempo esgotou-se!\n"
+
+#: libpam_misc/misc_conv.c:334
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversação errónea (%d)\n"
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644
index 00000000..0122c463
--- /dev/null
+++ b/po/quot.sed
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644
index 00000000..2436c49e
--- /dev/null
+++ b/po/remove-potcdate.sin
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}