summaryrefslogtreecommitdiffstats
path: root/po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:22:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:22:51 +0000
commit9ada0093e92388590c7368600ca4e9e3e376f0d0 (patch)
treea56fe41110023676d7082028cbaa47ca4b6e6164 /po
parentInitial commit. (diff)
downloadpam-9ada0093e92388590c7368600ca4e9e3e376f0d0.tar.xz
pam-9ada0093e92388590c7368600ca4e9e3e376f0d0.zip
Adding upstream version 1.5.2.upstream/1.5.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po')
-rw-r--r--po/LINGUAS82
-rw-r--r--po/Linux-PAM.pot478
-rw-r--r--po/Makefile.in.in454
-rw-r--r--po/Makevars53
-rw-r--r--po/POTFILES.in95
-rw-r--r--po/Rules-quot47
-rw-r--r--po/af.gmobin0 -> 494 bytes
-rw-r--r--po/af.po483
-rw-r--r--po/am.gmobin0 -> 491 bytes
-rw-r--r--po/am.po483
-rw-r--r--po/ar.gmobin0 -> 6560 bytes
-rw-r--r--po/ar.po554
-rw-r--r--po/as.gmobin0 -> 10333 bytes
-rw-r--r--po/as.po574
-rw-r--r--po/az.gmobin0 -> 1996 bytes
-rw-r--r--po/az.po481
-rw-r--r--po/be.gmobin0 -> 569 bytes
-rw-r--r--po/be.po490
-rw-r--r--po/bg.gmobin0 -> 12566 bytes
-rw-r--r--po/bg.po568
-rw-r--r--po/bn.gmobin0 -> 10846 bytes
-rw-r--r--po/bn.po581
-rw-r--r--po/bn_IN.gmobin0 -> 10850 bytes
-rw-r--r--po/bn_IN.po576
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/bs.gmobin0 -> 566 bytes
-rw-r--r--po/bs.po487
-rw-r--r--po/ca.gmobin0 -> 10400 bytes
-rw-r--r--po/ca.po577
-rw-r--r--po/cs.gmobin0 -> 9857 bytes
-rw-r--r--po/cs.po568
-rw-r--r--po/cy.gmobin0 -> 535 bytes
-rw-r--r--po/cy.po490
-rw-r--r--po/da.gmobin0 -> 9846 bytes
-rw-r--r--po/da.po562
-rw-r--r--po/de.gmobin0 -> 10185 bytes
-rw-r--r--po/de.po570
-rw-r--r--po/de_CH.gmobin0 -> 511 bytes
-rw-r--r--po/de_CH.po483
-rw-r--r--po/el.gmobin0 -> 467 bytes
-rw-r--r--po/el.po482
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@quot.header22
-rw-r--r--po/eo.gmobin0 -> 3833 bytes
-rw-r--r--po/eo.po481
-rw-r--r--po/es.gmobin0 -> 7937 bytes
-rw-r--r--po/es.po588
-rw-r--r--po/et.gmobin0 -> 2251 bytes
-rw-r--r--po/et.po517
-rw-r--r--po/eu.gmobin0 -> 968 bytes
-rw-r--r--po/eu.po488
-rw-r--r--po/fa.gmobin0 -> 485 bytes
-rw-r--r--po/fa.po480
-rw-r--r--po/fi.gmobin0 -> 10046 bytes
-rw-r--r--po/fi.po575
-rw-r--r--po/fr.gmobin0 -> 10700 bytes
-rw-r--r--po/fr.po590
-rw-r--r--po/ga.gmobin0 -> 7693 bytes
-rw-r--r--po/ga.po603
-rw-r--r--po/gl.gmobin0 -> 493 bytes
-rw-r--r--po/gl.po483
-rw-r--r--po/gu.gmobin0 -> 10377 bytes
-rw-r--r--po/gu.po573
-rw-r--r--po/he.gmobin0 -> 10834 bytes
-rw-r--r--po/he.po560
-rw-r--r--po/hi.gmobin0 -> 9833 bytes
-rw-r--r--po/hi.po574
-rw-r--r--po/hr.gmobin0 -> 565 bytes
-rw-r--r--po/hr.po487
-rw-r--r--po/hu.gmobin0 -> 7349 bytes
-rw-r--r--po/hu.po580
-rw-r--r--po/ia.gmobin0 -> 7077 bytes
-rw-r--r--po/ia.po580
-rw-r--r--po/id.gmobin0 -> 4025 bytes
-rw-r--r--po/id.po490
-rw-r--r--po/insert-header.sin23
-rw-r--r--po/is.gmobin0 -> 494 bytes
-rw-r--r--po/is.po483
-rw-r--r--po/it.gmobin0 -> 10029 bytes
-rw-r--r--po/it.po575
-rw-r--r--po/ja.gmobin0 -> 7744 bytes
-rw-r--r--po/ja.po574
-rw-r--r--po/ka.gmobin0 -> 2579 bytes
-rw-r--r--po/ka.po510
-rw-r--r--po/kk.gmobin0 -> 12453 bytes
-rw-r--r--po/kk.po561
-rw-r--r--po/km.gmobin0 -> 8868 bytes
-rw-r--r--po/km.po538
-rw-r--r--po/kn.gmobin0 -> 10850 bytes
-rw-r--r--po/kn.po572
-rw-r--r--po/ko.gmobin0 -> 10148 bytes
-rw-r--r--po/ko.po561
-rw-r--r--po/kw_GB.gmobin0 -> 448 bytes
-rw-r--r--po/kw_GB.po482
-rw-r--r--po/ky.gmobin0 -> 484 bytes
-rw-r--r--po/ky.po480
-rw-r--r--po/lt.gmobin0 -> 558 bytes
-rw-r--r--po/lt.po487
-rw-r--r--po/lv.gmobin0 -> 527 bytes
-rw-r--r--po/lv.po487
-rw-r--r--po/mk.gmobin0 -> 525 bytes
-rw-r--r--po/mk.po483
-rw-r--r--po/ml.gmobin0 -> 12685 bytes
-rw-r--r--po/ml.po572
-rw-r--r--po/mn.gmobin0 -> 494 bytes
-rw-r--r--po/mn.po483
-rw-r--r--po/mr.gmobin0 -> 10413 bytes
-rw-r--r--po/mr.po572
-rw-r--r--po/ms.gmobin0 -> 532 bytes
-rw-r--r--po/ms.po483
-rw-r--r--po/my.gmobin0 -> 485 bytes
-rw-r--r--po/my.po480
-rw-r--r--po/nb.gmobin0 -> 9536 bytes
-rw-r--r--po/nb.po564
-rw-r--r--po/ne.gmobin0 -> 491 bytes
-rw-r--r--po/ne.po483
-rw-r--r--po/nl.gmobin0 -> 10020 bytes
-rw-r--r--po/nl.po573
-rw-r--r--po/nn.gmobin0 -> 9531 bytes
-rw-r--r--po/nn.po484
-rw-r--r--po/or.gmobin0 -> 15523 bytes
-rw-r--r--po/or.po563
-rw-r--r--po/pa.gmobin0 -> 14212 bytes
-rw-r--r--po/pa.po561
-rw-r--r--po/pl.gmobin0 -> 10235 bytes
-rw-r--r--po/pl.po573
-rw-r--r--po/pt.gmobin0 -> 10388 bytes
-rw-r--r--po/pt.po577
-rw-r--r--po/pt_BR.gmobin0 -> 9795 bytes
-rw-r--r--po/pt_BR.po567
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin19
-rw-r--r--po/ro.gmobin0 -> 10103 bytes
-rw-r--r--po/ro.po496
-rw-r--r--po/ru.gmobin0 -> 13398 bytes
-rw-r--r--po/ru.po576
-rw-r--r--po/si.gmobin0 -> 8618 bytes
-rw-r--r--po/si.po542
-rw-r--r--po/sk.gmobin0 -> 9917 bytes
-rw-r--r--po/sk.po578
-rw-r--r--po/sl.gmobin0 -> 546 bytes
-rw-r--r--po/sl.po490
-rw-r--r--po/sq.gmobin0 -> 493 bytes
-rw-r--r--po/sq.po483
-rw-r--r--po/sr.gmobin0 -> 9013 bytes
-rw-r--r--po/sr.po581
-rw-r--r--po/sr@latin.gmobin0 -> 6926 bytes
-rw-r--r--po/sr@latin.po579
-rw-r--r--po/stamp-po1
-rw-r--r--po/sv.gmobin0 -> 9864 bytes
-rw-r--r--po/sv.po571
-rw-r--r--po/ta.gmobin0 -> 10884 bytes
-rw-r--r--po/ta.po575
-rw-r--r--po/te.gmobin0 -> 11038 bytes
-rw-r--r--po/te.po572
-rw-r--r--po/tg.gmobin0 -> 490 bytes
-rw-r--r--po/tg.po483
-rw-r--r--po/th.gmobin0 -> 482 bytes
-rw-r--r--po/th.po480
-rw-r--r--po/tr.gmobin0 -> 9969 bytes
-rw-r--r--po/tr.po569
-rw-r--r--po/uk.gmobin0 -> 13290 bytes
-rw-r--r--po/uk.po580
-rw-r--r--po/ur.gmobin0 -> 468 bytes
-rw-r--r--po/ur.po482
-rw-r--r--po/vi.gmobin0 -> 7349 bytes
-rw-r--r--po/vi.po575
-rw-r--r--po/yo.gmobin0 -> 392 bytes
-rw-r--r--po/yo.po480
-rw-r--r--po/zh_CN.gmobin0 -> 9086 bytes
-rw-r--r--po/zh_CN.po561
-rw-r--r--po/zh_HK.gmobin0 -> 476 bytes
-rw-r--r--po/zh_HK.po479
-rw-r--r--po/zh_TW.gmobin0 -> 9083 bytes
-rw-r--r--po/zh_TW.po558
-rw-r--r--po/zu.gmobin0 -> 5759 bytes
-rw-r--r--po/zu.po548
177 files changed, 45139 insertions, 0 deletions
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..469753d
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,82 @@
+af
+am
+ar
+as
+be
+bg
+bn_IN
+bn
+bs
+ca
+cs
+cy
+da
+de_CH
+de
+el
+eo
+es
+et
+eu
+fa
+fi
+fr
+ga
+gl
+gu
+he
+hi
+hr
+hu
+ia
+id
+is
+it
+ja
+ka
+kk
+km
+kn
+ko
+kw_GB
+ky
+lt
+lv
+mk
+ml
+mn
+mr
+ms
+my
+nb
+ne
+nl
+nn
+or
+pa
+pl
+pt_BR
+pt
+ro
+ru
+si
+sk
+sl
+sq
+sr@latin
+sr
+sv
+ta
+te
+tg
+th
+tr
+uk
+ur
+vi
+yo
+zh_CN
+zh_HK
+zh_TW
+zu
+az
diff --git a/po/Linux-PAM.pot b/po/Linux-PAM.pot
new file mode 100644
index 0000000..5e92d7e
--- /dev/null
+++ b/po/Linux-PAM.pot
@@ -0,0 +1,478 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the Linux-PAM package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM 1.5.2\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\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"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr ""
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 0000000..fabdc76
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,454 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 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.18.3
+GETTEXT_MACRO_VERSION = 0.18
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+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 --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -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:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(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
+ @$(CHECK_MACRO_VERSION)
+ 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.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu='GNU '; \
+ else \
+ package_gnu=''; \
+ fi; \
+ 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; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_gnu}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
+ 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) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ 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 \
+ $(mkdir_p) $(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
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(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 \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(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) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; 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)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+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 0000000..bd47dcd
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,53 @@
+# 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 = -E --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 = https://github.com/linux-pam/linux-pam/issues
+
+# 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 =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS =
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..cd057f1
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,95 @@
+libpam/pam_account.c
+libpam/pam_audit.c
+libpam/pam_auth.c
+libpam/pam_data.c
+libpam/pam_delay.c
+libpam/pam_dispatch.c
+libpam/pam_dynamic.c
+libpam/pam_end.c
+libpam/pam_env.c
+libpam/pam_get_authtok.c
+libpam/pam_handlers.c
+libpam/pam_item.c
+libpam/pam_misc.c
+libpam/pam_modutil_cleanup.c
+libpam/pam_modutil_getgrgid.c
+libpam/pam_modutil_getgrnam.c
+libpam/pam_modutil_getlogin.c
+libpam/pam_modutil_getpwnam.c
+libpam/pam_modutil_getpwuid.c
+libpam/pam_modutil_getspnam.c
+libpam/pam_modutil_ingroup.c
+libpam/pam_modutil_ioloop.c
+libpam/pam_password.c
+libpam/pam_prelude.c
+libpam/pam_session.c
+libpam/pam_start.c
+libpam/pam_strerror.c
+libpam/pam_syslog.c
+libpam/pam_vprompt.c
+libpam_misc/help_env.c
+libpam_misc/misc_conv.c
+libpamc/pamc_client.c
+libpamc/pamc_converse.c
+libpamc/pamc_load.c
+modules/pam_access/pam_access.c
+modules/pam_debug/pam_debug.c
+modules/pam_deny/pam_deny.c
+modules/pam_echo/pam_echo.c
+modules/pam_env/pam_env.c
+modules/pam_exec/pam_exec.c
+modules/pam_faildelay/pam_faildelay.c
+modules/pam_faillock/main.c
+modules/pam_faillock/pam_faillock.c
+modules/pam_filter/pam_filter.c
+modules/pam_filter/upperLOWER/upperLOWER.c
+modules/pam_ftp/pam_ftp.c
+modules/pam_group/pam_group.c
+modules/pam_issue/pam_issue.c
+modules/pam_keyinit/pam_keyinit.c
+modules/pam_lastlog/pam_lastlog.c
+modules/pam_limits/pam_limits.c
+modules/pam_listfile/pam_listfile.c
+modules/pam_localuser/pam_localuser.c
+modules/pam_loginuid/pam_loginuid.c
+modules/pam_mail/pam_mail.c
+modules/pam_mkhomedir/pam_mkhomedir.c
+modules/pam_motd/pam_motd.c
+modules/pam_namespace/md5.c
+modules/pam_namespace/pam_namespace.c
+modules/pam_nologin/pam_nologin.c
+modules/pam_permit/pam_permit.c
+modules/pam_pwhistory/opasswd.c
+modules/pam_pwhistory/pam_pwhistory.c
+modules/pam_rhosts/pam_rhosts.c
+modules/pam_rootok/pam_rootok.c
+modules/pam_securetty/pam_securetty.c
+modules/pam_selinux/pam_selinux.c
+modules/pam_selinux/pam_selinux_check.c
+modules/pam_sepermit/pam_sepermit.c
+modules/pam_shells/pam_shells.c
+modules/pam_stress/pam_stress.c
+modules/pam_succeed_if/pam_succeed_if.c
+modules/pam_time/pam_time.c
+modules/pam_timestamp/pam_timestamp.c
+modules/pam_timestamp/pam_timestamp_check.c
+modules/pam_tty_audit/pam_tty_audit.c
+modules/pam_umask/pam_umask.c
+modules/pam_unix/bigcrypt.c
+modules/pam_unix/bigcrypt_main.c
+modules/pam_unix/md5.c
+modules/pam_unix/md5_broken.c
+modules/pam_unix/md5_crypt.c
+modules/pam_unix/md5_good.c
+modules/pam_unix/pam_unix_acct.c
+modules/pam_unix/pam_unix_auth.c
+modules/pam_unix/pam_unix_passwd.c
+modules/pam_unix/pam_unix_sess.c
+modules/pam_unix/passverify.c
+modules/pam_unix/support.c
+modules/pam_unix/unix_chkpwd.c
+modules/pam_unix/yppasswd_xdr.c
+modules/pam_userdb/pam_userdb.c
+modules/pam_warn/pam_warn.c
+modules/pam_wheel/pam_wheel.c
+modules/pam_xauth/pam_xauth.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644
index 0000000..5931e53
--- /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-tools"; 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 $$lang -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/af.gmo b/po/af.gmo
new file mode 100644
index 0000000..7fb8c5b
--- /dev/null
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
new file mode 100644
index 0000000..e5dd8f5
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Afrikaans (http://www.transifex.com/projects/p/fedora/"
+"language/af/)\n"
+"Language: af\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Jy moet 'n korter wagwoord kies."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Jy moet 'n korter wagwoord kies."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Jy moet 'n korter wagwoord kies."
diff --git a/po/am.gmo b/po/am.gmo
new file mode 100644
index 0000000..29cf4af
--- /dev/null
+++ b/po/am.gmo
Binary files differ
diff --git a/po/am.po b/po/am.po
new file mode 100644
index 0000000..d995af7
--- /dev/null
+++ b/po/am.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Amharic (http://www.transifex.com/projects/p/fedora/language/"
+"am/)\n"
+"Language: am\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "አጠር ያለ የይለፍ ቃል መምረጥ አለብህ."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "አጠር ያለ የይለፍ ቃል መምረጥ አለብህ."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "አጠር ያለ የይለፍ ቃል መምረጥ አለብህ."
diff --git a/po/ar.gmo b/po/ar.gmo
new file mode 100644
index 0000000..e7523c7
--- /dev/null
+++ b/po/ar.gmo
Binary files differ
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..01238ce
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,554 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Yaron Shahrabani <sh.yaron@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-07-05 10:55+0000\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"Language-Team: Arabic <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ar/>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Weblate 4.1.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "كلمة السر: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "كلمة سر %s الجديدة: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "كلمة سر الجديدة: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "كلمة سر %s الجديدة: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "كلمة سر الجديدة: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "أعد كتابة كلمة سر %s الجديدة: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "أعد كتابة كلمة سر الجديدة: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "عذرًا، يوجد عدم تطابق بين كلمات السر."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "كلمة السر التي تم إدخالها مستخدمة بالفعل. اختر كلمة سر أخرى."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "تسجيل الدخول:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "نجاح"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "خطأ جسيم - إيقاف فوري"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "الرمز غير موجود"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "خطأ في الوحدة النمطية للخدمة"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "خطأ بالنظام"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "خطأ في الذاكرة الوسيطة"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "الإذن مرفوض"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "فشل التصديق"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "صلاحيات غير كافية للوصول إلى بيانات التصديق"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "تعذر على خدمة التصديق استرجاع معلومات التصديق"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "المستخدم مجهول بالنسبة لوحدة التصديق النمطية الأساسية"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "تم استنفاذ الحد الأقصى للمحاولة بالنسبة لهذه الخدمة"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "لم يعد الرمز المميز للتصديق صالحًا، مطلوب رمز مميز جديد"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "انتهت صلاحية حساب المستخدم"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "لا يمكن إنشاء/إزالة إدخال بالنسبة للجلسة المحددة"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "لا يمكن لخدمة التصديق استرجاع صلاحيات المستخدم"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "صلاحيات المستخدم منتهية الصلاحية"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "فشل تعيين صلاحيات المستخدم"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "لا يوجد بيانات خاصة بالوحدات النمطية"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "تم تمرير عنصر سيء إلى pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "خطأ في المحادثة"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "خطأ في معالجة الرمز المميز للتصديق"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "لا يمكن استعادة معلومات التصديق"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "قفل الرمز المميز للتصديق مشغول"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "تم تعطيل تقادم الرمز المميز للتصديق"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "فشل التحقق الأولي بواسطة خدمة كلمة السر"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "يجب تجاهل القيمة الناتجة بواسطة إرسال PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "الوحدة النمطية غير معروفة"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "انتهت صلاحية الرمز المميز للتصديق"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "المحادثة تنتظر الحدث"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "يحتاج التطبيق إلى استدعاء libpam مرة أخرى"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "خطأ PAM غير معروف"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...الوقت ينفد...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...عذرًا، انتهى الوقت!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "محادثة خاطئة (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr "%a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr "من %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr "في %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "تسجيل الدخول الأخير:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "مرحبًا بك في حسابك الجديد!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "مرات تسجيل دخول كثيرة جدًا لـ '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "لديك بريد جديد."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "لديك بريد جديد."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "لديك بريد قديم."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "لديك بريد."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "ليس لديك بريد في مجلد %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "لديك بريد جديد في مجلد %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "لديك بريد قديم في مجلد %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "لديك بريد في مجلد %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "كلمة السر التي تم إدخالها مستخدمة بالفعل. اختر كلمة سر أخرى."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "كلمة السر التي تم إدخالها مستخدمة بالفعل. اختر كلمة سر أخرى."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "لا يصلح كسياق أمان"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "لا يصلح كسياق أمان"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "تم تخصيص سياق الأمان %s"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "تم تخصيص سياق الأمان %s"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "فشلت تهيئة PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "فشل pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "تسجيل الدخول: فشل تشعيب: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "انتهت مدة صلاحية الحساب الخاص بك؛ الرجاء الاتصال بمسؤول النظام"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "مطلوب منك تغيير كلمة السر على الفور (مفروض بواسطة المسؤول)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "مطلوب منك تغيير كلمة السر على الفور (كلمة السر قديمة جدًا)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "تعذر تغيير كلمة السر الخاصة بـ NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "لم يتم إدخال كلمة السر"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "تعذر تغيير كلمة السر الخاصة بـ NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "يجب عليك اختيار كلمة مرور أقصر."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "يجب اختيار كلمة سر أطول"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "يجب الانتظار فترة أطول لتغيير كلمة السر"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "لا يوجد اختلاف عن كلمة السر القديمة"
+
+#~ msgid "is a palindrome"
+#~ msgstr "كلمة سر يمكن قراءتها من الجهتين"
+
+#~ msgid "case changes only"
+#~ msgstr "لم يتم سوى تغيير حالة الأحرف"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "كلمة السر الجديدة شديدة الشبه بكلمة السر القديمة"
+
+#~ msgid "is too simple"
+#~ msgstr "كلمة السر شديدة البساطة"
+
+#~ msgid "is rotated"
+#~ msgstr "كلمة مرور ملتفة"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "كلمة سر سيئة: %s"
+
+#~ msgid "Authentication error"
+#~ msgstr "خطأ في التصديق"
+
+#~ msgid "Service error"
+#~ msgstr "خطأ في الخدمة"
+
+#~ msgid "Unknown user"
+#~ msgstr "مستخدم غير معروف"
+
+#~ msgid "Unknown error"
+#~ msgstr "خطأ غير معروف"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: تم إعطاء رقم خطأ لـ ‎--reset=‎\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: خيار غير معروف %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: لا يمكن إعادة تعيين كافة المستخدمين إلى رقم غير الصفر\n"
diff --git a/po/as.gmo b/po/as.gmo
new file mode 100644
index 0000000..63eda1e
--- /dev/null
+++ b/po/as.gmo
Binary files differ
diff --git a/po/as.po b/po/as.po
new file mode 100644
index 0000000..cf2549d
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,574 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Amitakhya Phukan <aphukan@fedoraproject.org>, 2008-2009
+# Amitakhya Phukan <aphukan@redhat.com>, 2007
+# ngoswami <ngoswami@redhat.com>, 2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-10 02:40-0400\n"
+"Last-Translator: ngoswami <ngoswami@redhat.com>\n"
+"Language-Team: Assamese (http://www.transifex.com/projects/p/fedora/language/"
+"as/)\n"
+"Language: as\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "গুপ্তশব্দ:"
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "নতুন %s গুপ্তশব্দ: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "নতুন গুপ্তশব্দ: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "নতুন %s গুপ্তশব্দ: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "নতুন গুপ্তশব্দ: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "নতুন %s গুপ্তশব্দ পুনঃ লিখক: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "নতুন গুপ্তশব্দ পুনঃ লিখক: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "ক্ষমা কৰিব, গুপ্তশব্দৰ অমিল "
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s পুনঃ লিখক"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "গুপ্ত শব্দ সলনি কৰা বাতিল কৰা হ'ল ।"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "প্ৰৱেশ:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "সফলতা"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "গুৰুত্বপূৰ্ণ ভুল - অবিলম্ব বন্ধ কৰক"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "অংশ তুলি লওঁতে বিফল"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "প্ৰতিকৃতি পোৱা ন'গ'ল"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "সেৱাৰ অংশত ভুল"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "ব্যৱস্থাপ্ৰণালীৰ ভুল"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "স্মৃতিশক্তি প্ৰশমকৰ ভুল"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "আজ্ঞা নাই"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "প্ৰমাণীকৰণত বিফল"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "প্ৰমাণীকৰণৰ তথ্য উপক্ৰম কৰিবলৈ প্ৰশংসা পত্ৰৰ অভাৱ"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "প্ৰমাণীকৰণৰ সেৱাই প্ৰমাণীকৰণৰ তথ্য উদ্ধাৰ কৰিব নোৱাৰিলে"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "অন্তৰ্নিহিত প্ৰমাণীকৰণ অংশৰ বাবে ব্যৱহাৰকৰোঁতা অপৰিচিত"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "সেৱাৰ বাবে সৰ্বাধিক পুনঃ চেষ্টাৰ সংখ্যাও আজৰাই দিয়া হ'ল"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "প্ৰমাণীকৰণৰ প্ৰতীক চিহ্ন বৈধ নহয়; নতুন এটাৰ প্ৰয়োজন"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ব্যৱহাৰকৰোঁতাৰ হিচাপ শেষ হ'ল"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "নিৰ্দ্দিষ্ট অধিবেশনৰ এটা নিবেশ বনাব/আঁতৰাব নোৱাৰি"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "ব্যৱহাৰকৰোঁতাৰ প্ৰশংসা পত্ৰ প্ৰমাণীকৰন সেৱাই উদ্ধাৰ কৰিব পৰা নাই"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ব্যৱহাৰকৰোঁতাৰ প্ৰশংসা পত্ৰ অন্ত হ'ল"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ব্যৱহাৰকৰোঁতাৰ প্ৰশংসা পত্ৰ প্ৰতিষ্ঠা কৰাত বিফল"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "কোনো অংশ নিৰ্দ্দিষ্ট তথ্য নাই"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() লৈ বেয়া পদাৰ্থ আগবঢ়োৱা হ'ল"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "সম্বাদৰ ভুল"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "প্ৰমাণীকৰণ প্ৰতীক চিহ্নৰ পৰিবৰ্ত্তনত (মেনিপুলেশন) ভুল"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "প্ৰমাণীকৰণৰ তথ্য উদ্ধাৰ কৰিব পৰা ন'গ'ল"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "প্ৰমাণীকৰণ প্ৰতীক চিহ্নৰ লক ব্যস্ত"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "প্ৰমাণীকৰণ প্ৰতীক চিহ্নৰ পুৰণি হোৱা নিষ্ক্ৰীয় কৰা হ'ল"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "গুপ্তশব্দ সেৱাৰ দ্বাৰা প্ৰাৰম্ভিক পৰীক্ষা বিফল"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM dispatch ৰ দ্বাৰা প্ৰত্যুত্তৰৰ মান আওকাণ কৰিব লাগে"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "অজ্ঞাত অংশ"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "প্ৰমাণীকৰণৰ প্ৰতীক চিহ্ন পুৰণি হ'ল"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "সম্বাদ কোনো ঘটনাৰ বাবে অপেক্ষা কৰিছে"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "অনুপ্ৰয়োগে আকৌ libpam ক মাতিব লাগে"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "অজ্ঞাত PAM ভুল"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...সময় পাৰ হৈ গৈছে...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...ক্ষমা কৰিব, আপোনাৰ বাবে সময় অন্ত হ'ল!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ভুল সম্বাদ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s বিফল: প্ৰস্থানৰ কোড %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s বিফল: %d%s সঙ্কেত ধৰা গ'ল"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s বিফল: অজ্ঞাত অৱস্থা 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u বিফল প্ৰৱেশৰ বাবে হিচাপ লক কৰা হৈছে"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s ৰ পৰা"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s ত"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "শেহতীয়া প্ৰৱেশ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "আপোনাৰ নতুন হিচাপলৈ স্বাগতম!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "শেহতীয়া প্ৰৱেশ বিফল:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d বিফল হোৱা প্ৰৱেশৰ চেষ্টা চলোৱা হৈছিল ।"
+msgstr[1] "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d বিফল হোৱা প্ৰৱেশৰ চেষ্টা চলোৱা হৈছিল ।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d বিফল হোৱা প্ৰৱেশৰ চেষ্টা চলোৱা হৈছিল ।"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' ৰ বাবে বহুতো প্ৰৱেশ ।"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "আপোনাৰ নতুন ডাক আহিছে ।"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "আপোনাৰ নতুন ডাক আহিছে ।"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "আপেনাৰ ওচৰত পুৰণি ডাক আছে ।"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "আপোনাৰ ডাক আহিছে ।"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s ফোল্ডাৰত আপোনাৰ কোনো ডাক নাই ।"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s ফোল্ডাৰত আপোনাৰ নতুন ডাক আছে ।"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s ফোলডাৰত আপোনাৰ পুৰণি ডাক আছে ।"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s ফোল্ডাৰত আপোনাৰ ডাক আছে ।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' পঞ্জিকা সৃষ্টি কৰা হৈছে ।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "%s পঞ্জিকা সৃষ্টি আৰু আৰম্ভ কৰিব পৰা নাই ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "গুপ্তশব্দ ইতিমধ্যে ব্যৱহৃত । অন্য এটা বাচি লওক ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "পাছৱাৰ্ড ইতিমধ্যে ব্যৱহাৰ হৈছে।"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "অবিকল্পিত সুৰক্ষাৰ সন্দৰ্ভ %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "বেলেগ এটা সুৰক্ষাৰ ভূমিকা বা স্তৰ নিবেশ কৰিব খোজে নেকি ?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ভূমিকা: "
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "%s ভূমিকা বাবে অবিকল্পিত ধৰণ নাই\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "স্তৰ: "
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "এটা বৈধ সুৰক্ষাৰ সন্দৰ্ভ নহয়"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "সুৰক্ষাৰ সন্দৰ্ভ %s নিযুক্ত কৰা হ'ল"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "চাবি নিৰ্মাণৰ সন্দৰ্ভ %s নিযুক্ত কৰা হ'ল"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM আৰম্ভ কৰাত বিফল\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() কৰোঁতে বিফল\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "প্ৰৱেশ: forking ত বিফল: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "অভিগম্যতাৰ অনুমতি (শেহতীয়া অভিগম্যতা %ld ছেকেণ্ড আগতে) ।"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "আপোনাৰ হিচাপ অন্ত হ'ল; অনুগ্ৰহ কৰি আপোনাৰ ব্যৱাস্থাপ্ৰণালীৰ "
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "আপুনি আপোনাৰ গুপ্তশব্দ সলনি কৰাটো প্ৰয়োজনীয় হৈ পৰিছে (ৰূটৰ দ্বাৰা বলবৎ)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "আপুনি আপোনাৰ গুপ্তশব্দ সলনি কৰাটো প্ৰয়োজনীয় হৈ পৰিছে (গুপ্তশব্দ পুৰণি হ'ল)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "সকীয়নী: আপোনাৰ গুপ্তশব্দ %d দিনত অন্ত হ'ব"
+msgstr[1] "সকীয়নী: আপোনাৰ গুপ্তশব্দ %d দিনত অন্ত হ'ব"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "সকীয়নী: আপোনাৰ গুপ্তশব্দ %d দিনত অন্ত হ'ব"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS গুপ্তশব্দ সলনি কৰিব পৰা নহয় ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "কোনো গুপ্তশব্দ দিয়া হোৱা নাই"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS গুপ্তশব্দ সলনি কৰিব পৰা নহয় ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "আপুনি ইয়াতকৈ এটা দীঘল গুপ্তশব্দ নিৰ্ব্বাচন কৰিব লাগিব"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "আপুনি ইয়াতকৈ এটা দীঘল গুপ্তশব্দ নিৰ্ব্বাচন কৰিব লাগিব"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s ৰ বাবে গুপ্তশব্দ সলনি কৰা হৈছে ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "আপোনাৰ গুপ্তশব্দ সলনি কৰিবলৈ আপুনি আৰু কিছু পৰ অপেক্ষা কৰিব লাগিব"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "পুৰণিটোৰ সৈতে একেই"
+
+#~ msgid "memory allocation error"
+#~ msgstr "মেমৰি আবন্টন ত্ৰুটি"
+
+#~ msgid "is a palindrome"
+#~ msgstr "এটা অনুলোম‌-বিলোম বাক্য"
+
+#~ msgid "case changes only"
+#~ msgstr "অকল কেচ সলনি কৰা"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "পৰণিটোৰ সৈতে বহুত একেই"
+
+#~ msgid "is too simple"
+#~ msgstr "বৰ সৰল"
+
+#~ msgid "is rotated"
+#~ msgstr "পকোৱা হৈছে"
+
+#~ msgid "not enough character classes"
+#~ msgstr "পৰ্যাপ্ত character classes নাই"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "এটাৰ পিছত এটা বহুতো একেই আখৰ আছে"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "অতি দীঘল একেধৰণৰ আখৰ ক্ৰমৰ অন্তৰ্ভুক্ত কৰে"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "কিবা ধৰনত ব্যৱহাৰকৰ্তাৰ নাম আছে"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "বেয়া গুপ্তশব্দ: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "হিচাপ অস্থায়ীৰূপে লক কৰা হৈছে (%ld ছেকেণ্ড আৰু আছে)"
+
+#~ msgid "Authentication error"
+#~ msgstr "প্ৰমাণীকৰণত ভুল"
+
+#~ msgid "Service error"
+#~ msgstr "সেৱাৰ ভুল"
+
+#~ msgid "Unknown user"
+#~ msgstr "অজ্ঞাত ব্যৱহাৰকৰোঁতা"
+
+#~ msgid "Unknown error"
+#~ msgstr "অজ্ঞাত ভুল"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= লৈ বেয়া সংখ্যা দিয়া গৈছে\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: অপৰিচিত বিকল্প %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: সকলো ব্যৱহাৰকৰোঁতাক শূণ্য নোহোৱা অৱস্থালৈ পুনঃ প্ৰতিষ্ঠা কৰিব নোৱাৰি\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "প্ৰৱেশ বিফল শেহতীয়া বিফলতা -ৰ পৰা\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/az.gmo b/po/az.gmo
new file mode 100644
index 0000000..d3f974e
--- /dev/null
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
new file mode 100644
index 0000000..6f54a02
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,481 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the Linux-PAM package.
+# Alesker Abdullayev <tech@abdullaeff.com>, 2020.
+# Alesker Abdullayev - FEDORA Azerbaijan <tech@abdullaeff.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM 1.4.0\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-04-25 00:40+0000\n"
+"Last-Translator: Alesker Abdullayev - FEDORA Azerbaijan <tech@abdullaeff."
+"com>\n"
+"Language-Team: Azerbaijani <https://translate.fedoraproject.org/projects/"
+"linux-pam/master/az/>\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.0.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Şifrə: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Cari %s şifrəniz: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Cari şifrəniz: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Yeni %s şifrəniz: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Yeni şifrəniz: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "daxil ol:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Uğurlu"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritik xəta - təcili əməliyyatı dayandırın"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Modul yüklənmədi"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Simvol tapılmadı"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Xidməti modulda xəta"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Sistem xətası"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Yaddaş qoruyucusunda xəta"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "İcazə rədd edildi"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Doğrulama uğursuzluğu"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"Doğrulama məlumatlarına daxil olmaq üçün yetərli sertifikatlar mövcud deyil"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Doğrulama xidməti identifikasiya məlumatlarını bərpa edə bilmir"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "İstifadəçi əsas identifikasiya modulu tərəfindən tanımlana bilmir"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Bağışlayın, vaxtınız bitdi!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr ""
diff --git a/po/be.gmo b/po/be.gmo
new file mode 100644
index 0000000..8e99428
--- /dev/null
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
new file mode 100644
index 0000000..c5b43e8
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,490 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Belarusian (http://www.transifex.com/projects/p/fedora/"
+"language/be/)\n"
+"Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Вы павінны выбраць больш кароткі пароль."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Вы павінны выбраць больш кароткі пароль."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Вы павінны выбраць больш кароткі пароль."
diff --git a/po/bg.gmo b/po/bg.gmo
new file mode 100644
index 0000000..b58007d
--- /dev/null
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..c6f5cac
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,568 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Valentin Laskov <laskov@festa.bg>, 2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-12-20 08:00+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Bulgarian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/bg/>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.3.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Парола: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Nastoyashta парола %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Nastoyashta парола: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Нова парола %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Нова парола: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Отново новата парола %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Отново новата парола: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Съжаляваме, паролите не съвпадат."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Напишете пак %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Промяната на паролата е прекратена."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "влизане:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Успех"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Критична грешка - незабавно прекратяване"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Неуспех при зареждане на модул"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Не е намерен символ"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Грешка в обслужващ модул"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Системна грешка"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Грешка в буферна памет"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Позволението отказано"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Грешка при удостоверяване"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"Недостатъчно данни за удостоверяване за достъп до удостоверителни данни"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Услугата за удостоверяване не можа да извлече данни за удостоверяване"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Непознат потребител за поддържащия удостоверяването модул"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Максималният брой опити за услугата беше изчерпан"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Удостоверителният токен вече не е валиден; необходим е нов"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Потребителският акаунт е изтекъл"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Не мога да създам/премахна запис за зададената сесия"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Удостоверяващата услуга не може да извлече данните за удостоверяване на "
+"потребителя"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Данните за удостоверяване на потребителя са с изтекъл срок"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Неуспех при задаване данни за удостоверяване на потребител"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Липсват специфични за модула данни"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Грешен елемент, подаден към pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Грешка в диалога"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Грешка при манипулирането с удостоверителния токен"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Удостоверителната информация не може да бъде възстановена"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Заключването на удостоверителния токен е заето"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Следенето на възрастта на удостоверителния токен е забранено"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Предварителната проверка от услугата парола не успя"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Върнатата стойност трябва да бъде игнорирана от PAM dispatch"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Модулът е непознат"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Срокът на удостоверителния токен е изтекъл"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Диалогът чака събитие"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Приложението се нуждае от повторно извикване на libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Непозната PAM грешка"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Времето изтича...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Съжаляваме, Вашето време изтече!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "погрешен разговор (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s се провали: код на грешка %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s се провали: уловен сигнал %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s се провали: непознат статус 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Usage: %s [--dir /път/към/директорията-на-tally] [--user потребителско_име] "
+"[--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Акаунтът е заключен поради %u неуспешни опита за влизане."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(остават %d мин. за отключване)"
+msgstr[1] "(остават %d мин. за отключване)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(остават %d мин. за отключване)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " от %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " на %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Последно влизане:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Добре дошли в новия Ви акаунт!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Последно неуспешно влизане:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"След последното успешно влизане, имаше %d неуспешен опит за влизане."
+msgstr[1] ""
+"След последното успешно влизане, имаше %d неуспешни опита за влизане."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "След последното успешно влизане, имаше %d неуспешни опита за влизане."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Твърде много влизания за '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Нямате писма."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Имате нови писма."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Имате стари писма."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Имате писма."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Нямате писма в папката %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Имате нови писма в папка %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Имате стари писма в папка %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Имате писма в папка %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Създаване на директория '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Не мога да създам и настроя директория '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Паролата вече е използвана. Изберете друга."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Паролата вече е използвана."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Подразбиращ се контекст за сигурност %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Искате ли да въведете различна роля или ниво?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "роля:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Няма подразбиращ се тип за роля %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "ниво:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Невалиден контекст за сигурност."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Не може да бъде получен валиден контекст за %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Зададен е контекст за сигурност %s."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Зададен е key creation context %s."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM инициализацията не успя\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() не успя \n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "вход: неуспех при стартиране: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Достъпът е предоставен (последният достъп бе преди %ld секунди)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Срокът на акаунта Ви е изтекъл; моля, свържете се с администратора на "
+"системата."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Изисква се веднага да смените паролата си (изискано от администратор)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Изисква се веднага да смените паролата си (срокът и изтича)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Внимание: срокът на паролата Ви изтича след %d ден."
+msgstr[1] "Внимание: срокът на паролата Ви изтича след %d дни."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Внимание: паролата Ви ще изтече след %d дни."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS парола не може да бъде променена."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Не е предоставена парола."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Паролата не е променена."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Трябва да изберете по-кратка парола."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Трябва да изберете по-дълга парола."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Смяна на паролата за %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Трябва да изчакате повече, за да промените Вашата парола."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "е същата като старата"
+
+#~ msgid "memory allocation error"
+#~ msgstr "грешка при заделяне на памет"
+
+#~ msgid "is a palindrome"
+#~ msgstr "е палиндром"
+
+#~ msgid "case changes only"
+#~ msgstr "променена е само големината на буквите"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "е твърде подобна на старата"
+
+#~ msgid "is too simple"
+#~ msgstr "е много лесна"
+
+#~ msgid "is rotated"
+#~ msgstr "е завъртяна"
+
+#~ msgid "not enough character classes"
+#~ msgstr "недостатъчно класове знаци"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "съдържа твърде много еднакви последователни знаци"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "съдържа твърде дълга еднообразна последователност знаци"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "под някаква форма съдържа името на потребителя"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ЛОША ПАРОЛА: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Акаунтът е заключен временно (%ld остават секунди)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Грешка при удостоверяването"
+
+#~ msgid "Service error"
+#~ msgstr "Грешка в услугата"
+
+#~ msgid "Unknown user"
+#~ msgstr "Непознат потребител"
+
+#~ msgid "Unknown error"
+#~ msgstr "Непозната грешка"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Грешно число, подадено на --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Неразпозната опция %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Не мога да установя всички потребители на non-zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Влязъл Неуспехи Последен неуспех От\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/bn.gmo b/po/bn.gmo
new file mode 100644
index 0000000..83588ba
--- /dev/null
+++ b/po/bn.gmo
Binary files differ
diff --git a/po/bn.po b/po/bn.po
new file mode 100644
index 0000000..5d92942
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,581 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ayesha Akhtar <ayesha@ankur.org.bd>, 2012.
+# Mahay Alam Khan <mahayalamkhan@gmail.com>, 2012.
+# Mahay Alam Khan <mak@ankur.org.bd>, 2012.
+# Newton Baidya <newton@ankur.org.bd>, 2012.
+# Robin Mehdee <robin@ankur.org.bd>, 2012.
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2009.
+# Runa Bhattacharjee <runab@redhat.com>, 2007, 2008.
+# <runabh@gmail.com>, 2012.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-04-10 04:36-0400\n"
+"Last-Translator: Mahay Alam Khan <mahayalamkhan@gmail.com>\n"
+"Language-Team: Bengali <info@ankur.org.bd>\n"
+"Language: bn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "নতুন %s পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "নতুন পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "নতুন %s পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "নতুন পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "নতুন %s পাসওয়ার্ড পুনরায় লিখুন: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "নতুন পাসওয়ার্ড পুনরায় লিখুন: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "দুঃখিত, পাসওয়ার্ড দুটি এক নয়।"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s পুনরায় লিখুন"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "পাসওয়ার্ড পরিবর্তন প্রক্রিয়া বাতিল করা হয়েছে।"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "লগ-ইন:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "সফল"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "গুরুতর সমস্যা - এই মুহূর্তে পরিত্যাগ করা হবে"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "মডিউল লোড করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "চিহ্ন পাওয়া যায়নি"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "পরিসেবা মডিউলে সমস্যা"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "সিস্টেম সংক্রান্ত সমস্যা"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "মেমরি বাফার সংক্রান্ত সমস্যা"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "অনুমতি প্রদান করা হয়নি"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "অনুমোদন ব্যর্থ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "অনুমোদন সংক্রান্ত তথ্য প্রাপ্ত করার জন্য পর্যাপ্ত প্রমাণ উপলব্ধ নেই"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "অনুমোদন পরিসেবা দ্বারা অনুমোদন সংক্রান্ত তথ্য উদ্ধার করা সম্ভব হয়নি"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "পটভূমিতে চলমান অনুমোদন ব্যবস্থায় ব্যবহারকারী পরিচিত নন।"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "পরিসেবায় উপলব্ধ সর্বাধিক প্রচেষ্টার সুযোগ সংখ্যা সমাপ্ত"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "অনুমোদনের টোকেন বৈধ নয়; নতুন টোকেন ব্যবহার করা আবশ্যক"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ব্যবহারকারী অ্যাকাউন্টের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "সুনির্দিষ্ট সেশানের জন্য কোনো এন্ট্রি নির্মাণ/অপসারণ করা সম্ভব নয়"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "অনুমোদন পরিসেবা দ্বারা প্রয়োজনীয় প্রমাণ উদ্ধার করা সম্ভব হয়নি"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ব্যবহারকারীর পরিচয়প্রমাণের তথ্যের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ব্যবহারকারীর পরিচয়প্রমাণের তথ্য নির্ধারণ করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "মডিউল সংক্রান্ত কোনো তথ্য উপস্থিত নেই"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item()-এ সঠিক মান প্রেরিত হয়নি"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Conversation অর্থাৎ তথ্য বিনিময়কালীন সমস্যা"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "অনুমোদন টোকেন ব্যবস্থাপনা করতে সমস্যা"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "অনুমোদন সংক্রান্ত তথ্য পুনরুদ্ধার করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "অনুমোদন টোকেনের লক ব্যস্ত"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "অনুমোদন টোকেনের মেয়াদ পূর্তী ব্যবস্থা নিষ্ক্রিয়"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "পাসওয়ার্ড পরিসেবা দ্বারা প্রারম্ভিক পরীক্ষা ব্যর্থ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "উৎপন্ন মান PAM dispatch দ্বারা অগ্রাহ্য করা হবে"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "মডিউল অজানা"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "অনুমোদন টোকেনের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversation অর্থাৎ তথ্য বিনিময় প্রক্রিয়া একটি ইভেন্টের অপেক্ষায় রয়েছে"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "অ্যাপ্লিকেশন দ্বারা পুনরায় libpam আরম্ভ করা আবশ্যক"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "PAM সংক্রান্ত অজানা ত্রুটি"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...সময় সমাপ্তির পথে...⏎ \n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...দুঃখিত, সময় সমাপ্ত!⏎ \n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ত্রুটিপূর্ণ তথ্যবিনিময় (%d)⏎\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s বিফল: প্রস্থানকালীন কোড %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s বিফল: %d%s সিগনাল প্রাপ্ত"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s বিফল: অজানা অবস্থা 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u ব্যর্থ লগ-ইনের ফলে অ্যাকাউন্ট লক করা হয়েছে"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s থেকে"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s -র উপর"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "সর্বশেষ লগ-ইন:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "নতুন অ্যাকাউন্টে স্বাগতম!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "সর্বশেষ বিফল লগ-ইন:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+msgstr[1] "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'-র ক্ষেত্রে অত্যাধিক লগ-ইন"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "নতুন মেইল প্রাপ্ত।"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "নতুন মেইল প্রাপ্ত।"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "পুরোনো মেইল রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "মেইল রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s ফোল্ডারে কোনো মেইল উপস্থিত নেই।"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s ফোল্ডারে নতুন মেইল উপস্থিত।"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s ফোল্ডারে পুরোনো মেইল উপস্থিত রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s ফোল্ডারে মেইল উপস্থিত রয়েছে।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' ডিরেক্টরি নির্মাণ করা হচ্ছে।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ডিরেক্টরি '%s' নির্মাণ ও আরম্ভ করতে ব্যর্থ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "ডিফল্ট Security Context %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "ভিন্ন role অথবা level লিখতে ইচ্ছুক কি?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "role: "
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "role %s-র জন্য কোনো ডিফল্ট type উপস্থিত নেই\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "level: "
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "বৈধ নিরাপত্তা সংক্রান্ত context নয়"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Security Context %s ধার্য করা হয়েছে"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "কি নির্মাণের Context %s ধার্য করা হয়েছে"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM আরম্ভ করতে ব্যর্থ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() করতে ব্যর্থ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "লগ-ইন: fork করতে ব্যর্থ: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "প্রবেশাধিকার প্রদান করা হয়েছে (%ld পূর্বে সর্বশেষ লগ-ইন করা হয়েছে)।"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"আপনার অ্যাকাউন্টের মেয়াদপূর্ণ হয়েছে; অনুগ্রহ করে সিস্টেম অ্যাডমিনিস্ট্রেটরের সাথে "
+"যোগাযোগ করুন।"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "আপনার পাসওয়ার্ড এই মুহূর্তে পরিবর্তন করা আবশ্যক (root দ্বারা কার্যকরী)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "আপনার পাসওয়ার্ড এই মুহূর্তে পরিবর্তন করা আবশ্যক (password-র মেয়াদ পূর্ণ হয়েছে)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+msgstr[1] "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "কোনো পাসওয়ার্ড উল্লিখিত হয়নি"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "আপনি একটি ছোট পাসওয়ার্ড নির্বাচন করতে হবে।"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "চিহ্নিত পাসওয়ার্ডের থেকে লম্বা পাসওয়ার্ড উল্লেখ করা আবশ্যক"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s-র পাসওয়ার্ড পরিবর্তন করা হচ্ছে।"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "কিছু কাল পরে পাসওয়ার্ড পরিবর্তন করা সম্ভব হবে"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "পুরোনোটির অনুরূপ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "মেমরি বরাদ্দ করতে সমস্যা"
+
+#~ msgid "is a palindrome"
+#~ msgstr "উভমুখী শব্দ"
+
+#~ msgid "case changes only"
+#~ msgstr "শুধুমাত্র হরফের ছাঁদ পরিবর্তন করা হয়েছে"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "পুরোনো পাসওয়ার্ডের সমতূল্য"
+
+#~ msgid "is too simple"
+#~ msgstr "জটিল নয়"
+
+#~ msgid "is rotated"
+#~ msgstr "ঘোরানো হয়েছে"
+
+#~ msgid "not enough character classes"
+#~ msgstr "পর্যাপ্ত অক্ষর শ্রেণী উপস্থিত নেই"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
+
+#, fuzzy
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "কোনো রূপে ব্যবহারকারী নাম অন্তর্ভুক্ত হয়েছে"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "পাসওয়ার্ড ভাল নয়: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "সাময়িকরূপে অ্যাকাউন্ট লক করা হয়েছে (%ld সেকেন্ড অবশিষ্ট)"
+
+#~ msgid "Authentication error"
+#~ msgstr "অনুমোদন সংক্রান্ত সমস্যা"
+
+#~ msgid "Service error"
+#~ msgstr "পরিসেবা সংক্রান্ত সমস্যা"
+
+#~ msgid "Unknown user"
+#~ msgstr "অজানা ব্যবহারকারী"
+
+#~ msgid "Unknown error"
+#~ msgstr "অজানা সমস্যা"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= এর জন্য ভুল সংখ্যা উল্লিখিত\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: অজানা বিকল্প %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: সব ব্যবহারকারীর জন্য শূণ্য-ভিন্ন মান ধার্য করতে ব্যর্থ\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "লগ-ইন বিফলতা সর্বশেষ বিফলতা চিহ্নিত স্থান থেকে\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/bn_IN.gmo b/po/bn_IN.gmo
new file mode 100644
index 0000000..60578a7
--- /dev/null
+++ b/po/bn_IN.gmo
Binary files differ
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 0000000..324658d
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,576 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2009.
+# Runa Bhattacharjee <runab@redhat.com>, 2007, 2008.
+# <runabh@gmail.com>, 2012.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-02-28 05:38-0500\n"
+"Last-Translator: runa <runabh@gmail.com>\n"
+"Language-Team: Bengali (India) <anubad@lists.ankur.org.in>\n"
+"Language: bn_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "নতুন %s পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "নতুন পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "নতুন %s পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "নতুন পাসওয়ার্ড: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "নতুন %s পাসওয়ার্ড পুনরায় লিখুন: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "নতুন পাসওয়ার্ড পুনরায় লিখুন: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "দুঃখিত, পাসওয়ার্ড দুটি এক নয়।"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s পুনরায় লিখুন"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "পাসওয়ার্ড পরিবর্তনের কর্ম পরিত্যাগ করা হয়েছে।"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "লগ-ইন:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "সফল"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "গুরুতব সমস্যা - এই মুহূর্তে পরিত্যাগ করা হবে"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "মডিউল লোড করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "চিহ্ন পাওয়া যায়নি"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "পরিসেবা মডিউলে সমস্যা"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "সিস্টেম সংক্রান্ত সমস্যা"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "মেমরি বাফার সংক্রান্ত সমস্যা"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "অনুমতি প্রদান করা হয়নি"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "অনুমোদন ব্যর্থ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "অনুমোদন সংক্রান্ত তথ্য প্রাপ্ত করার জন্য পর্যাপ্ত প্রমাণ উপলব্ধ নেই"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "অনুমোদন পরিসেবা দ্বারা অনুমোদন সংক্রান্ত তথ্য উদ্ধার করা সম্ভব হয়নি"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "পটভূমিতে চলমান অনুমোদন ব্যবস্থায় ব্যবহারকারী পরিচিত নন।"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "পরিসেবায় উপলব্ধ সর্বাধিক প্রচেষ্টার সুযোগ সংখ্যা সমাপ্ত"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "অনুমোদনের টোকেন বৈধ নয়; নতুন টোকেন ব্যবহার করা আবশ্যক"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ব্যবহারকারী অ্যাকাউন্টের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "সুনির্দিষ্ট সেশানের জন্য কোনো এন্ট্রি নির্মাণ/অপসারণ করা সম্ভব নয়"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "অনুমোদন পরিসেবা দ্বারা প্রয়োজনীয় প্রমাণ উদ্ধার করা সম্ভব হয়নি"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ব্যবহারকারীর পরিচয়প্রমাণের তথ্যের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ব্যবহারকারীর পরিচয়প্রমাণের তথ্য নির্ধারণ করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "মডিউল সংক্রান্ত কোনো তথ্য উপস্থিত নেই"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item()-এ সঠিক মান প্রেরিত হয়নি"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Conversation অর্থাৎ তথ্য বিনিময়কালীন সমস্যা"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "অনুমোদন টোকেন ব্যবস্থাপনা করতে সমস্যা"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "অনুমোদন সংক্রান্ত তথ্য পুনরুদ্ধার করতে ব্যর্থ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "অনুমোদন টোকেনের লক ব্যস্ত"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "অনুমোদন টোকেনের মেয়াদ পূর্তী ব্যবস্থা নিষ্ক্রিয়"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "পাসওয়ার্ড পরিসেবা দ্বারা প্রারম্ভিক পরীক্ষা ব্যর্থ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "উৎপন্ন মান PAM dispatch দ্বারা অগ্রাহ্য করা হবে"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "মডিউল অজানা"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "অনুমোদন টোকেনের মেয়াদ পূর্ণ হয়েছে"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversation অর্থাৎ তথ্য বিনিময় প্রক্রিয়া একটি ইভেন্টের অপেক্ষায় রয়েছে"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "অ্যাপ্লিকেশন দ্বারা পুনরায় libpam আরম্ভ করা আবশ্যক"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "PAM সংক্রান্ত অজানা ত্রুটি"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...সময় সমাপ্তির পথে...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...দুঃখিত, সময় সমাপ্ত!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ত্রুটিপূর্ণ তথ্যবিনিময় (conversation) (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s বিফল: প্রস্থানকালীন কোড %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s বিফল: %d%s সিগনাল প্রাপ্ত"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s বিফল: অজানা অবস্থা 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u ব্যর্থ লগ-ইনের ফলে অ্যাকাউন্ট লক করা হয়েছে"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s থেকে"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s -র উপর"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "সর্বশেষ লগ-ইন:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "নতুন অ্যাকাউন্টে স্বাগতম!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "সর্বশেষ বিফল লগ-ইন:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+msgstr[1] "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'-র ক্ষেত্রে অত্যাধিক লগ-ইন"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "নতুন মেইল প্রাপ্ত।"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "নতুন মেইল প্রাপ্ত।"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "পুরোনো মেইল রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "মেইল রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s ফোল্ডারে কোনো মেইল উপস্থিত নেই।"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s ফোল্ডারে নতুন মেইল উপস্থিত।"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s ফোল্ডারে পুরোনো মেইল উপস্থিত রয়েছে।"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s ফোল্ডারে মেইল উপস্থিত রয়েছে।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' ডিরেক্টরি নির্মাণ করা হচ্ছে।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ডিরেক্টরি '%s' নির্মাণ ও আরম্ভ করতে ব্যর্থ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "ডিফল্ট Security Context %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "ভিন্ন role অথবা level লিখতে ইচ্ছুক কি?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "role: "
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "role %s-র জন্য কোনো ডিফল্ট type উপস্থিত নেই\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "level: "
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "বৈধ নিরাপত্তা সংক্রান্ত context নয়"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Security Context %s ধার্য করা হয়েছে"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "কি নির্মাণের Context %s ধার্য করা হয়েছে"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM আরম্ভ করতে ব্যর্থ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() করতে ব্যর্থ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "লগ-ইন: fork করতে ব্যর্থ: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "প্রবেশাধিকার প্রদান করা হয়েছে (%ld পূর্বে সর্বশেষ লগ-ইন করা হয়েছে)।"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"আপনার অ্যাকাউন্টের মেয়াদপূর্ণ হয়েছে; অনুগ্রহ করে সিস্টেম অ্যাডমিনিস্ট্রেটরের সাথে "
+"যোগাযোগ করুন।"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "আপনার পাসওয়ার্ড এই মুহূর্তে পরিবর্তন করা আবশ্যক (root দ্বারা কার্যকরী)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "আপনার পাসওয়ার্ড এই মুহূর্তে পরিবর্তন করা আবশ্যক (password-র মেয়াদ পূর্ণ হয়েছে)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+msgstr[1] "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "কোনো পাসওয়ার্ড উল্লিখিত হয়নি"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "আপনি একটি ছোট পাসওয়ার্ড নির্বাচন করতে হবে।"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "চিহ্নিত পাসওয়ার্ডের থেকে লম্বা পাসওয়ার্ড উল্লেখ করা আবশ্যক"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s-র পাসওয়ার্ড পরিবর্তন করা হচ্ছে।"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "কিছু কাল পরে পাসওয়ার্ড পরিবর্তন করা সম্ভব হবে"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "পুরোনোটির অনুরূপ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "মেমরি বরাদ্দ করতে সমস্যা"
+
+#~ msgid "is a palindrome"
+#~ msgstr "উভমুখী শব্দ"
+
+#~ msgid "case changes only"
+#~ msgstr "শুধুমাত্র হরফের ছাঁদ পরিবর্তন করা হয়েছে"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "পুরোনো পাসওয়ার্ডের সমতূল্য"
+
+#~ msgid "is too simple"
+#~ msgstr "জটিল নয়"
+
+#~ msgid "is rotated"
+#~ msgstr "ঘোরানো হয়েছে"
+
+#~ msgid "not enough character classes"
+#~ msgstr "পর্যাপ্ত অক্ষর শ্রেণী উপস্থিত নেই"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
+
+#, fuzzy
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "কোনো রূপে ব্যবহারকারী নাম অন্তর্ভুক্ত হয়েছে"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "পাসওয়ার্ড ভাল নয়: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "সাময়িকরূপে অ্যাকাউন্ট লক করা হয়েছে (%ld সেকেন্ড অবশিষ্ট)"
+
+#~ msgid "Authentication error"
+#~ msgstr "অনুমোদন সংক্রান্ত সমস্যা"
+
+#~ msgid "Service error"
+#~ msgstr "পরিসেবা সংক্রান্ত সমস্যা"
+
+#~ msgid "Unknown user"
+#~ msgstr "অজানা ব্যবহারকারী"
+
+#~ msgid "Unknown error"
+#~ msgstr "অজানা সমস্যা"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= এর জন্য ভুল সংখ্যা উল্লিখিত\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: অজানা বিকল্প %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: সব ব্যবহারকারীর জন্য শূণ্য-ভিন্ন মান ধার্য করতে ব্যর্থ\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "লগ-ইন বিফলতা সর্বশেষ বিফলতা চিহ্নিত স্থান থেকে\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644
index 0000000..4b937aa
--- /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/bs.gmo b/po/bs.gmo
new file mode 100644
index 0000000..eca0059
--- /dev/null
+++ b/po/bs.gmo
Binary files differ
diff --git a/po/bs.po b/po/bs.po
new file mode 100644
index 0000000..660c5a5
--- /dev/null
+++ b/po/bs.po
@@ -0,0 +1,487 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Bosnian (http://www.transifex.com/projects/p/fedora/language/"
+"bs/)\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Morate odabrati kraću lozinku."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Morate odabrati kraću lozinku."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Morate odabrati kraću lozinku."
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 0000000..f65f78c
--- /dev/null
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..4eb0fe2
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,577 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Albert Carabasa Giribet <albertc@asic.udl.cat>, 2009
+# Bernabé Borrero <bernabeborrero@gmail.com>, 2012
+# Robert Antoni Buj i Gelonch <robert.buj@gmail.com>, 2013
+# xqueralt <xqueralt@gmail.com>, 2008
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Robert Antoni Buj Gelonch <robert.buj@gmail.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Catalan <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ca/>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Contrasenya: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Contrasenya actual de %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Contrasenya actual: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nova contrasenya de %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nova contrasenya: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Torneu a escriure la nova contrasenya de %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Torneu a escriure la nova contrasenya: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Les contrasenyes no coincideixen."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Torneu a escriure %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "S'ha cancel·lat el canvi de contrasenya."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "inici de sessió:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Correcte"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Error greu - s'avortarà l'operació immediatament"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Ha fallat en carregar el mòdul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "No es troba el símbol"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Error en el mòdul de servei"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Error del sistema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Error de la memòria intermèdia"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permís denegat"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Error d'autenticació"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"No teniu suficients credencials per a accedir a les dades d'autenticació"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "El servei d'autenticació no pot recuperar la informació corresponent"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Usuari desconegut per al mòdul d'autenticació subjacent"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "S'ha exhaurit el nombre màxim d'intents per al servei"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "El testimoni d'autenticació ja no és vàlid; se'n necessita un de nou"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "El compte d'usuari ha vençut"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "No es pot crear/suprimir una entrada per a la sessió especificada"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "El servei d'autenticació no pot recuperar les credencials d'usuari"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Les credencials d'usuari han caducat"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "S'ha produït un error en definir les credencials d'usuari"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "No hi han dades específiques del mòdul"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "S'ha transmès un element incorrecte a pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Error de conversa"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Error de manipulació del testimoni d'autenticació"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "No es pot recuperar la informació d'autenticació"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "El bloqueig del testimoni d'autenticació està ocupat"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "L'envelliment del testimoni d'autenticació està inhabilitat"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Error durant la comprovació preliminar del servei de contrasenyes"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "El lliurament de PAM hauria d'ignorar el valor de retorn"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "El mòdul és desconegut"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "El testimoni d'autenticació ha caducat"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "La conversa està esperant un esdeveniment"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "L'aplicació necessita cridar novament libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Error de PAM desconegut"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...S'acaba el temps...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...S'ha acabat el temps.\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversa errònia (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s ha fallat: codi de sortida %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s ha fallat: s'ha atrapat el senyal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s ha fallat: estat 0x%x desconegut"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Forma d’ús: %s: [--dir /directori/path/to/tally] [--user nom_usuari] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "El compte està bloquejat a causa de %u inicis fallits de sessió."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(resten %d minut per desbloquejar)"
+msgstr[1] "(resten %d minuts per desbloquejar)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(resten %d minuts per desbloquejar)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %-d %b de %Y, %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " des de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " a %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Últim inici de sessió:%s des de %s a %s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Benvingut al vostre nou compte!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Últim inici de sessió fallit:%s des de %s a %s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"S'han produït %d intents fallits d'inici de sessió des de l'últim inici de "
+"sessió reeixit."
+msgstr[1] ""
+"S'han produït %d intents d'inici de sessió des de l'últim inici de sessió "
+"reeixit."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"S'han produït %d intents fallits d'inici de sessió des de l'últim inici de "
+"sessió reeixit."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Hi havia massa inicis de sessió per a '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "No teniu cap correu."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Teniu correu nou."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Teniu correu antic."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Teniu correu."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "No teniu cap correu a la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Teniu nou correu a la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Teniu correu antic a la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Teniu correu a la carpeta %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Creant el directori '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "No s'ha pogut crear i inicialitzar el directori '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Aquesta contrasenya ja s'ha fet servir. Trieu-ne una altra."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "La contrasenya ja ha estat utilitzada."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "El context de seguretat predeterminat és %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Voleu introduir un rol o nivell diferent?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rol:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "No hi ha cap tipus predeterminat per al rol %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivell:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Aquest no és un context de seguretat vàlid."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "No s'ha pogut obtenir un context vàlid per a %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "S'ha assignat el context de seguretat %s."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "S'ha assignat el context de creació de clau %s."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "s'ha produït un error en inicialitzar PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "s'ha produït un error en pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "inici de sessió: ha fallat la bifurcació: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "S'ha concedit l'accés (l'últim accés va ser fa %ld segons)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"El vostre compte ha vençut; contacteu amb l'administrador del vostre sistema."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Heu de canviar la contrasenya immediatament (us hi obliga l'administrador)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"Heu de canviar la contrasenya immediatament (la contrasenya ha vençut)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Atenció: la contrasenya venç d'aquí a %d dia."
+msgstr[1] "Atenció: la contrasenya venç d'aquí a %d dies."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Atenció: la contrasenya venç d'aquí a %d dies."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "No s'ha pogut canviar la contrasenya NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "No s'ha proporcionat cap contrasenya."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "No s'ha canviat la contrasenya."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Heu de triar una contrasenya més curta."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Heu de triar una contrasenya més llarga."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "S'està canviant la contrasenya de %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Heu d'esperar més temps abans de canviar la contrasenya."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "és la mateixa que l'antiga"
+
+#~ msgid "memory allocation error"
+#~ msgstr "Error d'assignació de memòria"
+
+#~ msgid "is a palindrome"
+#~ msgstr "és un palíndrom"
+
+#~ msgid "case changes only"
+#~ msgstr "només canvien les majúscules i minúscules"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "és massa semblant a l'antiga"
+
+#~ msgid "is too simple"
+#~ msgstr "és massa senzilla"
+
+#~ msgid "is rotated"
+#~ msgstr "està girada"
+
+#~ msgid "not enough character classes"
+#~ msgstr "no hi ha suficients classes de caràcters"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "conté massa caràcters idèntics consecutius"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "conté una seqüència de caràcters monòtona massa llarga"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "conté el nom d'usuari d'alguna forma"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "CONTRASENYA INCORRECTA: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "El compte està bloquejat temporalment (queden %ld segons)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Error d'autenticació"
+
+#~ msgid "Service error"
+#~ msgstr "Error del servei"
+
+#~ msgid "Unknown user"
+#~ msgstr "Usuari desconegut"
+
+#~ msgid "Unknown error"
+#~ msgstr "Error desconegut"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: número incorrecte assignat a --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: opció %s no reconeguda\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file nom_fitxer_arrel] [--user nom_usuari] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: no es poden restablir tots els usuaris a un valor diferent de zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Entrada Fallades Última fallada Des de\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f nom_fitxer_arrel] [--file nom_fitxer_arrel]\n"
+#~ " [-u nom_usuari] [--user nom_usuari]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 0000000..75979c7
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..588b63c
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,568 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Klara Cihlarova <koty@seznam.cz>, 2005, 2006.
+# <tmraz@fedoraproject.org>, 2011.
+# Tomas Mraz <t8m@centrum.cz>, 2005, 2008, 2009.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Tomáš Mráz <tmraz@redhat.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-20 10:38+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Czech <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/cs/>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 3.11.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Heslo: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Současné %s heslo: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Současné heslo: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nové %s heslo: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nové heslo: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Opakujte nové %s heslo: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Opakujte nové heslo: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Hesla se neshodují."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Opakujte %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Změna hesla byla přerušena."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Úspěch"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritická chyba - okamžité ukončení"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Nepodařilo se nahrát modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbol nenalezen"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Chyba v modulu služby"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systémová chyba"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Chyba alokace paměti"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Přístup zamítnut"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Selhání autentizace"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nedostatečná oprávnění pro přístup k autentizačním datům"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Autentizační služba nemůže získat informace pro autentizaci"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Uživatel není znám použitému autentizačnímu modulu"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Vyčerpán maximální počet pokusů pro službu"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Autentizační token již není platný; vyžadován nový"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Uživatelský účet vypršel"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Pro zadané sezení nelze vytvořit/odstranit záznam"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Autentizační služba nemůže získat údaje o oprávněních uživatele"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Údaje o oprávněních uživatele vypršely"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Chyba při nastavení údajů o oprávněních uživatele"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nelze najít data potřebná pro modul"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Funkci pam_*_item() byla předána špatná položka"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Chyba konverzace"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Chyba manipulace s autentizačním tokenem"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Autentizační informace nelze získat"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Autentizační token je uzamčen"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Stárnutí autentizačního tokenu vypnuto"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Selhání předběžné kontroly ve službě hesla"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Návratová hodnota by měla být ignorována rozhodovacím mechanismem PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Neznámý modul"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Autentizační token vypršel"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Konverzace čeká na událost"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Aplikace musí znovu zavolat libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Neznámá chyba PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Dochází čas...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Promiňte, čas vypršel!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "nesprávná konverzace (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s selhal: návratový kód %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s selhal: dostal signál %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s selhal: neznámý kód stavu 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Použití: %s [--dir /cesta/k/tally-adresari] [--user uzivatelske_jmeno] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Účet je uzamčen z důvodu %u neúspěšných pokusů o přihlášení."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minut zbývá do odemčení)"
+msgstr[1] "(%d minut zbývá do odemčení)"
+msgstr[2] "(%d minut zbývá do odemčení)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minut zbývá do odemčení)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %d.%m.%Y %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " z %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " na %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Poslední přihlášení:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Vítejte na vašem novém účtu!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Poslední neúspěšné přihlášení:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Od posledního úspěšného došlo k %d neúspěšnému pokusu o přihlášení."
+msgstr[1] "Od posledního úspěšného došlo k %d neúspěšným pokusům o přihlášení."
+msgstr[2] "Od posledního úspěšného došlo k %d neúspěšným pokusům o přihlášení."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Od posledního úspěšného došlo k %d neúspěšným pokusům o přihlášení."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Proběhlo příliš mnoho přihlášení pro '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Nemáte žádnou poštu."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Máte novou poštu."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Máte starou poštu."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Máte poštu."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Nemáte žádnou poštu ve složce %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Máte novou poštu ve složce %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Máte starou poštu ve složce %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Máte poštu ve složce %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Vytváření adresáře '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Nezdařilo se vytvořit a inicializovat adresář '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Heslo již bylo použito. Zvolte jiné."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Heslo již bylo použito."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Výchozí bezpečnostní kontext je %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Chcete zadat jinou roli nebo úroveň?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "role:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Chybí výchozí typ pro roli %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "úroveň:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Toto není platný bezpečnostní kontext."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Nepodařilo se získat platný kontext pro %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Bezpečnostní kontext %s byl přiřazen."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Kontext pro vytváření klíčů %s byl přidělen."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "chyba při inicializaci PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "chyba pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: chyba forku: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Přístup byl povolen (poslední přístup před %ld vteřinami)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+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:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Nyní musíte změnit své heslo (vynuceno administrátorem)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Nyní musíte změnit své heslo (heslo vypršelo)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Varování: Vaše heslo vyprší za %d den."
+msgstr[1] "Varování: Vaše heslo vyprší za %d dny."
+msgstr[2] "Varování: Vaše heslo vyprší za %d dní."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Varování: Počet dní do vypršení hesla: %d"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS heslo se nepodařilo změnit."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Heslo nebylo zadáno."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Heslo nebylo změněno."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Musíte zvolit kratší heslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Musíte si zvolit delší heslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Změna hesla pro %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Na změnu svého hesla musíte počkat déle."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "je stejné jako předcházející"
+
+#~ msgid "memory allocation error"
+#~ msgstr "chyba alokace paměti"
+
+#~ msgid "is a palindrome"
+#~ msgstr "je palindrom"
+
+#~ msgid "case changes only"
+#~ msgstr "pouze mění velikost"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "je příliš podobné předcházejícímu"
+
+#~ msgid "is too simple"
+#~ msgstr "je příliš jednoduché"
+
+#~ msgid "is rotated"
+#~ msgstr "je posunuté"
+
+#~ msgid "not enough character classes"
+#~ msgstr "nemá dostatek různých druhů znaků"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "obsahuje příliš mnoho stejných znaků za sebou"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "obsahuje příliš dlouhou postupnou sekvenci znaků"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "obsahuje v nějaké formě uživatelské jméno"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ŠPATNÉ HESLO: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Účet je dočasně uzamčen (zbývá %ld vteřin)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Chyba autentizace"
+
+#~ msgid "Service error"
+#~ msgstr "Chyba služby"
+
+#~ msgid "Unknown user"
+#~ msgstr "Neznámý uživatel"
+
+#~ msgid "Unknown error"
+#~ msgstr "Neznámá chyba"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Zadána špatná hodnota --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Neznámá volba %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file jmeno_souboru] [--user uzivatelske_jmeno] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Nelze resetovat všechny uživatele nenulově\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Selhání Poslední selhání Od\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f plna-cesta-k-souboru] [--file plna-cesta-k-souboru]\n"
+#~ " [-u uzivatelske-jmeno] [--user uzivatelske-jmeno]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/cy.gmo b/po/cy.gmo
new file mode 100644
index 0000000..3d4a696
--- /dev/null
+++ b/po/cy.gmo
Binary files differ
diff --git a/po/cy.po b/po/cy.po
new file mode 100644
index 0000000..d22b405
--- /dev/null
+++ b/po/cy.po
@@ -0,0 +1,490 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Welsh (http://www.transifex.com/projects/p/fedora/language/"
+"cy/)\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
+"11) ? 2 : 3;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Rhaid i chi ddewis cyfrinair byrrach."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Rhaid i chi ddewis cyfrinair byrrach."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Rhaid i chi ddewis cyfrinair byrrach."
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644
index 0000000..10e91b3
--- /dev/null
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..a9c5516
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,562 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Kris Thomsen <lakristho@gmail.com>, 2009,2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# scootergrisen <scootergrisen@gmail.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Danish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/da/>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Adgangskode: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Nuværende %s adgangskode: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Nuværende adgangskode: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Ny %s adgangskode: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Ny adgangskode: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Genindtast ny %s adgangskode: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Genindtast ny adgangskode: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Adgangskoderne stemmer ikke overens."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Genindtast %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Ændring af adgangskode blev afbrudt."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Udført"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritisk fejl - afbryder omgående"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Kunne ikke indlæse modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbol ikke fundet"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Der opstod en fejl i tjenestemodul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systemfejl"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Fejl i hukommelsesbuffer"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Rettigheder nægtet"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Fejl ved godkendelse"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Utilstrækkelige oplysninger for at få adgang til godkendelsesdata"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Godkendelsestjenesten kan ikke hente godkendelsesoplysningerne"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Ukendt bruger for det underliggende godkendelsesmodul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Antal forsøg på at få adgang til tjenesten er udløbet"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Godkendelses-token er ikke længere gyldig; en ny er påkrævet"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Brugerkontoen er udløbet"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Angivelsen til den angivne session kan ikke dannes/fjernes"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Godkendelsestjenesten kan ikke hente brugeroplysninger"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Brugeroplysningerne er udløbet"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Der opstod en fejl ved angivelse af brugeroplysninger"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Der findes ingen modulspecifikke data"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ugyldigt objekt blev overført til pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Konversationsfejl"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Fejl ved manipulering af godkendelsestoken"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Godkendelsesoplysningerne kan ikke gendannes"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Lås til godkendelsestoken er optaget"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Udløb af godkendelsestoken er deaktiveret"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Indledende kontrol af adgangskodetjenesten mislykkedes"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Returværdien bør ignoreres af PAM-afsendelse"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modul er ukendt"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Godkendelsestoken er udløbet"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Konversation venter på hændelse"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Programmet skal kalde libpam igen"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Ukendt PAM-fejl"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Tiden er ved at udløbe...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Din tid er desværre gået!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "konversationsfejl (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s fejlede: afslutningskode %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s fejlede: fangede signal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s fejlede: ukendt status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Anvendelse: %s [--dir /sti/til/tally-mappe] [--user brugernavn] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Konto låst på grund af %u fejlende logins."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minut tilbage hvor der kan låses op)"
+msgstr[1] "(%d minutter tilbage hvor der kan låses op)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minutter tilbage hvor der kan låses op)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " fra %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " på %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Sidste login:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Velkommen til din nye konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Sidste fejlende login:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Der var %d fejlende loginforsøg siden sidste succesfulde login."
+msgstr[1] "Der var %d fejlende loginforsøg siden sidste succesfulde login."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Der var %d fejlende loginforsøg siden sidste succesfulde login."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Der var for mange logins for '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Du har ingen post."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Du har ny e-post."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Du har gammel e-post."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Du har e-post."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Du har ingen e-post i mappe %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Du har ny e-post i mappe %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Du har gammel e-post i mappe %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Du har e-post i mappe %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Opretter mappe \"%s\"."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Kunne ikke oprette og initialisere mappe \"%s\"."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Adgangskoden er allerede blevet brugt. Vælg en anden."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Adgangskode er allerede i brug."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Standard sikkerhedskonteksten er %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Vil du angive en anden rolle eller niveau?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rolle:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Der er ikke nogen standardtype for rollen %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "niveau:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Der er ikke et gyldigt sikkerhedskontekst."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Der kunne ikke indhentes et gyldigt kontekst for %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Sikkerhedskontekst %s er blevet tildelt."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Nøgleoprettelseskonteksten %s er blevet tildelt."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "kunne ikke initialisere PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() mislykkedes\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: fejl ved forgrening: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Adgang er blevet givet (sidste adgang var for %ld sekunder siden)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Din konto er udløbet; kontakt venligst din systemadministrator."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Du skal ændre din adgangskode omgående (gennemtvunget af administrator)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Du skal ændre din adgangskode omgående (adgangskoden er god gammel)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Advarsel: Din adgangskode udløber om %d dag."
+msgstr[1] "Advarsel: Din adgangskode udløber om %d dage."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Advarsel: din adgangskode udløber om %d dage."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-adgangskoden kunne ikke ændres."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Der er ikke angivet nogen adgangskode."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Adgangskoden er ikke blevet ændret."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Du skal vælge en kortere adgangskode."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Du skal vælge en længere adgangskode."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Ændrer adgangskode for %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Du skal vente længere for at ændre din adgangskode."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "er den samme som den gamle"
+
+#~ msgid "memory allocation error"
+#~ msgstr "fejl under hukommelsesallokering"
+
+#~ msgid "is a palindrome"
+#~ msgstr "det staves ens forfra og bagfra"
+
+#~ msgid "case changes only"
+#~ msgstr "kun forskel i store/små bogstaver"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ligner for meget den gamle"
+
+#~ msgid "is too simple"
+#~ msgstr "er for simpel"
+
+#~ msgid "is rotated"
+#~ msgstr "er roteret"
+
+#~ msgid "not enough character classes"
+#~ msgstr "ikke nok tegnklasser"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "indeholder for mange af de samme tegn"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "indeholder en for lang sekvens af monotone tegn"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "indeholder brugernavnet i en eller anden form"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "DÅRLIG ADGANGSKODE: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Kontoen er midlertidigt låst (%ld sekunder tilbage)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Fejl ved godkendelse"
+
+#~ msgid "Service error"
+#~ msgstr "Fejl ved tjeneste"
+
+#~ msgid "Unknown user"
+#~ msgstr "Ukendt bruger"
+
+#~ msgid "Unknown error"
+#~ msgstr "Ukendt fejl"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Der er angivet et forkert tal til --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Ikke genkendt indstilling %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rodfilnavn] [--user brugernavn] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Alle brugere kunne ikke nulstilles til ikke-nul\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Fejlende Sidste fejl Fra\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rodfilnavn] [--file rodfilnavn]\n"
+#~ " [-u brugernavn] [--user brugernavn]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 0000000..c7f56c2
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..7fd9459
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,570 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Roman Spirgi <bigant@fedoraproject.org>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-21 13:28+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: German <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/de/>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Passwort: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Geben Sie das aktuelle %s Passwort ein: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Geben Sie das aktuelle Passwort ein: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Geben Sie ein neues %s Passwort ein: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Geben Sie ein neues Passwort ein: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Geben Sie das neue %s Passwort erneut ein: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Geben Sie das neue Passwort erneut ein: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Die Passwörter stimmen nicht überein."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Neu eingeben %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Passwort Änderung wurde abgebrochen."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "Login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Erfolg"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritischer Fehler - sofortiger Abbruch"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Fehler beim Laden des Moduls"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbol nicht gefunden"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Fehler im Service-Modul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systemfehler"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Fehler beim Zwischenspeichern"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Berechtigung verweigert"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Fehler bei Authentifizierung"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"Berechtigungsnachweis für Zugriff auf Authentifizierungsdaten nicht "
+"ausreichend"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Authentifizierungsdienst kann Authentifizierungsinformationen nicht abrufen"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Benutzer bei zu Grunde liegendem Authentifizierungsmodul nicht bekannt"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Maximale Anzahl an Versuchen für den Dienst erreicht"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Authentifizierungstoken ist nicht mehr gültig; neues erforderlich"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Benutzerkonto ist abgelaufen"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+"Erstellen/Entfernen eines Eintrags für die angegebene Sitzung nicht möglich"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Authentifizierungsdienst kann keine Benutzerberechtigung abrufen"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Benutzerberechtigung abgelaufen"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Fehler beim Festlegen der Benutzerberechtigung"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Keine modulspezifischen Daten vorhanden"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ungültiges Element an pam_*_item() übergeben"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Kommunikationsfehler"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Fehler beim Ändern des Authentifizierungstoken"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Authentifizierungsinformationen können nicht wiederhergestellt werden"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Sperre für Authentifizierungstoken belegt"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Zeitablauf für Authentifizierungstoken deaktiviert"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Vorabtest durch Passwortdienst gescheitert"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Der Rückgabewert sollte von PAM-Dispatch ignoriert werden"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modul ist nicht bekannt"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Authentifizierungstoken abgelaufen"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Kommunikation wartet auf Ereignis"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Anwendung muss libpam wieder aufrufen"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Unbekannter PAM-Fehler"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Zeit läuft ab...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Ihre Zeit ist abgelaufen!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "fehlerhafte Kommunikation (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s schlug fehl: Fehlercode %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s schlug fehl: Signal %d%s erhalten"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s schlug fehl: Unbekannter Status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Aufruf: %s [--dir /path/to/tally-Verzeichnis] [--user Benutzername] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Das Konto ist wegen %u fehlgeschlagener Anmelde-Versuche gesperrt."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(noch %d Minute zum Entsperren)"
+msgstr[1] "(noch %d Minuten zum Entsperren)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(noch %d Minuten zum Entsperren)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %A, den %d. %B %Y, %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " von %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " auf %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Letzte Anmeldung:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Willkommen in Ihrem neuen Konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Letzte fehlgeschlagene Anmeldung:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Es gab %d fehlgeschagenen Versuch seit der letzten erfolgreichen Anmeldung."
+msgstr[1] ""
+"Es gab %d fehlgeschlagene Versuche seit der letzten erfolgreichen Anmeldung."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Es gab %d fehlgeschlagene Versuche seit der letzten erfolgreichen Anmeldung."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Zu viele Anmeldungen für '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Sie haben keine Nachrichten."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Sie haben neue Nachrichten."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Sie haben alte Nachrichten."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Sie haben Nachrichten."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Sie haben keine Nachrichten in %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Sie haben neue Nachrichten in %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Sie haben alte Nachrichten in %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Sie haben Nachrichten in %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Erstelle Verzeichnis '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Verzeichnis '%s' kann nicht erstellt und initialisiert werden."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Passwort wurde bereits verwendet. Wählen Sie ein anderes aus."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Das gleiche Passwort wurde bereits einmal verwendet."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Standard-Sicherheitskontext %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Wollen Sie eine andere Rolle oder Stufe eingeben?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "Funktion:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Keinen Standard-Typ für Rolle %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "Stufe:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Kein gültiger Sicherheitskontext."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Unfähig einen gültigen Kontext zu erhalten für %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Sicherheitskontext %s zugewiesen."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Schlüssel-Erzeugungskontext %s zugeordnet."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "Fehler beim Initialisieren von PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "Fehler bei pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "Anmeldung: Fehler bei Abspaltung: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Zugriff erlaubt (letzter Zugriff war vor %ld Sekunden)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Ihr Konto ist abgelaufen. Wenden Sie sich an den Systemadministrator."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Sie müssen Ihr Passwort sofort ändern (von root erzwungen)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Sie müssen Ihr Passwort sofort ändern (Passwortablauf)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Warnung: Ihr Passwort läuft in %d Tag ab."
+msgstr[1] "Warnung: Ihr Passwort läuft in %d Tagen ab."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Warnung: Ihr Passwort läuft in %d Tagen ab."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Änderung des NIS-Passworts nicht möglich."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Kein Passwort angegeben."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Passwort nicht geändert."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Sie müssen ein kürzeres Passwort wählen."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Sie müssen ein längeres Passwort auswählen."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Ändern des Passworts für %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Sie können Ihr Passwort noch nicht ändern."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ist das gleiche wie das Alte"
+
+#~ msgid "memory allocation error"
+#~ msgstr "Fehler beim Allozieren von Speicher"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ist ein Palindrome"
+
+#~ msgid "case changes only"
+#~ msgstr "nur Änderungen bei der Gross-/Kleinschreibung"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ist dem alten zu ähnlich"
+
+#~ msgid "is too simple"
+#~ msgstr "ist zu einfach"
+
+#~ msgid "is rotated"
+#~ msgstr "wurde gedreht"
+
+#~ msgid "not enough character classes"
+#~ msgstr "nicht genug unterschiedliche Arten von Zeichen"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "das gleiche Zeichen wurde so oft hintereinander verwendet"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "Der gesetzte Wert beinhaltet zu lange monotone Zeichenfolgen"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "enthält den Benutzernamen in irgendeiner Form"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "Schlechtes Passwort: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Konto temporär gesperrt (noch %ld Sekunden)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Authentifizierungsfehler"
+
+#~ msgid "Service error"
+#~ msgstr "Dienstfehler"
+
+#~ msgid "Unknown user"
+#~ msgstr "Unbekannter Benutzer"
+
+#~ msgid "Unknown error"
+#~ msgstr "Unbekannter Fehler"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Ungültige Nummer für --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Nicht erkannte Option: %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file verwurzelter-Dateiname] [--user Benutzername] [--reset[=n]] "
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: Es können nicht alle Benutzer auf Nicht-null zurückgesetzt werden\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Account Fehler Letzter Versuch Von\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/de_CH.gmo b/po/de_CH.gmo
new file mode 100644
index 0000000..d05b8f5
--- /dev/null
+++ b/po/de_CH.gmo
Binary files differ
diff --git a/po/de_CH.po b/po/de_CH.po
new file mode 100644
index 0000000..fefc851
--- /dev/null
+++ b/po/de_CH.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/"
+"fedora/language/de_CH/)\n"
+"Language: de_CH\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Sie müssen ein kürzeres Passwort wählen."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Sie müssen ein kürzeres Passwort wählen."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Sie müssen ein kürzeres Passwort wählen."
diff --git a/po/el.gmo b/po/el.gmo
new file mode 100644
index 0000000..e25c9cb
--- /dev/null
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..0a49883
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,482 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Greek <trans-el@lists.fedoraproject.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Πρέπει να επιλέξετε μικρότερο κωδικό πρόσβασης."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Πρέπει να επιλέξετε μικρότερο κωδικό πρόσβασης."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Πρέπει να επιλέξετε μικρότερο κωδικό πρόσβασης."
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644
index 0000000..fedb6a0
--- /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 0000000..a9647fc
--- /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/eo.gmo b/po/eo.gmo
new file mode 100644
index 0000000..5552ceb
--- /dev/null
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 0000000..a47e9be
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,481 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Carmen Bianca Bakker <carmen@carmenbianca.eu>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-02-05 00:40+0000\n"
+"Last-Translator: Carmen Bianca Bakker <carmen@carmenbianca.eu>\n"
+"Language-Team: Esperanto <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/eo/>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.4.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Pasvorto: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Aktuala %s pasvorto: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Aktuala pasvorto: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nova %s pasvorto: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nova pasvorto: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Retajpu novan %s pasvorton: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Retajpu novan pasvorton: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Pardonon, la pasvortoj ne kongruas."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Retajpu %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Pasvortoŝanĝo ĉesis."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "saluto:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Sukceso"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritika eraro - tuja ĉeso"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Malsukcesis ŝargi modulon"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Ne trovis simbolon"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Sistema eraro"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permeso rifuzita"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Aŭtentiga malsukceso"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nesufiĉaj salutiloj por atingi aŭtentigajn datumojn"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Nekonata PAM-eraro"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(restas %d minutoj por malŝlosi)"
+msgstr[1] "(restas %d minutoj por malŝlosi)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(restas %d minutoj por malŝlosi)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e-a de %b %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " sur %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Lasta saluto: %s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Bonvenon al via nova konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Lasta malsukcesa saluto: %s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Estis %d malsukcesa salutprovo ekde la lasta sukcesa saluto."
+msgstr[1] "Estis %d malsukcesaj salutprovoj ekde la lasta sukcesa saluto."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Estis %d malsukcesaj salutprovoj ekde la lasta sukcesa saluto."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Estis tro multaj salutoj por '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Vi ne havas poŝton."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Vi havas novan poŝton."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Vi havas malnovan poŝton."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Vi havas poŝton."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Vi havas neniun poŝton en dosierujo %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Vi havas novan poŝton en dosierujo %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Vi havas malnovan poŝton en dosierujo %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Vi havas poŝton en dosierujo %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Kreante dosierujon '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Pasvorto jam uzita. Elektu alian."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Pasvorto jam uzita."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Vi devas elekti pli mallongan pasvorton."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Vi devas elekti pli longan pasvorton."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr ""
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644
index 0000000..78cc54f
--- /dev/null
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..a324589
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,588 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Andrei Garza <adimgar@gmail.com>, 2012
+# chris.rico <chrisrico@linux.com>, 2013
+# chris.rico <chrisrico@linux.com>, 2013
+# Domingo Becker <domingobecker@gmail.com>, 2008
+# Héctor Daniel Cabrera <h.daniel.cabrera@gmail.com>, 2009
+# Manuel Ospina <mospina@redhat.com>, 2007
+# Máximo Castañeda Riloba <mcrcctm@gmail.com>, 2016. #zanata
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+# Álvaro Castillo <sincorchetes@gmail.com>, 2020.
+# Emilio Herrera <ehespinosa57@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-03-14 19:01+0000\n"
+"Last-Translator: Emilio Herrera <ehespinosa57@gmail.com>\n"
+"Language-Team: Spanish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.5.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Contraseña: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Contraseña %s actual: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Contraseña actual: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nueva %s contraseña: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nueva contraseña: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Vuelva a escribir la nueva %s contraseña: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Vuelva a escribir la nueva contraseña: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Las contraseñas no coinciden."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Vuelva a escribir %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Se ha abortado el cambio de contraseña."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "nombre de usuario:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Éxito"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Error crítico: cancelación inmediata"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Error al cargar el módulo"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Símbolo no encontrado"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Error en el módulo de servicios"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Error del sistema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Error de buffer de memoria"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Fallo de autenticación"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credenciales insuficientes para acceder a los datos de autenticación"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"El servicio de autenticación no puede recuperar la información de "
+"autenticación"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Usuario desconocido para el módulo de autenticación subyacente"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Se ha agotado el número máximo de reintentos para el servicio"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "El testigo de autenticación ya no es válido; necesitará uno nuevo"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "La cuenta del usuario ha caducado"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "No es posible crear o eliminar una entrada de la sesión especificada"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"El servicio de autenticación no puede recuperar las credenciales del usuario"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Las credenciales del usuario han caducado"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Error al definir las credenciales del usuario"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "No hay datos específicos del módulo presentes"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Elemento incorrecto enviado a pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Error de conversación"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Error de manipulación del testigo de autenticación"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "No es posible recuperar la información de autenticación"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "El testigo de autenticación parece ocupado"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Antigüedad del testigo de autenticación inhabilitada"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Error de comprobación preliminar del servicio de contraseña"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "El valor devuelto debe ser omitido por el expedidor PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Módulo desconocido"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Testigo de autenticación caducado"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "La conversación está esperando el evento"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "La aplicación debe llamar a libpam de nuevo"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Error desconocido de PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...El tiempo se está agotando...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Lo sentimos, el tiempo se ha agotado.\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversación incorrecta (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s fallido: código de salida %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s fallido: señal capturada %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s fallido: estado desconocido 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Usage: %s [--dir /ruta/al/directorio-de-conteo] [--user nombre-de-usuario] "
+"[--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "La cuenta está bloqueada debido a %u inicios de sesión fallidos."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minutos restantes para el desbloqueo)"
+msgstr[1] "(%d minutos restantes para el desbloqueo)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minutos restantes para el desbloqueo)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " en %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Último inicio de sesión:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "¡Bienvenido a su nueva cuenta!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Último inicio de sesión fallido:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Hubo %d intento de logueo fallido desde el último logueo exitosoo."
+msgstr[1] ""
+"Hubo %d intentos de logueo fallidos desde el último logueo exitoso. "
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Hubo %d intentos de logueo fallidos desde el último logueo exitoso. "
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Hay demasiados inicios de sesión para \"%s\"."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Tiene correo nuevo."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Tiene correo nuevo."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Tiene correo antiguo."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Tiene correo."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "No tiene correo en la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Tiene correo nuevo en la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Tiene correo antiguo en la carpeta %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Tiene correo en la carpeta %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Creando directorio '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "No se pudo crear e inicializar el directorio '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "La contraseña ya se ha utilizado. Seleccione otra."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "La contraseña ya se ha utilizado. Seleccione otra."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Contexto de Seguridad Predeterminado %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "¿Desea introducir un nivel o función diferente?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "función:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "No hay tipo por defecto para la función %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivel:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "No es un contexto de seguridad válido"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contexto de seguridad %s asignado"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Contexto de Creación Clave %s Asignado"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "error al iniciar PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "error en pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "inicio de sesión: error en horquilla: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Acceso permitido (el último acceso fué hace %ld segundos)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"La cuenta ha caducado, póngase en contacto con el administrador del sistema"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Debe cambiar la contraseña inmediatamente (obligado por el administrador)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Debe cambiar la contraseña inmediatamente (la contraseña ha caducado)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Advertencia: la contraseña caducará dentro de %d día"
+msgstr[1] "Advertencia: la contraseña caducará dentro de %d días"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Advertencia: la contraseña caducará dentro de %d días"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "No es posible cambiar la contraseña NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "No se ha proporcionado ninguna contraseña"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "No es posible cambiar la contraseña NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Debes elegir una contraseña más corta."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Debe elegir una contraseña más larga"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Cambiando la contraseña de %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Debe esperar más tiempo para cambiar la contraseña"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "es igual que la antigua"
+
+#~ msgid "memory allocation error"
+#~ msgstr "error de asignación de memoria"
+
+#~ msgid "is a palindrome"
+#~ msgstr "es un palíndromo"
+
+#~ msgid "case changes only"
+#~ msgstr "sólo hay cambios de minúsculas y mayúsculas"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "es demasiado similar a la antigua"
+
+#~ msgid "is too simple"
+#~ msgstr "es demasiado sencilla"
+
+#~ msgid "is rotated"
+#~ msgstr "es igual pero al revés"
+
+#~ msgid "not enough character classes"
+#~ msgstr "no hay suficientes clases de caracteres"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "contiene demasiados carateres iguales consecutivos"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "contiene demasiados carateres iguales consecutivos"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "de alguna manera contiene el nombre del usuario"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "CONTRASEÑA INCORRECTA: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "La cuenta está temporalmente bloqueada (%ld segundos restantes)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Error de autenticación"
+
+#~ msgid "Service error"
+#~ msgstr "Error de servicio"
+
+#~ msgid "Unknown user"
+#~ msgstr "Usuario desconocido"
+
+#~ msgid "Unknown error"
+#~ msgstr "Error desconocido"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Número incorrecto proporcionado a --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Opción no reconocida %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file nombre de archivo-raíz] [--user nombre de usuario] [--"
+#~ "reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: No es posible restaurar a todos los usuarios a un número distinto de "
+#~ "cero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Fallo de Ingresos Ultimo fallo desde\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f nombre-arch-completo] [--file nombre-arch-completo]\n"
+#~ " [-u nombre-de-usuario] [--user nombre-de-usuario]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/et.gmo b/po/et.gmo
new file mode 100644
index 0000000..3b8de9a
--- /dev/null
+++ b/po/et.gmo
Binary files differ
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 0000000..c189a37
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,517 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# <turakas@gmail.com>, 2012.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-12-02 06:25-0500\n"
+"Last-Translator: mihkel <turakas@gmail.com>\n"
+"Language-Team: Estonian (http://www.transifex.com/projects/p/fedora/language/"
+"et/)\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Parool: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Uus %s parool: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Uus parool: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Uus %s parool: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Uus parool: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Kinnita uus %s parool: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Kinnita uus parool: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Kahjuks paroolid ei klapi."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Paroolivahetus katkestatud."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Edukas"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Mooduli laadimine nurjus"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Sümbolit ei leitud"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Süsteemi viga"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Juurepääs keelatud"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autentimine nurjus"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Kasutajakonto on aegunud"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Tundmatu moodul"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Tundmatu PAM-i viga"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Aeg hakkab otsa saama...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Kahjuks on su aeg otsas!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "vigane vestlus (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Sul ei ole posti kaustas %s."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Sul ei ole posti kaustas %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Sul on uus post kaustas %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Sul on vanu poste kaustas %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Sul on poste kaustas %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "loon kataloogi '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Parooli on juba kasutatud. Vali uus parool."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "Parooli on juba kasutatud. Vali uus parool."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "roll:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "tase:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Su konto on aegunud; palun kontakteeru oma süsteemiadministraatoriga."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Hoiatus: su parool aegub %d päeva pärast"
+msgstr[1] "Hoiatus: su parool aegub %d päeva pärast"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Hoiatus: su parool aegub %d päeva pärast"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Parooli on juba kasutatud. Vali uus parool."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "Parooli on juba kasutatud. Vali uus parool."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Peate valima lühema parooli."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Sa pead valima pikema parooli"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Sa pead valima pikema parooli"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "on sama kui vana"
+
+#~ msgid "is a palindrome"
+#~ msgstr "on palindroom"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "on liiga sarnane vanale"
+
+#~ msgid "is too simple"
+#~ msgstr "on liiga lihtne"
+
+#~ msgid "is rotated"
+#~ msgstr "on roteeruv"
+
+#~ msgid "Authentication error"
+#~ msgstr "Autentimise viga"
+
+#~ msgid "Service error"
+#~ msgstr "Teenuse viga"
+
+#~ msgid "Unknown user"
+#~ msgstr "Tundmatu kasutaja"
+
+#~ msgid "Unknown error"
+#~ msgstr "Tundmatu viga"
diff --git a/po/eu.gmo b/po/eu.gmo
new file mode 100644
index 0000000..97527f7
--- /dev/null
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..e21dbd4
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,488 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-12-24 08:54-0500\n"
+"Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>\n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/fedora/language/"
+"eu/)\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Pasahitza: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "%s Pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "%s Pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "%s Pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Idatzi berriz %s pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Idatzi berriz pasahitz berria: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Idatzi berriz %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Sistemaren errorea"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "maila:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Pasahitz laburragoa aukeratu behar duzu."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Pasahitz laburragoa aukeratu behar duzu."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Pasahitz laburragoa aukeratu behar duzu."
+
+#~ msgid "Unknown error"
+#~ msgstr "Errore ezezaguna"
diff --git a/po/fa.gmo b/po/fa.gmo
new file mode 100644
index 0000000..476cb27
--- /dev/null
+++ b/po/fa.gmo
Binary files differ
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..4125be7
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Persian (http://www.transifex.com/projects/p/fedora/language/"
+"fa/)\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "شما باید رمز عبور کوتاهتری انتخاب کنید."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "شما باید رمز عبور کوتاهتری انتخاب کنید."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "شما باید رمز عبور کوتاهتری انتخاب کنید."
diff --git a/po/fi.gmo b/po/fi.gmo
new file mode 100644
index 0000000..d04368f
--- /dev/null
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..315bb09
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,575 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ilkka Pirskanen <ilkka.pirskanen@kolumbus.fi>, 2005
+# Janne Ahlskog <j.ahlskog@multi.fi>, 2006
+# Juhani Numminen <juhaninumminen0@gmail.com>, 2013
+# Jyri Palokangas <jmp@netti.fi>, 2006
+# Ville-Pekka Vainio <vpvainio@iki.fi>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Jiri Grönroos <jiri.gronroos@iki.fi>, 2020.
+# Jan Kuparinen <copper_fin@hotmail.com>, 2021.
+# Ricky Tigg <ricky.tigg@gmail.com>, 2021.
+# Dmitry V. Levin <ldv@altlinux.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Finnish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/fi/>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Salasana: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Nykyinen %s salasana: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Nykyinen salasana: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Uusi %s salasana: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Uusi salasana: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Anna uudelleen uusi %s salasana: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Kirjoita uudelleen uusi salasana: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Salasanat eivät täsmää."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Kirjoita uudelleen %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Salasanan vaihtaminen keskeytettiin."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "sisäänkirjautuminen:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Onnistui"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kriittinen virhe - välitön keskeytys"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Moduulin lataus epäonnistui"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbolia ei löydetty"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Virhe palvelumoduulissa"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Järjestelmävirhe"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Muistipuskurivirhe"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Ei käyttöoikeutta"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Tunnistautumisvirhe"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Riittämätön valtuustieto tunnistautumistietojen saamiseksi"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Tunnistautumispalvelu ei pääse tunnistautumistietoihin"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Käyttäjä tuntematon taustajärjestelmän tunnistautumismoduulille"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Kaikki palvelun uudelleenyritykset käytetty"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Tunnistautumislipuke ei ole enää kelvollinen, tarvitaan uusi"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Käyttäjätili on vanhentunut"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Valitun istunnon merkintää ei voida tehdä/poistaa"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Tunnistautumispalvelu ei pääse käyttäjän valtuustietoihin"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Käyttäjän valtuustiedot vanhentuneet"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Käyttäjän valtuustiedon antaminen ei onnistunut"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Moduuli riippuvaista tietoa ei ole läsnä"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Väärä tieto välitettiin pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Keskusteluvirhe"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Tunnistautumislipukkeen käsittelyvirhe"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Tunnistautumistietoja ei voida palauttaa"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Tunnistautumislipukkeen lukko varattu"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Tunnistautumislipukkeen vanhentuminen otettu pois käytöstä"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Salasanapalvelun alustava tarkistus ei onnistunut"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM-välittäjän tulisi hylätä paluuarvo"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Tuntematon moduuli"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Tunnistautumislipuke vanhentunut"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Keskustelussa odotetaan tapahtumaa"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Sovelluksen tarvitsee kutsua uudelleen libpam:ia"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Tuntematon PAM-virhe"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Aika on loppumassa...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Aikasi on loppunut!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "virheellinen keskustelu (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s epäonnistui: loppukoodi %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s epäonnistui: otettiin kiinni signaali %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s epäonnistui: tuntematon tila 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Käyttö:%s: [--dir /polku/missä/tally-hakemisto] [--user käyttäjätunnus] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Käyttäjätili on lukittu %u epäonnistuneen kirjautumisen vuoksi."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minuutti jäljellä avaamiseen)"
+msgstr[1] "(%d minuuttia jäljellä avaamiseen)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minuuttia jäljellä avaamiseen)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " koneelta %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " päätteellä %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Viimeinen kirjautuminen:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Tervetuloa uudella käyttäjätilillä!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Viimeinen epäonnistunut kirjautuminen:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Edellisen onnistuneen kirjautumisen jälkeen kirjautuminen on epäonnistunut "
+"%d kerran."
+msgstr[1] ""
+"Edellisen onnistuneen kirjautumisen jälkeen kirjautuminen on epäonnistunut "
+"%d kertaa."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Edellisen onnistuneen kirjautumisen jälkeen kirjautuminen on epäonnistunut "
+"%d kertaa."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Liian monta kirjautumista käyttäjälle '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Sinulle ei ole postia."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Sinulle on uutta postia."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Sinulla on vanha posti."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Sinulle on postia."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Sinulla ei ole postia kansiossa %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Sinulla on postia kansiossa %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Sinulla on vanhaa postia kansiossa %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Sinulla on postia kansiossa %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Luodaan hakemisto ”%s”."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Hakemistoa ”%s” ei voida luoda eikä alustaa."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Salasana on jo käytetty. Valitse toinen."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Salasana on jo käytetty."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Oletustietoturvaympäristö on %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Haluatko syöttää eri roolin tai tason?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rooli:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Roolilla %s ei ole oletustyyppiä."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "taso:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Ei kelvollinen tietoturvaympäristö."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Kelvollista sisältöä %s:lle ei pystytty saamaan."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Tietoturvaympäristö %s asetettiin."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Avaimenluontiympäristö %s asetettiin."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM:in valmistelu epäonnistui\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() kutsu epäonnistui\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "sisäänkirjautuminen: virhe haarautumisessa: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Pääsy sallittu (edellinen kirjautuminen %ld sekuntia sitten)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Käyttäjätilisi on vanhentunut; ota yhteyttä järjestelmän ylläpitäjään."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Salasanasi täytyy vaihtaa heti (pääkäyttäjän vaatimus)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Salasanasi täytyy vaihtaa heti (salasana vanhentunut)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Varoitus: salasanasi vanhentuu %d päivän kuluttua."
+msgstr[1] "Varoitus: salasanasi vanhentuu %d päivän kuluttua."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Varoitus: salasanasi vanhentuu %d päivän kuluttua."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-salasanaa ei voitu vaihtaa."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Et antanut salasanaa."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Salasanaa ei vaihdettu."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Sinun on valittava lyhyempi salasana."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Sinun tulee valita pidempi salasana."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Vaihdetaan käyttäjän %s salasana."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Sinun täytyy odottaa kauemmin vaihtaaksesi salasanasi."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "on sama kuin vanha"
+
+#~ msgid "memory allocation error"
+#~ msgstr "muistinvarausvirhe"
+
+#~ msgid "is a palindrome"
+#~ msgstr "on palindromi"
+
+#~ msgid "case changes only"
+#~ msgstr "vain kirjainkoko muutos"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "on liian samankaltainen vanhan kanssa"
+
+#~ msgid "is too simple"
+#~ msgstr "on liian yksinkertainen"
+
+#~ msgid "is rotated"
+#~ msgstr "on kierrätetty"
+
+#~ msgid "not enough character classes"
+#~ msgstr "liian vähän merkkiluokkia"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "sisältää liian monta samaa merkkiä peräkkäin"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "sisältää liian pitkän yksitoikkoisen merkkijonon"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "sisältää käyttäjätunnuksen jossakin muodossa"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "HUONO SALASANA: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Käyttäjätili on lukittu tilapäisesti (%ld sekuntia jäljellä)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Tunnistautumisvirhe"
+
+#~ msgid "Service error"
+#~ msgstr "Palveluvirhe"
+
+#~ msgid "Unknown user"
+#~ msgstr "Tuntematon käyttäjä"
+
+#~ msgid "Unknown error"
+#~ msgstr "Tuntematon virhe"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Väärä numero annettu valinnalle --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Tunnistamaton valinta %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file juurrutettu-tiedostonimi] [--user käyttäjätunnus] [--"
+#~ "reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Ei voida palauttaa kaikkia käyttäjiä ei-nolliksi\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Tunnus Epäonnistuneita Viimeisin Koneelta\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f juurrutettu-tiedostonimi] [--file juurrutettu-tiedostonimi]\n"
+#~ " [-u käyttäjätunnus] [--user käyttäjätunnus]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 0000000..38e112b
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..bb105af
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,590 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# mrtomlinux <thomas.canniot@mrtomlinux.org>, 2008
+# Charles-Antoine Couret <cacouret@wanadoo.fr>, 2009
+# Jérôme Fenal <jfenal@gmail.com>, 2013
+# Kévin Raymond <shaiton@fedoraproject.org>, 2012
+# myriam malga <mmalga@redhat.com>, 2007
+# Martin-Gomez Pablo <pablomg+transifex@eskapa.be>, 2008
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Julien Humbert <julroy67@gmail.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+# Jérôme Fenal <jfenal@free.fr>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-08-18 09:04+0000\n"
+"Last-Translator: Jérôme Fenal <jfenal@free.fr>\n"
+"Language-Team: French <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/fr/>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Mot de passe : "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Mot de passe %s actuel : "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Mot de passe actuel : "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nouveau %s mot de passe : "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nouveau mot de passe : "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Retapez le nouveau %s mot de passe : "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Retapez le nouveau mot de passe : "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Les mots de passe ne correspondent pas."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Retapez %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Le changement de mot de passe a été annulé."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login :"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Succès"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Erreur critique - abandon immédiat"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Échec de chargement du module"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbole non trouvé"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Erreur dans le module de service"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Erreur système"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Erreur du tampon mémoire"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Autorisation refusée"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Échec de l’authentification"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"Informations d’identification insuffisantes pour accéder aux données "
+"d’authentification"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Le service d’authentification n’a pas pu récupérer les informations "
+"d’authentification"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Utilisateur inconnu par le module d’authentification sous-jacent"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Nombre maximum de tentatives épuisées pour le service"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+"Le jeton d’authentification n’est plus valide ; un nouveau jeton est requis"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Le compte de l’utilisateur a expiré"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Impossible de créer/supprimer une entrée pour la session spécifiée"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Le service d’authentification n’a pas pu récupérer les informations "
+"d’identification de l’utilisateur"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Informations d’identification de l’utilisateur expirées"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+"Échec lors de la définition des informations d’identification de "
+"l’utilisateur"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Aucune donnée spécifique au module présente"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Élément incorrect transmis à pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Erreur de conversation"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Erreur de manipulation du jeton d’authentification"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Impossible de récupérer les informations d’authentification"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Jeton d’authentification occupé"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Péremption du jeton d’authentification désactivée"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Échec du contrôle préliminaire par le service de mot de passe"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "La valeur retournée devrait être ignorée par la répartition PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Module inconnu"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Le jeton d’authentification a expiré"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversation en attente d’évènement"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "L’application doit à nouveau appeler libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Erreur PAM inconnue"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Temps bientôt écoulé...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Votre temps est épuisé !\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversation erronnée (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s échec : code de sortie %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s échec : signal capté %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s échec : statut 0x inconnu%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Utilisation : %s [--dir /chemin/vers/dossier-tally] [--user nom "
+"d’utilisateur] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Le compte est temporairement verrouillé dû aux %u connexions échouées."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minute restante pour déverrouiller)"
+msgstr[1] "(%d minutes restantes pour déverrouiller)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minutes restantes pour déverrouiller)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %A %e %B %Y à %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " sur %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Dernière connexion :%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Bienvenue sur votre nouveau compte !"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Dernière connexion échoué : %s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Il y a %d tentative échouée de connexion depuis la dernière connexion "
+"réussie."
+msgstr[1] ""
+"Il y a %d tentatives échouées de connexion depuis la dernière connexion "
+"réussie."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Il y a eu %d tentatives de connexion échouées depuis la dernière connexion "
+"réussie."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Trop de connexions pour « %s »."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Vous n’avez pas de message."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Vous avez un nouveau message."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Vous avez un ancien message."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Vous avez des messages."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Vous n’avez aucun message dans le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Vous avez un nouveau message dans le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Vous avez un ancien message dans le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Vous avez des messages dans le dossier %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Création du répertoire « %s »."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Impossible de créer et d’initialiser le répertoire « %s »."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Mot de passe déjà utilisé. Choisissez-en un autre."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Mot de passe déjà utilisé."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Le contexte de sécurité par défaut est %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Voulez-vous entrer un niveau ou un rôle différent ?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rôle :"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Il n’y a aucun type par défaut pour le rôle %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "niveau :"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Ceci n’est pas un contexte de sécurité valide."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Impossible d’obtenir un contexte valide pour %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Le contexte de sécurité %s a été attribué."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Le contexte de création de clés %s a été attribué."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "échec de l’initialisation de PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "échec de pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login : échec du clonage : %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "L’accès a été accordé (dernier accès il y a %ld secondes)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Votre compte a expiré ; veuillez contacter votre administrateur système."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Vous devez changer votre mot de passe immédiatement (imposé par "
+"l’administrateur)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"Vous devez changer votre mot de passe immédiatement (mot de passe expiré)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Attention : votre mot de passe expirera dans %d jour."
+msgstr[1] "Attention : votre mot de passe expirera dans %d jours."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Attention : votre mot de passe expirera dans %d jours."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Le mot de passe NIS n’a pas pu être changé."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Aucun mot de passe n’a été fourni."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Le mot de passe n’a pas été modifié."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Vous devez choisir un mot de passe plus court."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Vous devez choisir un mot de passe plus long."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Changement du mot de passe pour %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr ""
+"Vous devez attendre plus longtemps afin de pouvoir changer votre mot de "
+"passe."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "est identique à l’ancien"
+
+#~ msgid "memory allocation error"
+#~ msgstr "erreur d’allocation de mémoire"
+
+#~ msgid "is a palindrome"
+#~ msgstr "est un palindrome"
+
+#~ msgid "case changes only"
+#~ msgstr "changement de casse uniquement"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ressemble trop à l’ancien"
+
+#~ msgid "is too simple"
+#~ msgstr "est trop simple"
+
+#~ msgid "is rotated"
+#~ msgstr "est inversé"
+
+#~ msgid "not enough character classes"
+#~ msgstr "les caractères utilisés ne sont pas suffisamment variés"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "contient trop de caractères consécutifs identiques"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "contient trop de caractères consécutifs identiques"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "contient le nom d’utilisateur d’une certaine manière"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "MOT DE PASSE INCORRECT : %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Le compte est temporairement verrouillé (%ld secondes restantes)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Erreur d’authentification"
+
+#~ msgid "Service error"
+#~ msgstr "Erreur de service"
+
+#~ msgid "Unknown user"
+#~ msgstr "Utilisateur inconnu"
+
+#~ msgid "Unknown error"
+#~ msgstr "Erreur inconnue"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s : Numéro incorrect attribué à --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s : Option non reconnue %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s : [--file chemin du fichier] [--user nom d’utilisateur] [--reset[=n]] "
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s : Impossible de réinitialiser tous les utilisateurs à non-zéro\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Connexion Échecs Dernier échec De\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s : [-f chemin du fichier] [--file chemin du fichier]\n"
+#~ " [-u nom d’utilisateur] [--user nom d’utilisateur]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ga.gmo b/po/ga.gmo
new file mode 100644
index 0000000..3692491
--- /dev/null
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
new file mode 100644
index 0000000..c4bc363
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,603 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# leftmostcat <leftmostcat@gmail.com>, 2012
+# leftmostcat <leftmostcat@gmail.com>, 2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-09-10 02:14-0400\n"
+"Last-Translator: leftmostcat <leftmostcat@gmail.com>\n"
+"Language-Team: Irish (http://www.transifex.com/projects/p/fedora/language/"
+"ga/)\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
+"4);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Focal faire: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Focal faire %s nua: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Focal faire nua: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Focal faire %s nua: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Focal faire nua: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Iontráil focal faire %s nua arís: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Iontráil focal faire nua arís: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Tá brón orm, ní ionann na focail fhaire."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Iontráil %s arís"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Tobscoireadh athrú focail faire."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "logáil isteach:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "D'éirigh leis"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Earráid chriticiúil - tobscor láithreach"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Theip ar luchtú modúil"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Siombail gan aimsiú"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Earráid i modúl seirbhíse"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Earráid chórais"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Earráid mhaolán cuimhne"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Diúltaíodh cead"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Teip fíordheimhnithe"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Níl cead agat sonraí fhíordheimhnithe a rochtain"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Ní féidir leis an tseirbhís fhíordheimhnithe faisnéis fhíordheimhnithe a "
+"fháil"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Níl aithne ar an úsáideoir ag an modúl fíordheimhnithe bunúsach"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Líon uasta na hatrialacha don tseirbhís ídithe"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+"Níl an ceadchomhartha fíordheimhnithe bailí a thuilleadh; ceann nua de dhíth"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Chuaigh an cuntas úsáideora as feidhm"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Ní féidir iontráil don tseirbhís sonraithe a dhéanamh/bhaint"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Ní féidir leis an tseirbhís fhíordheimhnithe dintiúir úsáideora a fháil"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Chuaigh dintiúir úsáideora as feidhm"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Theip ar shocrú dintiúir úsáideora"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Níl aon sonraí shainiúil don mhodúl ann"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Tugadh drochmhír do pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Earráid chomhrá"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Earráid ionramháil an cheadchomhartha fíordheimhnithe"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Ní féidir faisnéis fhíordheimhnithe a fháil ar ais"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Tá glas an cheadchomhartha fíordheimhnithe gnóthach"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Díchumasaíodh dul in aois cheadchomharthaí fíordheimhnithe"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Theip ar réamhsheiceáil ag an tseirbhís fhocail faire"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Ba chóir don seoladh PAM neamhaird a dhéanamh ar an luach fillte"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Tá an modúl anaithnid"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Chuaigh an ceadchomhartha fíordheimhnithe as feidhm"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Tá an comhrá ag fanacht le teagmhas"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Ní mór don fheidhmchlár libpam a ghlaoch arís"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Earráid PAM anaithnid"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Tá am ag imeacht...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Tá brón orm, tá do chuid ama imithe!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "comhrá earráideach (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "Theip %s: cód scortha %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "Theip %s: fuarthas comhartha %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "Theip %s: stádas anaithnid 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file ainm-comhad-le-fréamh] [--user úsáideoir] [--reset[=u]]\n"
+"[--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Cuireadh an cuntas faoi ghlas mar gheall ar %u logáil isteach teipthe"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e %b %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " ó %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " ar %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Logáil isteach is déanaí:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Fáilte go dtí do chuntas nua!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Logáil isteach teipthe is déanaí:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Bhí %d iarracht logála isteach teipthe ann ón logáil isteach is déanaí a\n"
+"d'éirigh leis."
+msgstr[1] ""
+"Bhí %d iarracht logála isteach teipthe ann ón logáil isteach is déanaí a\n"
+"d'éirigh leis."
+msgstr[2] ""
+"Bhí %d iarracht logála isteach teipthe ann ón logáil isteach is déanaí a\n"
+"d'éirigh leis."
+msgstr[3] ""
+"Bhí %d n-iarracht logála isteach teipthe ann ón logáil isteach is déanaí\n"
+"a d'éirigh leis."
+msgstr[4] ""
+"Bhí %d iarracht logála isteach teipthe ann ón logáil isteach is déanaí a\n"
+"d'éirigh leis."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Bhí %d iarracht logála isteach teipthe ann ón logáil isteach is déanaí a\n"
+"d'éirigh leis."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "An iomarca logálacha isteach do '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Tá post nua agat."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Tá post nua agat."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Tá seanphost agat."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Tá post agat."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Níl aon phost agat i bhfillteán %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Tá post nua agat i bhfillteán %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Tá seanphost agat i bhfillteán %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Tá post agat i bhfillteán %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Comhadlann '%s' á cruthú."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Ní féidir comhadlann '%s' a chruthú agus a thúsú."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Úsáidtear an focal faire cheana. Roghnaigh ceann eile."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Úsáidtear an focal faire cheana."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Comhthéacs Réamhshocraithe Slándála %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "An bhfuil fonn ort ról nó leibhéal difriúil a iontráil?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ról:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Níl aon chineál réamhshocraithe ann do ról %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "leibhéal:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Ní comhthéacs bailí slándála é"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Sannadh Comhthéacs Slándála %s"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Sannadh Comhthéacs Chruthú Eochracha %s"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "theip ar thúsú PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "theip ar pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "logáil isteach: theip ar dhéanamh foirc: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Bronnadh rochtain (bhí an rochtain is déanaí %ld soicind ó shin)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Chuaigh do chuntas as feidhm; déan téagmháil le do riarthóir córais, le do "
+"thoil"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Ní mór duit d'fhocal faire a athrú láithreach (forfheidhmítear fréamh)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"Ní mór duit d'fhocal faire a athrú láithreach (chuaigh focal faire in aos)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+msgstr[1] "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+msgstr[2] "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+msgstr[3] "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+msgstr[4] "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Rabhadh: rachaidh d'fhocal faire as feidhm i gceann %d lá"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Níorbh fhéidir focal faire NIS a athrú."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Níor soláthraíodh aon fhocal faire"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "Níorbh fhéidir focal faire NIS a athrú."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Ní mór duit pasfhocal níos giorra a roghnú."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Caithfidh tú focal faire níos faide a roghnú"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Focal faire %s á athrú."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Caithfidh tú fanacht níos faide chun d'fhocal faire a athrú"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "tá sé díreach cosúil leis an seancheann"
+
+#~ msgid "memory allocation error"
+#~ msgstr "earráid dála chuimhne"
+
+#~ msgid "is a palindrome"
+#~ msgstr "is palandróm é"
+
+#~ msgid "case changes only"
+#~ msgstr "athruithe cáis amháin"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "tá sé ró-chosúil leis an seancheann"
+
+#~ msgid "is too simple"
+#~ msgstr "tá sé ró-shimplí"
+
+#~ msgid "is rotated"
+#~ msgstr "tá sé rothlaithe"
+
+#~ msgid "not enough character classes"
+#~ msgstr "níl go leor aicmí carachtar ann"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "tá an iomarca carachtar céanna ann go leantach"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "tá seicheamh carachtar aontonach ró-fhada ann"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "tá an t-ainm úsáideora ann i bhfoirm éigin"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "DROCHFHOCAL FAIRE: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Cuireadh an cuntas faoi ghlas go sealadach (%ld soicind fágtha)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Earráid fhíordheimhnithe"
+
+#~ msgid "Service error"
+#~ msgstr "Earráid seirbhíse"
+
+#~ msgid "Unknown user"
+#~ msgstr "Úsáideoir anaithnid"
+
+#~ msgid "Unknown error"
+#~ msgstr "Earráid anaithnid"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Tugadh drochuimhir do --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Rogha anaithnid %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file ainm-comhad-le-fréamh] [--user úsáideoir] [--reset[=u]]\n"
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Ní féidir gach úsáideoir a athrú go neamhnialasach\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Logáil isteach Teipeanna Teip is déanaí Ó\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f ainm-comhad-le-fréamh] [--file ainm-comhad-le-fréamh]\n"
+#~ " [-u úsáideoir] [--user úsáideoir]\n"
+#~ " [-r] [--reset[=u]] [--quiet]\n"
diff --git a/po/gl.gmo b/po/gl.gmo
new file mode 100644
index 0000000..64dad0e
--- /dev/null
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
new file mode 100644
index 0000000..66b6260
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/fedora/language/"
+"gl/)\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Debes escoller un contrasinal máis curto."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Debes escoller un contrasinal máis curto."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Debes escoller un contrasinal máis curto."
diff --git a/po/gu.gmo b/po/gu.gmo
new file mode 100644
index 0000000..97a493f
--- /dev/null
+++ b/po/gu.gmo
Binary files differ
diff --git a/po/gu.po b/po/gu.po
new file mode 100644
index 0000000..b7480c0
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,573 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ankit Patel <ankit@redhat.com>, 2007-2008
+# sweta <swkothar@redhat.com>, 2009-2010
+# sweta <swkothar@redhat.com>, 2013
+# sweta <swkothar@redhat.com>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-14 08:16-0400\n"
+"Last-Translator: sweta <swkothar@redhat.com>\n"
+"Language-Team: Gujarati <trans-gu@lists.fedoraproject.org>\n"
+"Language: gu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "પાસવર્ડ: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "નવો %s પાસવર્ડ: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "નવો પાસવર્ડ: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "નવો %s પાસવર્ડ: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "નવો પાસવર્ડ: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "નવો %s પાસવર્ડ ફરી લખો: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "નવો પાસવર્ડ ફરી લખો: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "માફ કરજો, પાસવર્ડો બંધબેસતા નથી."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s ને પુન:ટાઇપ કરો"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "પાસવર્ડ બદલાવનો અંત આવેલ છે."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "પ્રવેશ:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "સફળતા"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "જટિલ ભૂલ - તુરંત બંધ કરો"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "મોડ્યુલ લાવવામાં નિષ્ફળ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "સંજ્ઞા મળી નહિં"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "સેવા મોડ્યુલમાં ભૂલ"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "સિસ્ટમ ભૂલ"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "મેમરી બફર ભૂલ"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "પરવાનગી નામંજૂર"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "સત્તાધિકરણ નિષ્ફળતા"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "સત્તાધિકરણ માહિતી વાપરવા માટે અપૂરતી પરવાનગીઓ"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "સત્તાધિકરણ સેવા સત્તાધિકરણ જાણકારી મેળવી શકે નહિં"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "સત્તાધિકરણ મોડ્યુલથી વપરાશકર્તા અજ્ઞાત છે"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "સેવા માટે મહત્તમ પ્રયાસો કર્યા"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "સત્તાધિકરણ ટોકન લાંબા સમય સુધી માન્ય નથી; એક નવું જરૂરી છે"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "વપરાશકર્તા ખાતું નિવૃત્ત થયું"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "સ્પષ્ટ થયેલ સત્ર માટે પ્રવેશ બનાવી શકતા નથી/દૂર કરી શકતા નથી"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "સત્તાધિકરણ સેવા વપરાશકર્તા પરવાનગીઓ પ્રાપ્ત કરી શકતી નથી"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "વપરાશકર્તા પરવાનગીઓ નિવૃત્ત થઈ"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "વપરાશકર્તા પરવાનગીઓ સુયોજિત કરવામાં નિષ્ફળતા"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "કોઈ મોડ્યુલ લગતી માહિતી હાજર નથી"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() ને ખરાબ વસ્તુ પસાર થઈ"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "વાર્તાલાપ ભૂલ"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "સત્તાધિકરણ ટોકન મેનીપ્યુલેશન ભૂલ"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "સત્તાધિકરણ જાણકારી પુનઃપ્રાપ્ત કરી શકાશે નહિં"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "સત્તાધિકરણ ટોકન તાળું વ્યસ્ત"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "સત્તાધિકરણ ટોકન વયમર્યાદા નિષ્ક્રિય કરાયેલ"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "પાસવર્ડ સેવા મારફતે પ્રાથમિક ચકાસણી નિષ્ફળ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "પાછી મળતી કિંમત PAM ડિસ્પેચ દ્વારા અવગણવામાં આવવી જોઈએ"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "મોડ્યુલ અજ્ઞાત છે"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "સત્તાધિકરણ ટોકન નિવૃત્ત થયું"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "વાર્તાલાપ ઘટના માટે રાહ જોઈ રહ્યો છે"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "કાર્યક્રમને libpam ફરીથી બોલાવવાની જરૂર છે"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "અજ્ઞાત PAM ભૂલ"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...સમય ચાલ્યો જઈ રહ્યો છે...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...માફ કરજો, તમારો સમય સમાપ્ત થયો!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ક્ષતિયુક્ત વાર્તાલાપ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s નિષ્ફળ: બહાર નીકળ્યાનો કોડ %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s નિષ્ફળ: મળેલ સંકેત %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s નિષ્ફળ: અજ્ઞાત પરિસ્થિતિ 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u પ્રવેશો ને નિષ્ફળ કરે છે તે દરમ્યાન ખાતાને તાળુ મારેલ છે"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s તરફથી"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s પર"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "છેલ્લો પ્રવેશ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "તમારા નવા ખાતામાં તમારું સ્વાગત છે!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "છેલ્લો નિષ્ફળ થયેલ પ્રવેશ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "છેલ્લે સફળ પ્રવેશ સુધી પ્રવેશનો પ્રયત્ન કરવામાં %d નિષ્ફળ થયેલ હતુ."
+msgstr[1] "છેલ્લે સફળ પ્રવેશ સુધી પ્રવેશનો પ્રયત્નો કરવામાં %d નિષ્ફળ થયેલ હતુ."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "છેલ્લે સફળ પ્રવેશ સુધી પ્રવેશનાં પ્રયત્નો કરવામાં %d નિષ્ફળ થયેલ હતુ."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' માટે ઘણા બધા પ્રવેશો."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "તમારી પાસે નવો મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "તમારી પાસે નવો મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "તમારી પાસે જૂનો મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "તમારી પાસે મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "તમારી પાસે ફોલ્ડર %s માં કોઈ મેઈલ નથી."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "તમારી પાસે ફોલ્ડર %s માં નવો મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "તમારી પાસે ફોલ્ડર %s માં જૂનો મેઈલ છે."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "તમારી પાસે ફોલ્ડર %s માં મેઈલ છે."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "ડિરેક્ટરી '%s' બનાવી રહ્યા છીએ."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ડિરેક્ટરી '%s' ને શરૂ કરવામાં અને બનાવવામાં અસમર્થ."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "પાસવર્ડ પહેલાથી જ વપરાઈ ગયેલ છે. બીજો પસંદ કરો."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "પાસવર્ડને વાપરી દેવામાં આવ્યો છે."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "મૂળભૂત સુરક્ષા સંદર્ભ %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "શું તમે અલગ ભૂમિકા કે સ્તર દાખલ કરવા ઈચ્છો છો?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ભૂમિકા:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "ભૂમિકા %s માટે કોઈ મૂળભૂત પ્રકાર નથી\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "સ્તર:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "માન્ય સુરક્ષા સંદર્ભ નથી"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "સુરક્ષા સંદર્ભ %s સોંપાયેલ"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "કી બનાવટ સંદર્ભ %s સોંપાયેલ"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM નો આરંભ કરવામાં નિષ્ફળ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() કરવામાં નિષ્ફળ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "પ્રવેશ: ફોર્કમાં નિષ્ફળ: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "પ્રવેશની મંજૂરી આપેલ છે (છેલ્લો પ્રવેશ એ %ld સેકંડો પહેલા હતો)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "તમારું ખાતું નિવૃત્ત થઈ ગયું છે; મહેરબાની કરીને તમારા સિસ્ટમ સંચાલકનો સંપર્ક કરો"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "તમારે તમારો પાસવર્ડ તુરંત જ બદલવાની જરૂર છે (root દબાણ કરેલ)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "તમારે તમારો પાસવર્ડ તુરંત જ બદલવાની જરૂર છે (પાસવર્ડ વયમર્યાદિત કરાયેલ)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "ચેતવણી: તમારો પાસવર્ડ %d દિવસમાં નિવૃત્ત થઈ જશે"
+msgstr[1] "ચેતવણી: તમારો પાસવર્ડ %d દિવસોમાં નિવૃત્ત થઈ જશે"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "ચેતવણી: તમારો પાસવર્ડ %d દિવસોમાં નિવૃત્ત થઈ જશે"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS પાસવર્ડ બદલી શક્યા નહિં."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "કોઈ પાસવર્ડ પૂરો પડાયેલ નથી"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS પાસવર્ડ બદલી શક્યા નહિં."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "તમારે ટૂંકા પાસવર્ડને પસંદ કરવો આવશ્યક છે."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "તમારે લાંબો પાસવર્ડ જ પસંદ કરવો જોઈએ"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s માટે પાસવર્ડ બદલવાનું."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "તમારો પાસવર્ડ બદલવા માટે તમારે લાંબો સમય રાહ જોવી જ પડશે"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "એ જૂના જેવો જ છે"
+
+#~ msgid "memory allocation error"
+#~ msgstr "મેમરી ફાળવણી ભૂલ"
+
+#~ msgid "is a palindrome"
+#~ msgstr "એ પેલીન્ડ્રોમ છે"
+
+#~ msgid "case changes only"
+#~ msgstr "કેસ ફેરફાર માત્ર"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "એ જૂના સાથે એકદમ સરખો છે"
+
+#~ msgid "is too simple"
+#~ msgstr "એ ખૂબ સાદો છે"
+
+#~ msgid "is rotated"
+#~ msgstr "એ ફેરવાયેલ છે"
+
+#~ msgid "not enough character classes"
+#~ msgstr "પૂરતા અક્ષર વર્ગો નથી"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "એકપછી એક ઘણા બધા સરખા અક્ષરોને સમાવે છે"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "મૉનોટોનિક અક્ષર ક્રમ ઘણો લાંબો સમાવે છે"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "અમુક ફોર્મમાં વપરાશકર્તા નામ ને સમાવે છે"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ખરાબ પાસવર્ડ: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "ખાતુ થોડા વખત માટે તાળુ મારેલ છે (%ld સેકંડો ડાબે)"
+
+#~ msgid "Authentication error"
+#~ msgstr "સત્તાધિકરણ ભૂલ"
+
+#~ msgid "Service error"
+#~ msgstr "સેવા ભૂલ"
+
+#~ msgid "Unknown user"
+#~ msgstr "અજ્ઞાત વપરાશકર્તા"
+
+#~ msgid "Unknown error"
+#~ msgstr "અજ્ઞાત ભૂલ"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= ને ખોટો નંબર અપાયેલ છે\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: નહિં ઓળખાતો વિકલ્પ %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: બધા વપરાશકર્તાઓને બિન-શૂન્યમાં પુનઃસુયોજિત કરી શકતા નથી\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "પ્રવેશ એ તે માંથી તાજેતરની નિષ્ફળતાને નિષ્ફળ કરે છે\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/he.gmo b/po/he.gmo
new file mode 100644
index 0000000..58240d5
--- /dev/null
+++ b/po/he.gmo
Binary files differ
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..d3a2143
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,560 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Yaron Shahrabani <sh.yaron@gmail.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Hebrew <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/he/>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "ססמה: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "ססמת %s נוכחית: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "ססמה נוכחית: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ססמת %s חדשה: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ססמה חדשה: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "להקליד שוב ססמת %s חדשה: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "נא להקליד ססמה חדשה שוב: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "סליחה, הססמאות לא תואמות."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "להקליד את %s מחדש"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "שינוי ססמה בוטל."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "כניסה:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "הצליח"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "שגיאה קריטית - ביטול מידי"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "טעינת המודול נכשלה"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "הסמל לא נמצא"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "שגיאה במודול השירות"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "שגיאת מערכת"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "שגיאת מכלא זיכרון"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "ההרשאה נדחתה"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "כשל באימות"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "אין מספיק הרשאות כדי לגשת לנתוני האימות"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "שירות האימות לא יכול לקבל את פרטי האימות"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "המשתמש לא מוכר למודול האימות התומך"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "מספר הניסיונות מחדש המרבי נוצל במלואו עבור השירות"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "אסימון האימות אינו תקף עוד, נדרש אחד חדש"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "חשבון משתמש פג"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "לא ניתן ליצור/להסיר רשומה להפעלה שצוינה"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "שירות האימות לא יכול לקבל פרטי גישה של משתמשים"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "תוקף פרטי הגישה של המשתמש פג"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "הגדרת פרטי הגישה של המשתמש נכשלה"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "לא קיימים נתונים מסוימים למודול"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "פריט פסול הועבר אל to pam_*_item()‎"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "שגיאת דיון"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "שגיאת טיפול באסימון אימות"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "לא ניתן לשחזר את פרטי האימות"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "נעילת אסימון האימות עסוקה"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "התיישנות אסימון אימות מושבתת"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "בדיקת הקדם נכשלה על ידי שירות הססמאות"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "הערך החוזר אמור לזכות מהתעלמות על ידי שילוח ה־PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "המודול לא ידוע"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "תוקף אסימון האימות פג"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "הדיון ממתין לאירוע"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "היישום צריך לקרוא ל־libpam שוב"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "שגיאת PAM לא מוכרת"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...הזמן עומד להיגמר...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...סליחה, זמנך עבר!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "דיון שגוי (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s נכשל: קוד היציאה %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s נכשל: נתפס האות %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s נכשל: מצב לא ידוע 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "החשבון ננעל בעקבות %u ניסיונות התחברות שנכשלו."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(נותרו %d דקה לשחרור)"
+msgstr[1] "(נותרו %d דקות לשחרור)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(נותרו %d דקות לשחרור)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " מהמארח %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " על גבי %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "כניסה אחרונה:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "ברוך בואך לחשבונך החדש!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "כניסה כושלת אחרונה:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "היה ניסיון התחברות %d שנכשל מאז ההתחברות האחרונה שהצליחה."
+msgstr[1] "היו %d ניסיונות התחברות שנכשלו מאז ההתחברות האחרונה שהצליחה."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "היו %d ניסיונות התחברות שנכשלו מאז ההתחברות האחרונה שהצליחה."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "יותר מדי פעילויות כניסה עבור ‚%s’."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "אין לך דואר."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "יש לך דואר חדש."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "יש לך דואר ישן."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "יש לך דואר."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "אין לך דוא״ל בתיקייה %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "יש לך דוא״ל חדש בתיקייה %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "יש לך דוא״ל ישן בתיקייה %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "יש לך דוא״ל בתיקייה %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "התיקייה ‚%s’ נוצרת."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "לא ניתן ליצור ולאתחל את התיקייה ‚%s’."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "כבר נעשה שימוש בססמה. נא לבחור באחרת."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "כבר נעשה שימוש בססמה הזאת."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "הקשר האבטחה כבררת מחדל הוא %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "מעניין אותך למלא תפקיד או רמה שונים?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "תפקיד:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "אין סוג בררת מחדל לתפקיד %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "רמה:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "זה לא הקשר אבטחה תקני."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "לא ניתן לקבל הקשר תקני עבור %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "הקשר האבטחה %s הוקצה."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "הקשר יצירת המפתח %s הוקצה."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "האתחול של PAM נכשל\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item()‎ נכשל\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "כניסה: פיצול נכשל: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "הוענקה גישה (הכניסה האחרונה הייתה לפני %ld שניות)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "תוקף חשבונך פג, נא ליצור קשר עם הנהלת המערכת שלך."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "עליך לשנות את ססמתך מיידית (דרישת הנהלת המערכת)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "עליך לשנות את ססמתך מיידית (תוקף הססמה פג)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "אזהרה: הססמה שלך תפוג מחר."
+msgstr[1] "אזהרה: הססמה שלך תפוג תוך %d ימים."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "אזהרה: הססמה שלך תפוג תוך %d ימים."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "לא היה ניתן לשנות ססמת NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "לא סופקה ססמה."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "הססמה לא הוחלפה."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "עליך לבחור סיסמה קצרה יותר."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "עליך לבחור ססמה ארוכה יותר."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "הססמה עבור %s מוחלפת."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "עליך להמתין זמן רב יותר כדי להחליף את ססמתך."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "זהה לישנה"
+
+#~ msgid "memory allocation error"
+#~ msgstr "שגיאת הקצאת זכרון"
+
+#~ msgid "is a palindrome"
+#~ msgstr "פילנדרום"
+
+#~ msgid "case changes only"
+#~ msgstr "שינויי גודל אותיות בלבד"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "יותר מדי דומה לישנה"
+
+#~ msgid "is too simple"
+#~ msgstr "פשוטה מדי"
+
+#~ msgid "is rotated"
+#~ msgstr "האם שונה הסדר"
+
+#~ msgid "not enough character classes"
+#~ msgstr "אין מספיק מחלקות תווים"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "יותר מדי תווים זהים בזה אחר זה"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "מכיל רצף תווים מונוטוני ארוך מדי"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "מכיל את שם המשתמש בצורה כלשהי"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ססמה לא טובה: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "החשבון נעול זמנית (%ld שניות נותרו)."
+
+#~ msgid "Authentication error"
+#~ msgstr "שגיאת אימות"
+
+#~ msgid "Service error"
+#~ msgstr "שגיאת שירות"
+
+#~ msgid "Unknown user"
+#~ msgstr "משתמש לא ידוע"
+
+#~ msgid "Unknown error"
+#~ msgstr "שגיאה לא מוכרת"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: המספר שהועבר ל־‎--reset=‎ שגוי\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: אפשרות לא מוכרת %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: אין אפשרות לאפס את כל המשתמשים למספר שאינו אפס\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "כניסה כשלים כשל אחרון מאת\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/hi.gmo b/po/hi.gmo
new file mode 100644
index 0000000..e6cd05d
--- /dev/null
+++ b/po/hi.gmo
Binary files differ
diff --git a/po/hi.po b/po/hi.po
new file mode 100644
index 0000000..10e8fbd
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,574 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# kumarvimal <kmrvimal@gmail.com>, 2013
+# Rajesh Ranjan <rajesh672@gmail.com>, 2009
+# Rajesh Ranjan <rranjan@redhat.com>, 2007
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-06 23:59+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Hindi <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/hi/>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 3.11.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "शब्दकूट: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "नया %s password: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "नया password: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "नया %s password: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "नया password: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "नया %s password फिर टाइप करें: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "नया password फिर टाइप करें: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "क्षमा करें, शब्दकूट नहीं मिलते हैं."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "फिर टाइप करें %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "कूटशब्द परिवर्तन छोड़ा गया."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "लॉगिन:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "सफल"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "गंभीर त्रुटि - तत्काल छोड़ें"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "मॉड्यूल लोड करने में विफल"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "संकेत नहीं मिला"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "सेवा मॉड्यूल में त्रुटि"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "सिस्टम त्रुटि"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "स्मृति बफर त्रुटि"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "अनुमति मनाही"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "सत्यापन विफलता"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "सत्यापन आंकड़ा की पहुँच में अपर्याप्त श्रेय"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "सत्यापन सेवा सत्यापन सूचना नहीं हासिल कर सकता है"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "उपयोक्ता अंतर्निहित सत्यापन मॉड्यूल से परिचित नहीं हैं"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "सेवा के लिए अधिकतम संख्या में फिर कोशिश करना समाप्त कर चुका है"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "सत्यापन टोकन अब वैध नहीं है; नया जरूरी है"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "उपयोक्ता खाता की अवधि समाप्त हो चुकी है"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "विशेष सत्र के लिए एक प्रविष्टि नहीं बना/हटा सकता है"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "सत्यापन सेवा उपयोक्ता श्रेय फिर हासिल नहीं कर सकता है"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "उपयोक्ता श्रेय समाप्त"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "विफल जमावट उपयोक्ता श्रेय"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "कोई मॉड्यूल विशेष आंकड़ा मौजूद है"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "खराब मद pam_*_item() में भेजा गया"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "रूपांतरक त्रुटि"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "सत्यापन टोकन मैनिपुलेशन त्रुटि"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "सत्यापन सूचना फिर हासिल नहीं किया जा सकता है"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "सत्यापन टोकन लॉक व्यस्त"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "सत्यापन टोकन एजिंग निष्क्रिय"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "शब्दकूट सेवा के द्वारा प्राथमिक जांच पूरी"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "लौटाए मान को PAM डिस्पैच के द्वारा अनदेखा किया जाना चाहिए"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "मॉड्यूल अनजान है"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "सत्यापन टोकन समाप्त"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "रूपांतरण घटना के प्रतीक्षारत"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "अनुप्रयोग के libpam फिर आह्वान जरूरी"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "अनजान PAM त्रुटि"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...समय समाप्त हो रहा है...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...क्षमा करें, आपका समय समाप्त हो गया!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "अनियमित बातचीत (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s विफल: निकास कोड %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s विफल: संकेत घेरा %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s विफल: अनजान स्थिति 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "खाता %u विफल लॉगिन के कारण लॉक"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s से"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s पर"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "अंतिम लॉगिन:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "नए खाता में आपका स्वागत है!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "अंतिम लॉगिन विफल:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "%d विफल लॉगिन प्रयास था अंतिम सफल लॉगिन के बाद."
+msgstr[1] "%d विफल लॉगिन प्रयास थे अंतिम सफल लॉगिन के बाद."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "%d विफल लॉगिन प्रयास थे अंतिम सफल लॉगिन के बाद."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' के लिए बहुत लॉगिन."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "आपके लिए नया मेल है."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "आपके लिए नया मेल है."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "आपके पास पुराना मेल है."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "आपके पास मेल है."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "आपके पास %s फोल्डर में कोई मेल नहीं है."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "आपके लिए %s फोल्डर में नया मेल है."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "आपके लिए %s फोल्डर में पुराना मेल है."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "आपके लिए %s फोल्डर में मेल है."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "निर्देशिका '%s' बना रहा है."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "निर्देशिका '%s' बनाने और आरंभ करने में असमर्थ."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "शब्दकूट को पहले ही बदला जा चुका है. दूसरा चुनें."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "शब्दकूट प्रयोग हो चूका है. दूसरा चुनें "
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "तयशुदा सुरक्षा संदर्भ %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "क्या आप भिन्न भूमिका या स्तर दाखिल करना चाहेंगे?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "भूमिका: "
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "भूमिका %s के लिए कोई तयशुदा प्रकार नहीं\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "स्तर: "
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "एक वैध सुरक्षा संदर्भ नहीं"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "सुरक्षा संदर्भ %s नियत"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "कुंजी निर्माण संदर्भ %s नियत"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM को आरंभ करने में विफल\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() में विफल\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "लॉगिन: विफल फोर्किंग: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "पहुँच दिया गया (last access was %ld seconds ago)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "आपका खाता समाप्त हो चुका है; कृपया अपने सिस्टम प्रशासक को संपर्क करें"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "आपके लिए अपना शब्दकूट तत्काल बदलना जरूरी है (रूट पुनर्बलित)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "आपके लिए अपना शब्दकूट तत्काल बदलना जरूरी है (शब्दकूट एज्ड)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "चेतावनी: आपका शब्दकूट %d दिन में समाप्त हो जायेगा"
+msgstr[1] "चेतावनी: आपका शब्दकूट %d दिन में समाप्त हो जायेगा"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "चेतावनी: आपका शब्दकूट %d दिनों में समाप्त हो जायेगा"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS शब्दकूट बदला नहीं जा सका."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "कोई कूटशब्द नहीं दिया गया है"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS शब्दकूट बदला नहीं जा सका."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "आपको एक छोटा पासवर्ड चुनना होगा।"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "आपको जरूर एक लंबा शब्दकूट चुनना चाहिए"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s के लिए कूटशब्द बदल रहा है"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "आपको अपना शब्दकूट बदलने के लिए लंबी प्रतीक्षा करनी होगी"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "पुराने की तरह समान है"
+
+#~ msgid "memory allocation error"
+#~ msgstr "स्मृति आबंटन त्रुटि"
+
+#~ msgid "is a palindrome"
+#~ msgstr "एक पालिनड्रोम है"
+
+#~ msgid "case changes only"
+#~ msgstr "स्थिति परिवर्तन सिर्फ"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "पुराने के बहुत समान है"
+
+#~ msgid "is too simple"
+#~ msgstr "बहुत सरल है"
+
+#~ msgid "is rotated"
+#~ msgstr "घुमाया गया है"
+
+#~ msgid "not enough character classes"
+#~ msgstr "पर्याप्त वर्ण वर्ग नहीं"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "कई समान वर्ण लगातार समाहित करता है"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "समान वर्ण का लम्बा अनुक्रम समाहित करता है "
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "कुछ रूप में उपयोक्ता नाम समाहित करता है"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "खराब शब्दकूट: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "खाता अस्थायी रूप से लॉक (%ld seconds left)"
+
+#~ msgid "Authentication error"
+#~ msgstr "सत्यापन त्रुटि"
+
+#~ msgid "Service error"
+#~ msgstr "सेवा त्रुटि"
+
+#~ msgid "Unknown user"
+#~ msgstr "अनजान उपयोक्ता"
+
+#~ msgid "Unknown error"
+#~ msgstr "अनजान त्रुटि"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: खराब संख्या को --reset= में दिया गया\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: अपरिचित विकल्प %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: सभी उपयोक्ता को गैर शून्य में फिर सेट नहीं कर सकता है\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Failures Latest failure From\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644
index 0000000..1982462
--- /dev/null
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..575c016
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,487 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Croatian (http://www.transifex.com/projects/p/fedora/language/"
+"hr/)\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Morate odabrati kraću zaporku."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Morate odabrati kraću zaporku."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Morate odabrati kraću zaporku."
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644
index 0000000..16ea34c
--- /dev/null
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..c04e34e
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,580 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Kalman Kemenczy <kkemenczy@novell.com>, 2006-2007
+# Keresztes Ákos <xsak@c2.hu>, 2006
+# Papp Zsolt <zpapp@novell.com>, 2006
+# Zoltan Hoppár <hopparz@gmail.com>, 2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+# Balázs Meskó <meskobalazs@mailbox.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-02-10 19:40+0000\n"
+"Last-Translator: Balázs Meskó <meskobalazs@mailbox.org>\n"
+"Language-Team: Hungarian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/hu/>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.4.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Jelszó: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Jelenlegi %s jelszó: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Jelenlegi jelszó: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Új %s jelszó: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Új jelszó: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Ismét az új %s jelszó: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Ismét az új jelszó: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Sajnálom, de a jelszavak nem egyeznek."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Ismét %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Jelszó változtatás elvetve."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "belépő:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Sikerült"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritikus hiba - azonnali leállás"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "A modul betöltése sikertelen"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "A szimbólum nem található"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Hiba a szervizmodulban"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Rendszerhiba"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Memóriapuffer-hiba"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Engedély megtagadva"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Hitelesítési hiba"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Elégtelen azonosító adat a hitelesítési adatok eléréséhez"
+
+#: libpam/pam_strerror.c:60
+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:62
+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:64
+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:66
+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:68
+msgid "User account has expired"
+msgstr "Felhasználói azonosító lejárt"
+
+#: libpam/pam_strerror.c:70
+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:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"A hitelesítő szolgáltatás nem tudja lekérni a felhasználó hitelesítő adatait"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "A felhasználó hitelesítő adatai lejártak"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Hiba a felhasználó hitelesítő adatainak beállítása közben"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nem található modulspecifikus adat"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Rossz elem lett átadva a pam_*_item() számára"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Kommunikációs hiba"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Hitelesítő tokenkezelés hiba"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "A hitelesítő adatok nem állíthatók helyre"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Hitelesítő token zár foglalt"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Hitelesítő token lejárat kikapcsolva"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "A jelszószolgáltatás előzetes ellenőrzésén megbukott"
+
+#: libpam/pam_strerror.c:94
+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:96
+msgid "Module is unknown"
+msgstr "A modul ismeretlen"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "A hitelesítő token lejárt"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "A kommunikáció egy eseményre várakozik"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Az alkalmazásnak újra meg kell hívnia a libpam modult"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Ismeretlen PAM hiba"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Fogy az idő...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Sajnos lejárt az idő!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "hibás beszélgetés (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s hiba: kilépő kód %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s hiba: %d%s jelzés érzékelve"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s hiba: 0x%x ismeretlen állapot"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-fájlnév] [--user használó] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Felhasználói azonosító zárolva, többszöri, %u sikertelen belépés miatt"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %Y. %b %e, %a %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " innen: %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ", %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Utolsó belépés:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Üdvözöljük az új felhasználói azonosítójával!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Utolsó sikertelen belépés:%s %s %s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés óta."
+msgstr[1] "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés óta."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés óta."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Túl sok bejelentkezés \"%s\" részéről."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Új levele érkezett."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Új levele érkezett."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Régebbi levelei vannak."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Önnek levele van."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s mappában nincs levél."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s mappában új levél van."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s mappában régi levél van."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s mappában levelek vannak."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "\"%s\" mappa létrehozása."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "„%s” mappa nem hozható létre és állítható be."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "A jelszót már használta. Válasszon másikat."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "A jelszót már használta. Válasszon másikat."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Alapértelemezett %s biztonsági környezet\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Kíván más szerepet vagy szintet megadni?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "szerep:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Nincs alapértelmezett típus %s szerephez\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "szint:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Nem érvényes biztonsági környezet"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s biztonsági környezet hozzárendelve"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "%s kulcskészítő környezet hozzárendelve"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM inicializálása sikertelen\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() meghiúsult\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "bejelentkezés: elágazás hiba: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Hozzáférés megadva (utolsó hozzáférés %ld másodperce volt)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"A felhasználói azonosító érvényessége lejárt; kérem keresse meg a "
+"rendszergazdát"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Azonnal meg kell változtatnia a jelszavát (rendszergazda által erőltetve)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Azonnal meg kell változtatnia a jelszavát (a jelszó elévült)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Figyelmeztetés: a jelszava %d nap múlva lejár"
+msgstr[1] "Figyelmeztetés: a jelszava %d nap múlva lejár"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Figyelmeztetés: a jelszava %d nap múlva lejár"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS jelszót nem sikerült módosítani."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Nincs jelszó megadva"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS jelszót nem sikerült módosítani."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Egy rövidebb jelszót kell választania."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Válasszon hosszabb jelszót"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s jelszavának megváltoztatása."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Tovább kell várnia míg megváltoztathatja a jelszavát"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ugyanaz, mint a régi"
+
+#~ msgid "memory allocation error"
+#~ msgstr "memória allokációs hiba"
+
+#~ msgid "is a palindrome"
+#~ msgstr "palindrom"
+
+#~ msgid "case changes only"
+#~ msgstr "csak a kis/nagybetűkben változott"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "túl hasonló a régihez"
+
+#~ msgid "is too simple"
+#~ msgstr "túl egyszerű"
+
+#~ msgid "is rotated"
+#~ msgstr "forgatva"
+
+#~ msgid "not enough character classes"
+#~ msgstr "elégtelen betűcsoport"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "túl sok egymást követő betű egyezik meg"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "túl hosszú monoton karaktersorozatot tartalmaz"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "valahogy tartalmazza a felhasználó nevét"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ROSSZ JELSZÓ: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Felhasználói azonosító átmenetileg zárolt (még %ld másodpercig)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Hitelesítési hiba"
+
+#~ msgid "Service error"
+#~ msgstr "Szolgáltatás hiba"
+
+#~ msgid "Unknown user"
+#~ msgstr "Ismeretlen felhasználó"
+
+#~ msgid "Unknown error"
+#~ msgstr "Ismeretlen hiba"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Rossz szám a --reset= opcióban\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: %s ismeretlen opció\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-fájlnév] [--user használó] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Nem állítható vissza minden felhasználó nem-nullára\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Belépés Hibák Utolsó hibák Innen\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-fájlnév] [--file rooted-fájlnév]\n"
+#~ " [-u használó] [--user használó]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ia.gmo b/po/ia.gmo
new file mode 100644
index 0000000..9246e2e
--- /dev/null
+++ b/po/ia.gmo
Binary files differ
diff --git a/po/ia.po b/po/ia.po
new file mode 100644
index 0000000..d985f46
--- /dev/null
+++ b/po/ia.po
@@ -0,0 +1,580 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Nik Kalach <nikka@fedoraproject.org>, 2012
+# Nik Kalach <nik.kalach@inbox.ru>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-12-17 05:00-0500\n"
+"Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n"
+"Language-Team: Interlingua <trans-ia@lists.fedoraproject.org>\n"
+"Language: ia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Contrasigno: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Nove %s contrasigno: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Nove contrasigno: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nove %s contrasigno: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nove contrasigno: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Retypa nove %s contrasigno: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Retypa nove contrasigno: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Le contrasignos non es equal."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Retypa %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Cambiamento de contrasigno abortate."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "conto:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Successo"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Error critic - abandono immediate"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Insuccesso de cargar un modulo"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbolo non trovate"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Error in le modulo de servicio"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Error de systema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Error de buffer de memoria"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permission denegate"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Fallimento de authentication"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credentiales insufficiente pro acceder a datos de authentication"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Le servicio de authentication non pote recuperar le information de "
+"authentication"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Usator es incognite pro le modulo de authentication subjacente"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Il ha superate le numero maxime de tentativas pro le servicio"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+"Le token de authentication non es jam valide; un nove token es necessari"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Le conto del usator ha perimite"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Impossibile de crear o eliminar un entrata pro le session specificate"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Le servicio de authentication non pote obtener le credentiales del usator"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Credentiales del usator perimite"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Insuccesso al definition de credentiales de usator"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nulle datos specific del modulo es presente"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Elemento incorrecte passate a pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Error de conversation"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Error de manipulation del token de authentication"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Impossibile de recuperar le information de authentication"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Le token de authentication pare occupate"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Peremption del token de authentication disactivate"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Insuccesso del controlo preliminar per le servicio de contrasignos"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Le valor restitute debe esser ignorate per le repartitor PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modulo incognite"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Le token de authentication ha perimite"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversation in expectation de un evento"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Le application debe appellar a libpam de nove"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Error incognite de PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Le tempore es perimente...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Le tempore ha perimite!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversation erronee (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s fallite: codice de exito %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s fallite: signal capturate %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s fallite: stato incognite 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file percurso-integre] [--user usator] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Le conto es blocate a causa de %u insuccessos al authentication"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " via %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Ultime connexion:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Benvenite al nove conto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Ultime connexion fallite:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Il esseva %d insuccesso de initiar le session desde le ultime connexion."
+msgstr[1] ""
+"Il esseva %d insuccessos de initiar le session desde le ultime connexion."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Il esseva %d insuccessos a initiar le session desde le ultime connexion."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Troppo de connexiones pro '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Il ha nove currero."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Il ha nove currero."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Il ha currero vetule."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Il ha currero."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Il non ha necun curreros in le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Il ha nove currero in le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Il ha currero vetule in le dossier %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Il ha currero in le dossier %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Creation del directorio '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Impossibile de crear e de initiar le directorio '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Le contrasigno jam se ha utilisate. Selige un altere."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Le contrasigno se ha jam usate."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Contexto de securitate predefinite %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Velle tu introducer un rolo e nivello differente?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rolo:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Necun typo predefinite pro le rolo %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivello:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Contexto de securitate incorrecte"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contexto de securitate %s attribuite"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Contexto de creation de clave %s attribuite"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "error al initiar PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "error in pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "apertura de session: insuccesso de autoclonage: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Accesso permittite (le ultime accesso eveniva ante %ld secundas)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Le conto ha perimite; contacte le administrator del systema"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Le administrator necessita le cambiamento immediate del contrasigno."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Le contrasigno es troppo vetule e debe esser cambiate immediatemente."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Advertimento: le contrasigno perimera in %d die"
+msgstr[1] "Advertimento: le contrasigno perimera in %d dies"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Advertimento: le contrasigno perimera in %d dies"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Le contrasigno NIS non pote esser cambiate."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Necun contrasigno fornite"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "Le contrasigno NIS non pote esser cambiate."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Selige un contrasigno plus longe"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Selige un contrasigno plus longe"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Cambiamento del contrasigno pro %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Attende ancora pro cambiar le contrasigno"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "nove contrasigno es equl al previe"
+
+#~ msgid "memory allocation error"
+#~ msgstr "error al allocation de memoria"
+
+#~ msgid "is a palindrome"
+#~ msgstr "nove contrasigno es un polindromo"
+
+#~ msgid "case changes only"
+#~ msgstr "nove contrasigno cambia solo le registro de litteras"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "nove contrasigno es troppo simile al previe"
+
+#~ msgid "is too simple"
+#~ msgstr "nove contrasigno es troppo simple"
+
+#~ msgid "is rotated"
+#~ msgstr "nove contrasigno es un rotation del previe"
+
+#~ msgid "not enough character classes"
+#~ msgstr "nove contrasigno non ha satis de classes de character"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "nove contrasigno contine troppo de characteres identic consequente"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr ""
+#~ "nove contrasigno contine tro de characteres monotone in un sequentia"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "nove contrasigno contine le nomine de usator in alicun forma"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "CONTRASIGNO MALFORMATE: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Le conto es blocate temporarimente (%ld secundas remanente)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Error de authentication"
+
+#~ msgid "Service error"
+#~ msgstr "Error de servicio"
+
+#~ msgid "Unknown user"
+#~ msgstr "Usator incognite"
+
+#~ msgid "Unknown error"
+#~ msgstr "Error incognite"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Numero incorrecte fornite a --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Option non recognoscite %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file percurso-integre] [--user usator] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Impossibile de reinitiar tote le usatores a non-zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Conto Fallimentos Ultime fallimento De\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f percurso-integre] [--file percurso-integre]\n"
+#~ " [-u usator] [--user usator]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644
index 0000000..3c09a45
--- /dev/null
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..824d6b3
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,490 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# sentabi, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-22 01:07-0400\n"
+"Last-Translator: sentabi\n"
+"Language-Team: Indonesian <trans-id@lists.fedoraproject.org>\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Sandi:"
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Sandi:"
+
+#: libpam/pam_get_authtok.c:44
+#, fuzzy, c-format
+msgid "New %s password: "
+msgstr "Sandi:"
+
+#: libpam/pam_get_authtok.c:45
+#, fuzzy
+msgid "New password: "
+msgstr "Sandi:"
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Maaf, sandi yang anda masukkan tidak sama."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Ketik ulang %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Pergantian sandi digagalkan."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "Masuk:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Berhasil"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kesalahan kritis - Langsung ditunda"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Gagal memuat modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Simbol tidak ditemukan"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Kesalahan di servis modul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Kesalahan sistem"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Kesalahan buffer memory"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Izin ditolak"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Otentikasi gagal"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Tidak cukup hak akses untuk mengakses data"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Servis otentikasi tidak mendapatkan info otentikasi"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Pengguna tidak dikenal oleh modul otentikasi"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Sudah melebihi batas percobaan servis"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Token otentikasi tidak valid, dibutuhkan otentikasi yang baru"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Akun pengguna sudah berakhir"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Tidak dapat membuat/menghapus entri untuk sesion"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Otentikasi servis tidak mendapat kredential pengguna"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Kredential pengguna telah berakhir"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Gagal dalam mengkonfigurasi izin pengguna"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Tidak ada modul yang ditampilkan"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Kesalahan item diteruskan ke pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Terjadi kesalahan percakapan "
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Kesalahan di token otentikasi "
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Informasi otentikasi tidak dapat dikembalikan"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Kunci otentikasi sedang sibuk"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Batas token otentikasi tidak aktif"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Anda menerima surel baru."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Anda menerima surel baru."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Anda memiliki surel lama"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Anda menerima surel"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Anda tidak memiliki surel di folder %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Anda memiliki surel baru di folder %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Anda memiliki email lama di folder %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Membuat direktori '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Tidak dapat membuat direktori '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Sandi sudah digunakan sebelumnya. Pilih sandi yang lain."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Sandi sudah digunakan."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Konteks sekuriti tidak benar."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Apakah anda mau menambah izin atau level yang berbeda?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "Sebagai:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "Level:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Konteks sekuriti tidak benar."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Sandi sudah digunakan."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "Sandi sudah digunakan."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Anda harus memilih kata sandi yang lebih pendek."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Anda harus memilih kata sandi yang lebih pendek."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Anda harus memilih kata sandi yang lebih pendek."
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "terlalu panjang karakter berurutan"
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 0000000..b26de01
--- /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/is.gmo b/po/is.gmo
new file mode 100644
index 0000000..63e6515
--- /dev/null
+++ b/po/is.gmo
Binary files differ
diff --git a/po/is.po b/po/is.po
new file mode 100644
index 0000000..93c4e5c
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Icelandic (http://www.transifex.com/projects/p/fedora/"
+"language/is/)\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Þú verður að velja styttri lykilorð."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Þú verður að velja styttri lykilorð."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Þú verður að velja styttri lykilorð."
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 0000000..c945181
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..456fd6f
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,575 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# fvalen <fvalen@redhat.com>, 2013
+# fvalen <fvalen@redhat.com>, 2012
+# Luca Bruno <luca.br@uno.it>, 2007
+# mario_santagiuliana <mario at marionline.it>, 2009
+# Novell Language <language@novell.com>, 2007
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Milo Casagrande <milo@milo.name>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Italian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Password: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Password attuale %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Password attuale: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nuova password %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nuova password: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Reimmettere la nuova password %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Reimmettere la nuova password: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Le password non corrispondono."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Reimmettere %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Modifica della password terminata."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Successo"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Errore critico - interruzione immediata"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Caricamento del modulo non riuscito"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Simbolo non trovato"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Errore nel modulo di servizio"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Errore di sistema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Errore buffer memoria"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autenticazione non riuscita"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credenziali insufficienti per accedere ai dati di autenticazione"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Il servizio di autenticazione non è in grado di recuperare le informazioni "
+"di autenticazione"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Utente sconosciuto al modulo di autenticazione sottostante"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Superato il numero massimo di tentativi per il servizio"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Token di autenticazione non più valido; ne è richiesto uno nuovo"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Account utente scaduto"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Impossibile creare/rimuovere una voce per la sessione specificata"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Il servizio di autenticazione non è in grado di recuperare le credenziali "
+"utente"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Credenziali utente scadute"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Impostazione delle credenziali utente non riuscita"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Dati specifici del modulo non presenti"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Elemento errato passato a pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Errore di conversazione"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Errore manipolazione token di autenticazione"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Impossibile ripristinare informazioni di autenticazione"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Blocco token di autenticazione occupato"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Invecchiamento del token di autenticazione disabilitato"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Controllo preliminare del servizio password non riuscito"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Il valore restituito dovrebbe essere ignorato dal dispatch PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modulo sconosciuto"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Token di autenticazione scaduto"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversazione in attesa di un evento"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "L'applicazione richiede una nuova chiamata a libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Errore PAM sconosciuto"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Il tempo sta per scadere...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Tempo scaduto!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversazione errata (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s non riuscita: codice d'uscita %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s non riuscita: intercettato il segnale %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s non riuscita: stato sconosciuto 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Uso: %s [--dir /path/to/tally-directory] [--user nomeutente] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Account bloccato a causa di %u accessi non riusciti."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minuto rimanenti per sbloccare)"
+msgstr[1] "(%d minuti rimanenti per sbloccare)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minuti rimanenti per sbloccare)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e %b %Y %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " da %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " su %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Ultimo accesso:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Benvenuti nel nuovo account!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Ultimo accesso non riuscito:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Dall'ultimo accesso si è verificato %d tentativo non riuscito di accesso."
+msgstr[1] ""
+"Dall'ultimo accesso si sono verificati %d tentativi non riusciti di accesso."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Dall'ultimo accesso si sono verificati %d tentativi non riusciti di accesso."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Sono stati effettuati troppi accessi per «%s»."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Non ci sono email."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Ci sono nuove email."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Ci sono email vecchie."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Ci sono email."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "La cartella %s non contiene alcuna email."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "La cartella %s contiene nuove email."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "La cartella %s contiene vecchie email."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "La cartella %s contiene email."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Creazione della directory «%s»."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Impossibile creare e inizializzare la directory «%s»."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Password già utilizzata, sceglierne un'altra."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "La password è stata già utilizzata."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Il contesto di sicurezza predefinito è %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Immettere un ruolo o livello differente?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ruolo:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Nessun tipo predefinito per il ruolo %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "livello:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Non è un contesto di sicurezza valido."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Impossibile ottenere un contesto valido per %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contesto di sicurezza %s assegnato."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Contesto di creazione chiave %s assegnato."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "impossibile inizializzare PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "Impossibile eseguire pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: fork non riuscita: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Accesso permesso (l'ultimo accesso risale a %ld secondi fa)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Account scaduto; contattare l'amministratore di sistema."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"È richiesta la modifica immediata della password (imposto "
+"dall'amministratore)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "È richiesta la modifica immediata della password (password scaduta)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Avviso: la password scadrà tra %d giorno."
+msgstr[1] "Avviso: la password scadrà tra %d giorni."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Avviso: la password scadrà tra %d giorni."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Impossibile modificare la password NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Nessuna password fornita."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "La password non è stata modificata."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Scegliere una password più corta."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Scegliere una password più lunga."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Cambio password per %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Attendere ancora per cambiare la password."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "è la stessa di quella precedente"
+
+#~ msgid "memory allocation error"
+#~ msgstr "errore allocazione memoria"
+
+#~ msgid "is a palindrome"
+#~ msgstr "è un palindromo"
+
+#~ msgid "case changes only"
+#~ msgstr "cambiano solo le maiuscole/minuscole"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "è troppo simile alla precedente"
+
+#~ msgid "is too simple"
+#~ msgstr "è troppo semplice"
+
+#~ msgid "is rotated"
+#~ msgstr "è una rotazione della precedente"
+
+#~ msgid "not enough character classes"
+#~ msgstr "non ha abbastanza classi di caratteri"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "contiene troppi caratteri simili consecutivi"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "contiene una sequenza troppo lunga di caratteri simili"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "contiene il nome utente in alcune forme"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "Password scadente: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Account momentaneamente bloccato (%ld secondi rimanenti)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Errore di autenticazione"
+
+#~ msgid "Service error"
+#~ msgstr "Errore del servizio"
+
+#~ msgid "Unknown user"
+#~ msgstr "Utente sconosciuto"
+
+#~ msgid "Unknown error"
+#~ msgstr "Errore sconosciuto"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Numero errato fornito a --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: opzione non riconosciuta %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user nomeutente] [--reset[=N]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: impossibile ripristinare tutti gli utenti a valori diversi da zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Accesso Errori Ultimi errori Da\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u nomeutente] [--user nomeutente]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ja.gmo b/po/ja.gmo
new file mode 100644
index 0000000..bcd952a
--- /dev/null
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..519a61c
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,574 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Jiro Matsuzawa <jmatsuzawa@gnome.org>, 2013
+# Kiyoto Hashida <khashida@redhat.com>, 2008-2009
+# Noriko Mizumoto <noriko@redhat.com>, 2007
+# Tomoyuki KATO <tomo@dream.daynight.jp>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-06 23:59+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Japanese <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ja/>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 3.11.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "パスワード:"
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "新しい%sパスワード:"
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "新しい パスワード:"
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "新しい%sパスワード:"
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "新しい パスワード:"
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "新しい%sパスワードを再入力してください:"
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "新しい パスワードを再入力してください:"
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "パスワードが一致しません。"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s を再入力して下さい"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "パスワードの変更は放棄されました"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ログイン:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "成功"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "致命的エラー - 直ちに中止してください"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "モジュールのロードに失敗しました"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "記号が見つかりません"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "サービスモジュールのエラー"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "システムエラー"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "メモリーバッファエラー"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "拒否されたパーミッション"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "認証失敗"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "認証データにアクセスする資格認定がありません"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "認証サービスが認証情報を検索できません"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "基礎となる認証モジュールを知らないユーザー"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "サービスの最大試行回数に達しました"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "認証トークンはもはや有効ではありません。新しい認証トークンが必要です"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ユーザーアカウントの有効期限が切れました"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "指定したセッションに対するエントリを作成/削除できません"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "認証サービスがユーザー資格認定を検索できません"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ユーザー資格認定の有効期限切れ"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ユーザー資格認定の設定に失敗しました"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "モジュール固有データがありません"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item()に渡された不正項目"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "会話エラー"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "認証トークン操作エラー"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "認証情報を回復できません"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "認証トークンをロック中です"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "認証トークンエージングが無効です"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "パスワードサービスによる予備チェックに失敗しました"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "戻り値は PAM タスク指名により無視する必要があります"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "モジュールが不明です"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "認証トークンの有効期限切れです"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "会話はイベントを待っています"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "アプリケーションはlibpamを再び呼び出す必要があります"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "不明な PAM エラー"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...時間が切れかかっています...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...時間切れです。\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "誤った会話(%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s 失敗: 終了コード %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s 失敗: シグナルをキャッチ %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s 失敗: 不明な状態 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u のログイン失敗の理由で アカウントはロックされました"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %Y/%m/%d (%a) %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*sから開始"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " 日時 %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "最終ログイン:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "新しいアカウントへようこそ。"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "最後の失敗ログイン:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "最後の正しいログインの後に %d 回の失敗ログインの試行があります"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "最後の正しいログインの後に %d 回の失敗ログインの試行があります。"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'のログイン数が多すぎます。"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "新しいメールがあります。"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "新しいメールがあります。"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "古いメールがあります。"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "メールがあります。"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "フォルダ%sにメールがありません。"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "フォルダ%sに新しいメールがあります。"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "フォルダ%sに古いメールがあります。"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "フォルダ%sにメールがあります。"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "ディレクトリ '%s' を作成中"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ディレクトリ %s を作成して初期化できません。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+"パスワードはすでに使用されています。 別のパスワードを選択してください。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "パスワードはすでに使用されています。"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "デフォルトセキュリティコンテキスト%s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "異なるロール又はレベルを入力しますか?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ロール:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "ロール %s にはデフォルトタイプがありません\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "レベル:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "有効なセキュリティコンテキストでありません"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "割り当てられたセキュリティコンテキスト%s"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "キー作成コンテキスト %s が割り当てられました"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAMの初期化に失敗しました\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item()に失敗しました\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ログイン: いまいましい失敗: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "アクセスを許可 (最後のアクセスは %ld 秒前でした)"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"アカウントの有効期限が切れました。システム管理者にお問い合わせください。"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "パスワードを直ちに変更する必要があります(強制されたルート)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "パスワードを直ちに変更する必要があります(古いパスワード)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "警告: パスワードは%d日で有効期限が切れます。"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "警告: パスワードは %d 日で有効期限が切れます。"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS パスワードを変更できませんでした。"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "パスワードが与えられていません"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS パスワードを変更できませんでした。"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "もっと短いパスワードを選択する必要があります。"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "長いパスワードを選択する必要があります"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s 用にパスワードを変更中"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "パスワードを変更するには長く待つ必要があります"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "パスワードが古いものと同じです。"
+
+#~ msgid "memory allocation error"
+#~ msgstr "メモリー割り当てエラー"
+
+#~ msgid "is a palindrome"
+#~ msgstr "前後どちらから読んでも同じパスワードです。"
+
+#~ msgid "case changes only"
+#~ msgstr "大文字小文字を変えただけのパスワード"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "古いものと似ています"
+
+#~ msgid "is too simple"
+#~ msgstr "簡単すぎます"
+
+#~ msgid "is rotated"
+#~ msgstr "回転しています"
+
+#~ msgid "not enough character classes"
+#~ msgstr "文字クラスが不十分です"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "連続的な同一文字が多く含まれ過ぎです"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "単調な文字列が数多く含まれています"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "なんらかの形式のユーザー名を含みます"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "よくないパスワード: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "アカウントは一時的にロックされています (残り %ld 秒)"
+
+#~ msgid "Authentication error"
+#~ msgstr "認証エラー"
+
+#~ msgid "Service error"
+#~ msgstr "サービスエラー"
+
+#~ msgid "Unknown user"
+#~ msgstr "不明なユーザー"
+
+#~ msgid "Unknown error"
+#~ msgstr "不明なエラー"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: 不正番号が--reset=に与えられました\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: 未認識オプション%s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: すべてのユーザーを非ゼロにリセットできません\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "ログイン 失敗。最後の失敗は 以下で発生\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ka.gmo b/po/ka.gmo
new file mode 100644
index 0000000..f07f334
--- /dev/null
+++ b/po/ka.gmo
Binary files differ
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..8a30db2
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,510 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# George Machitidze <giomac@gmail.com>, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-01-26 10:08-0500\n"
+"Last-Translator: George Machitidze <giomac@gmail.com>\n"
+"Language-Team: Georgian (http://www.transifex.com/projects/p/fedora/language/"
+"ka/)\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "პაროლი:"
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "ახალი %s პაროლი: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "ახალი პაროლი: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ახალი %s პაროლი: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ახალი პაროლი: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "გაიმეორეთ ახალი %s პაროლი: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "გაიმეორეთ ახალი პაროლი: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "ხელახლა შეიყვანეთ %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "პაროლი უკვე იყო გამოყენებული."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "მომხმარებელი:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "წარმატებული"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "მოდულის ჩატვირთვა ვერ მოხერხდა"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "სიმბოლო ვერ მოიძებნა"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "შეცდომა სერვისის მოდულში"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "სისტემური შეცდომა"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "მეხსიერების ბუფერის შეცდომა"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "წვდომა უარყოფილია"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "ავთენტიფიკაციის შეცდომა"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "მოდული უცნობია"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "PAM-ის უცნობი შეცდომა"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...დრო გადის...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "თქვენ გაქვთ ახალი წერილი."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "თქვენ გაქვთ ახალი წერილი."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' დირექტორიის შექმნა."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "პაროლი უკვე იყო გამოყენებული."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "როლი:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "დონე:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "პაროლი არ იქნა მითითებული"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "პაროლი უკვე იყო გამოყენებული."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "თქვენ უნდა აირჩიოთ მოკლე პაროლი."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "თქვენ უნდა აირჩიოთ მოკლე პაროლი."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "თქვენ უნდა აირჩიოთ მოკლე პაროლი."
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ძალიან გავს ძველს"
+
+#~ msgid "is too simple"
+#~ msgstr "ძალიან მარტივია"
+
+#~ msgid "is rotated"
+#~ msgstr "შებრუნებულია"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "რაღაც ფორმით გავს მომხმარებლის სახელს"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ცუდი პაროლი: %s"
+
+#~ msgid "Service error"
+#~ msgstr "სერვისის შეცდომა"
+
+#~ msgid "Unknown user"
+#~ msgstr "უცნობი მომხმარებელი"
+
+#~ msgid "Unknown error"
+#~ msgstr "უცნობი შეცდომა"
diff --git a/po/kk.gmo b/po/kk.gmo
new file mode 100644
index 0000000..1fab816
--- /dev/null
+++ b/po/kk.gmo
Binary files differ
diff --git a/po/kk.po b/po/kk.po
new file mode 100644
index 0000000..816c617
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,561 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2012, 2020.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-06-24 09:40+0000\n"
+"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
+"Language-Team: Kazakh <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/kk/>\n"
+"Language: kk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.1.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Пароль: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "%s үшін ағымдағы пароль: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Ағымдағы пароль: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "%s үшін жаңа пароль: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "үшін жаңа пароль: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "%s үшін жаңа парольді қайта енгізіңіз: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "үшін жаңа парольді қайта енгізіңіз: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Кешіріңіз, парольдер өзара сәйкес емес."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s қайта енгізіңіз"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Парольді өзгертуден бас тартылды."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "тіркелгі:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Сәтті"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Қатаң қате - ұзамай-ақ шығу"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Модульді жүктеу мүмкін емес"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Таңба табылмады"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Қызмет модулінде қате"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Жүйелік қате"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Жады буфер қатесі"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Рұқсат жоқ"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Шындылықты тексеру қатесі"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+"Шындылықты тексеру мәліметтерге қол жеткізу үшін тіркелгі ақпараты "
+"жеткіліксіз"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Шындылықты тексеру қызметі мәліметтерді жүктей алмады"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Пайдаланушы шындылықты тексеру қызметіне белгісіз"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Қызмет үшін анықталған талаптар саны біткен"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Шындылықты тексеру маркері бұдан былай қате; жаңасы керек"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Пайдаланушы тіркелгісінің мерзімі аяқталған"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Көрсетілген сессия үшін жазбаны жасау/өшіру мүмкін емес"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Шындылықты тексеру қызметі пайдаланушының мәліметтерін жүктей алмады"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Пайдаланушы тіркелгісінің мерзімі аяқталған"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Пайдаланушы мәліметін орнату мүмкін емес"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Модуль үшін керек ақпарат жоқ болып тұр"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() құрамында қате элемент берілген"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Сұхбат қатесі"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Шындылықты тексеру маркерімен әрекет өткізу қатесі"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Шындылықты тексеру ақпаратын қайтару мүмкін емес"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Шындылықты тексеру маркерінің оқшаулауы бос емес"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Шындылықты тексеру маркерінің мерзіммен шектеу сөндірілген"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Парольдерді тексеру қызметі алдын-ала тексеруду өткізе алмады"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Қайтарылған мәнді PAM-ға берілген кезде елемеу керек"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Модуль белгісіз"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Шындылықты тексеру маркерінің мерзімі аяқталған"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Сұхбат үрдісі оқиғаны күтіп тұр"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Бағдарлама libpam-ды қайтадан шақыруы керек"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Белгісіз PAM қатесі"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Уақытыңыз бітіп барады...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Кешіріңіз, сіздің уақытыңыз бітті!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "қате сұхбат (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s қатесі: шығу коды %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s қатесі: алынған сигнал %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s қатесі: белгісіз қалып-күйі 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Қолданылуы: %s: [--dir /tally-бумасына/дейінгі/жол] [--user пайдаланушы] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Тіркелгі %u рет қате кіру талабы салдарынан бұғатталды."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(бұғатты шешуге дейін %d минут қалды)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(бұғатты шешуге дейін %d минут қалды)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " қайдан: %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " қайда: %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Соңғы рет жүйеге кіру:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Жаңа тіркелгңізіге қош келдіңіз!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Соңғы сәтсіз жүйеге кіру талабы:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Соңғы сәтті жүйеге кіру реттен кейін %d қате талап болған."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Соңғы сәтті жүйеге кіру реттен кейін %d қате талап болған."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "\"%s\" үшін жүйеге кіру талап саны тым көп."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Сізде жаңа пошта жоқ."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Сізде жаңа поштаңыз бар."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Сізде ескі поштаңыз бар."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Сізде пошта бар."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Сізде %s бумасында пошта жоқ."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Сізде %s бумасында жаңа поштаңыз бар."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Сізде %s бумасында ескі поштаңыз бар."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Сізде %s бумасында поштаңыз бар."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' бумасын жасау."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "'%s' бумасын жасау мүмкін емес."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Пароль осыған дейін қолданған. Басқасын таңдаңыз."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Пароль осыған дейін қолданылған."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Бастапқы қауіпсіздік контексті %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Басқа роль не деңгейді енгізуді қалайсыз ба?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ролі:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "%s ролі үшін бастапқы түрі көрсетілмеген."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "деңгейі:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Дұрыс қауіпсіздік контексті емес."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "%s үшін жарамды контекстті алу мүмкін емес."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s қауіпсіздік контексті тағайындалды."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "%s кілттерді жасау қауіпсіздік контексті тағайындалды."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM-ды іске қосу мүмкін емес\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() орындау мүмкін емес\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: үрдісті бастау мүмкін емес: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Рұқсат расталған (соңғы қатынау %ld секунд бұрын болған)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Тіркелгіңіздің мерзімі аяқталған; жүйелік әкімшіңізге хабарласыңыз."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Сізге пароліңізді қазір ауыстыру керек (әкімші мәжбүрлеген)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Сізге пароліңізді қазір ауыстыру керек (парольдің мерзімі аяқталған)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Ескерту: сіздің пароліңіздің мерзімі %d күнде бітеді."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Ескерту: сіздің пароліңіздің мерзімі %d күнде бітеді."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS паролін өзгерту мүмкін емес."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Пароль көрсетілмеді."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Пароль өзгертілмеді."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Сіз қысқа парольді таңдауыңыз керек."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Сізге ұзынырақ парольді таңдау керек."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s үшін парольді өзгерту."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Пароліңізді өзгерті үшін біраз күтуіңіз керек."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "алдыңғысына сәйкес болып тұр"
+
+#~ msgid "memory allocation error"
+#~ msgstr "жадыны бөлу қатесі"
+
+#~ msgid "is a palindrome"
+#~ msgstr "палиндром болып тұр"
+
+#~ msgid "case changes only"
+#~ msgstr "өзгерістер таңбалардың регистрінде ғана"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ескі парольге өте ұқсас"
+
+#~ msgid "is too simple"
+#~ msgstr "өте оңай болып тұр"
+
+#~ msgid "is rotated"
+#~ msgstr "аударылған ескі пароль"
+
+#~ msgid "not enough character classes"
+#~ msgstr "керек таңбалар кластары жоқ"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "құрамында бірдей таңбалардың тізбегі бар"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "құрамында біркелкі таңбалардың тым ұзын тізбегі бар"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "құрамында пайдаланушы аты бар"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ҚАТЕ ПАРОЛЬ: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Тіркелгі уақытша бұғатталған (%ld секунд қалды)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Шындылықты анықтау қатесі"
+
+#~ msgid "Service error"
+#~ msgstr "Қызмет қатесі"
+
+#~ msgid "Unknown user"
+#~ msgstr "Белгісіз пайдаланушы"
+
+#~ msgid "Unknown error"
+#~ msgstr "Белгісіз қате"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= үшін қате сан берілді\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: %s опциясы белгісіз\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file түбірлік_файл_аты] [--user пайдаланушы] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Барлық пайдаланушыларды нөлдік емес мәнге тастау мүмкін емес\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Пайдаланушы аты Сәтсіз кіру саны Соңғы қате Қайдан\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f түбірлік_файл_аты] [--file түбірлік_файл_аты]\n"
+#~ " [-u пайдаланушы_аты] [--user пайдаланушы_аты]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/km.gmo b/po/km.gmo
new file mode 100644
index 0000000..ee7497e
--- /dev/null
+++ b/po/km.gmo
Binary files differ
diff --git a/po/km.po b/po/km.po
new file mode 100644
index 0000000..4561f65
--- /dev/null
+++ b/po/km.po
@@ -0,0 +1,538 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Khoem Sokhem <khoemsokhem@khmeros.info>, 2006.
+# Leang Chumsoben <soben@khmeros.info>, 2006.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-29 07:00-0500\n"
+"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "ពាក្យសម្ងាត់ ៖ "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "ពាក្យ​សម្ងាត់ %s ថ្មី ៖"
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "ពាក្យ​សម្ងាត់ ថ្មី ៖"
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ពាក្យ​សម្ងាត់ %s ថ្មី ៖"
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ពាក្យ​សម្ងាត់ ថ្មី ៖"
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "វាយ​ពាក្យ​សម្ងាត់ %s ថ្មី​ឡើង​វិញ ៖"
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "វាយ​ពាក្យ​សម្ងាត់ ថ្មី​ឡើង​វិញ ៖"
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "សូម​ទោស ពាក្យ​សម្ងាត់​មិន​ដូច​គ្នា​ឡើយ ។"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "ពាក្យសម្ងាត់​ត្រូវ​បាន​ប្រើ​រួច​ហើយ ។ សូម​ជ្រើស​មួយ​ទៀត ។"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ចូល ៖"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "ជោគជ័យ"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "កំហុស​ធ្ងន់ធ្ងរ - បោះបង់ភ្លាមៗ"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "រក​មិន​ឃើញ​និមិត្ត​សញ្ញា"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "កំហុស​នៅ​ក្នុង​ម៉ូឌុល​សេវា"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "កំហុស​ប្រព័ន្ធ"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "កំហុស​សតិ​បណ្ដោះ​អាសន្ន"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "សិទ្ធិ​ត្រូវ​បាន​បដិសេធ"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "បរាជ័យ​ក្នុង​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "លិខិត​សម្គាល់​មិន​គ្រប់គ្រាន់ដើម្បី​ចូល​ដំណើរ​ការ​ទិន្នន័យ​ដែល​មាន​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "អ្នក​ប្រើ មិន​ស្គាល់​ម៉ូឌុលផ្ទៀងផ្ទាត់​ភាពត្រឹមត្រូវមូលដ្ឋាន"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "គណនី​អ្នក​ប្រើ​បាន​ផុត​កំណត់​ហើយ"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "មិន​អាច​បង្កើត ឬ យក​ធាតុ​មួយ​ចេញ សម្រាប់សម័យ​ដែល​បាន​បញ្ជាក់"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "សេវា​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ មិន​អាច​ទៅ​យក​លិខិត​សម្គាល់របស់អ្នក​ប្រើ"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "លិខិត​សម្គាល់របស់​អ្នក​ប្រើ​បាន​ផុត​កំណត់"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "បរាជ័យ​ក្នុង​ការ​កំណត់​លិខិត​សម្គាល់របស់អ្នក​ប្រើ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "គ្មាន​ម៉ូឌុល​ទិន្នន័យជាក់លាក់​ត្រូវបង្ហាញ"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "បាន​ហុច​ធាតុមិន​ល្អ​ទៅ​ឲ្យ to pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "កំហុស​សន្ទនា"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "កំហុស​រៀបចំ​ថូខឹន​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "ព័ត៌មាន​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​មិន​អាច​ត្រូវ​យកបាន​វិញ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "ការ​ចាក់សោ​ថូខឹន​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវកំពុង​ជាប់​រវល់"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "ភាព​ចាស់​របស់​ថូខឹន​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ មិនបាន​អនុញ្ញាត"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "ការពិនិត្យ​មើលដំបូង​ដោយ​សេវា​ពាក្យ​សម្ងាត់​បាន​បរាជ័យ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "តម្លៃ​ត្រឡប់​គួរត្រូវ​បាន​មិនអើពើ​ដោយ​ការ​បញ្ជូន PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "មិន​ស្គាល់​ម៉ូឌុល"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "ថូខឹនផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​បាន​ផុត​កំណត់"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "ការ​សន្ទនា​កំពុង​រង់ចាំ​ព្រឹត្តិការណ៍"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "កម្មវិធី​ត្រូវ​តែ​ហៅ libpam ម្ដង​ទៀត"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "មិន​ស្គាល់​កំហុស PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...អស់​ពេល...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...សូម​ទោស អ្នក​អស់​ពេល​ហើយ !\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "សន្ទនាច្រឡំ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s ៖ [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " ពី %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " លើ %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "ចូល​ចុងក្រោយ ៖%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "សូម​ស្វាគមន៍​មក​កាន់​គណនី​ថ្មី​របស់​អ្នក !"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "មាន​ការ​ចូល​ច្រើន​ពេក​សម្រាប់ '%s' ។"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "អ្នក​មាន​សំបុត្រ​ថ្មី ។"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "អ្នក​មាន​សំបុត្រ​ថ្មី ។"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "អ្នក​មាន​សំបុត្រ​ចាស់ ។"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "អ្នក​មាន​សំបុត្រ ។"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "អ្នក​គ្មានសំបុត្រនៅ​ក្នុង​ថត %s ។"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "អ្នក​មាន​សំបុត្រ​ថ្មី​នៅ​ក្នុង​ថត %s ។"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "អ្នក​មាន​សំបុត្រ​ចាស់​នៅ​ក្នុង​ថត %s ។"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "អ្នក​មាន​សំបុត្រ​នៅ​ក្នុង​ថត %s ។"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "ពាក្យសម្ងាត់​ត្រូវ​បាន​ប្រើ​រួច​ហើយ ។ សូម​ជ្រើស​មួយ​ទៀត ។"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "ពាក្យសម្ងាត់​ត្រូវ​បាន​ប្រើ​រួច​ហើយ ។ សូម​ជ្រើស​មួយ​ទៀត ។"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "មិន​មែន​ជា​បរិបទ​សុវត្ថិភាព​ត្រឹមត្រូវ​មួយឡើយ"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "មិន​មែន​ជា​បរិបទ​សុវត្ថិភាព​ត្រឹមត្រូវ​មួយឡើយ"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "បរិបទ​សុវត្ថិភាព %s បាន​ផ្ដល់​តម្លៃ​"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "បរិបទ​សុវត្ថិភាព %s បាន​ផ្ដល់​តម្លៃ​"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ចាប់ផ្ដើម PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "បាន​បរាជ័យ pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ចូល ៖ ចម្លង​ខ្លួន​ឯង​មិន​បាន​ជោគជ័យ ៖ %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "គណនី​របស់​អ្នក​បាន​ផុតកំណត់​ហើយ សូម​ទាក់ទង​អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​របស់​អ្នក"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "អ្នក​ត្រូវ​តែ​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់​អ្នក​ឥឡូវ​នេះ (root បាន​ចេញ​បញ្ជា)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "អ្នក​ត្រូវ​តែ​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់​អ្នក​ឥឡូវ​នេះ (ពាក្យសម្ងាត់​ចាស់​ហើយ)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "មិន​អាច​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់ NIS បាន​ឡើយ ។"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "មិន​បាន​ផ្ដល់​ពាក្យសម្ងាត់"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "មិន​អាច​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់ NIS បាន​ឡើយ ។"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "អ្នកត្រូវតែជ្រើសរើសពាក្យសម្ងាត់ខ្លី។"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "អ្នក​ត្រូវ​តែ​ជ្រើស​ពាក្យសម្ងាត់​វែង​ជាង​នេះ"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "អ្នក​ត្រូវ​តែ​រង់ចាំ​បន្តិច ដើម្បី​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់​អ្នក"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ដូច​គ្នា​នឹង​ពាក្យ​សម្ងាត់​ចាស់"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ត្រឡប់​ចុះ​ឡើង"
+
+#~ msgid "case changes only"
+#~ msgstr "គ្រាន់​តែ​ផ្លាស់ប្ដូរ​លក្ខណៈ​អក្សរ​ប៉ុណ្ណោះ​"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ស្រដៀង​គ្នា​ណាស់​នឹង​ពាក្យ​សម្ងាត់​ចាស់"
+
+#~ msgid "is too simple"
+#~ msgstr "សាមញ្ញ​ពេក"
+
+#~ msgid "is rotated"
+#~ msgstr "បាន​បង្វិល"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ពាក្យ​សម្ងាត់​មិន​ល្អ ៖ %s"
+
+#~ msgid "Authentication error"
+#~ msgstr "កំហុស​ក្នុង​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ"
+
+#~ msgid "Service error"
+#~ msgstr "កំហុស​សេវា"
+
+#~ msgid "Unknown user"
+#~ msgstr "មិន​ស្គាល់​អ្នក​ប្រើ"
+
+#~ msgid "Unknown error"
+#~ msgstr "មិន​ស្គាល់​កំហុស"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s ៖ លេខ​មិន​ល្អ​បាន​ផ្ដល់​ទៅ --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s ៖ ជម្រើស​ដែល​មិន​ស្គាល់ %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s ៖ [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s ៖ មិន​អាច​កំណត់​អ្នក​ប្រើ​ទាំងអស់​ទៅ​មិនមែន​សូន្យ​ឡើងវិញ​បានទេ\n"
diff --git a/po/kn.gmo b/po/kn.gmo
new file mode 100644
index 0000000..a1022d3
--- /dev/null
+++ b/po/kn.gmo
Binary files differ
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 0000000..03422c9
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,572 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# shanky <prasad.mvs@gmail.com>, 2013
+# shanky <prasad.mvs@gmail.com>, 2012
+# shankar <svenkate@redhat.com>, 2007-2009
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-15 04:49-0400\n"
+"Last-Translator: shanky <prasad.mvs@gmail.com>\n"
+"Language-Team: Kannada (http://www.transifex.com/projects/p/fedora/language/"
+"kn/)\n"
+"Language: kn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "ಗುಪ್ತಪದ: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "ಹೊಸ %sಗುಪ್ತಪದ: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "ಹೊಸ ಗುಪ್ತಪದ: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ಹೊಸ %sಗುಪ್ತಪದ: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ಹೊಸ ಗುಪ್ತಪದ: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "ಹೊಸ %sಗುಪ್ತಪದವನ್ನು ಪುನರ್ ಟೈಪಿಸಿ: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "ಹೊಸ ಗುಪ್ತಪದವನ್ನು ಪುನರ್ ಟೈಪಿಸಿ: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "ಕ್ಷಮಿಸಿ, ಗುಪ್ತಪದಗಳು ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s ಅನ್ನು ಮರಳಿ ನಮೂದಿಸಿ"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "ಗುಪ್ತಪದ ಬದಲಾವಣೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ಲಾಗಿನ್:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "ಯಶಸ್ಸು"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "ಸಂದಿಗ್ಧ ದೋಷ - ತಕ್ಷಣ ಸ್ಥಗಿತಗೊಳಿಸು"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "ಮಾಡ್ಯೂಲನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "ಸಂಜ್ಞೆ ಪತ್ತೆಯಾಗಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "ಸೇವಾ ಮಾಡ್ಯೂಲಿನಲ್ಲಿ ದೋಷ"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "ವ್ಯವಸ್ಥೆಯ ದೋಷ"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "ಮೆಮೊರಿ ಬಫರ್ ದೋಷ"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "ಅನುಮತಿಯನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "ದೃಢೀಕರಣವು ವಿಫಲಗೊಂಡಿದೆ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "ದೃಢೀಕರಣ ದತ್ತಾಂಶವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ರುಜುವಾತು ಸಾಕಷ್ಟು ಇಲ್ಲ"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "ದೃಢೀಕರಣ ಸೇವೆಯು ದೃಢೀಕರಣ ಮಾಹಿತಿಯನ್ನು ಹಿಂಪಡೆಯಲು ಆಗುತ್ತಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "ಕೆಳಗಿರುವ ದೃಢೀಕರಣ ಮಾಡ್ಯೂಲಿಗೆ ಬಳಕೆದಾರನ ಬಗ್ಗೆ ತಿಳಿದಿಲ್ಲ್ಲ"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "ಸೇವೆಗಾಗಿನ ಗರಿಷ್ಟ ಸಂಖ್ಯೆಯ ಪುನರ್ ಪ್ರಯತ್ನಗಳೆಲ್ಲಾ ಖಾಲಿಯಾಗಿವೆ"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "ದೃಢೀಕರಣ ಸಂಕೇತವು ಅಮಾನ್ಯವಾಗಿದೆ; ಹೊಸದೊಂದರ ಅಗತ್ಯವಿದೆ"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ಬಳಕೆದಾರ ಖಾತೆಯು ಅವಧಿ ಅಂತ್ಯವಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "ನಿಗದಿತ ಸೆಶನ್ನಿಗೆ ಒಂದು ನಮೂದನ್ನು ಮಾಡಲು/ತೆಗೆದುಹಾಕಲು ಆಗುತ್ತಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "ದೃಢೀಕರಣ ಸೇವೆಗೆ ಬಳಕೆದಾರನ ರುಜುವಾತುಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಆಗುತ್ತಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ಬಳಕೆದಾರ ರುಜುವಾತುಗಳ ಅವಧಿ ಅಂತ್ಯಗೊಂಡಿದೆ"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ಬಳಕೆದಾರ ರುಜುವಾತುಗಳನ್ನು ಸಂಯೋಜಿಸುವಲ್ಲಿ ವಿಫಲತೆ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "ಮಾಡ್ಯೂಲ್ ನಿಶ್ಚಿತ ದತ್ತಾಂಶವು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() ಗೆ ಒಂದು ಕೆಟ್ಟ ಅಂಶವನ್ನು ರವಾನಿಸಲಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "ಸಂವಾದಾತ್ಮಕ ದೋಷ"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "ದೃಢೀಕರಣ ಸಂಕೇತದ ಕುಶಲ ನಿರ್ವಹಣೆಯಲ್ಲಿನ ದೋಷ"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "ದೃಢೀಕರಣ ಮಾಹಿತಿಯನ್ನು ಮರುಗಳಿಸಲು ಆಗುವುದಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "ದೃಢೀಕರಣ ಸಂಕೇತ ಲಾಕ್ ಕಾರ್ಯಮಗ್ನವಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "ದೃಢೀಕರಣ ಸಂಕೇತದ ಕಾಲಾವಧಿ ಮೀರುವುದನ್ನು ಅಶಕ್ತಗೊಳಿಸಲಾಗಿದೆ"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "ಗುಪ್ತಪದ ಸೇವೆಯ ಪ್ರಾಥಮಿಕ ಪರೀಕ್ಷೆಗಳು ವಿಫಲಗೊಂಡಿವೆ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "ಮರಳುವ ಮೌಲ್ಯವನ್ನು PAM ರವಾನೆಯಿಂದ ಅಲಕ್ಷಿಸಬೇಕು"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "ಮಾಡ್ಯೂಲು ತಿಳಿದಿಲ್ಲ"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "ದೃಢೀಕರಣ ಸಂಕೇತದ ಅವಧಿ ಅಂತ್ಯಗೊಂಡಿದೆ"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "ಸಂವಾದವು ಕಾರ್ಯಕ್ರಮಕ್ಕಾಗಿ ಕಾಯುತ್ತಿದೆ"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "ಅನ್ವಯವು libpam ಅನ್ನು ಪುನಃ ಕರೆಯಬೇಕಿದೆ"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "ಗೊತ್ತಿರದ PAM ದೋಷ"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...ಸಮಯ ಸರಿಯುತ್ತಿದೆ...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...ಕ್ಷಮಿಸಿ, ನಿಮ್ಮ ಸಮಯ ಮುಗಿಯಿತು!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ದೋಷಪೂರಿತ ಸಂವಾದ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ನಿರ್ಗಮಿಸಲು ಸಂಜ್ಞೆ %d "
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ಹಿಡಿಯಲಾದ ಸೂಚನೆ %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ಗೊತ್ತಿರದ ಸ್ಥಿತಿ 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "ವಿಫಲಗೊಂಡ %u ಪ್ರವೇಶಗಳಿಂದಾಗಿ ಖಾತೆಯನ್ನು ಲಾಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s ನಿಂದ"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s ನಲ್ಲಿ"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "ಕೊನೆಯ ಲಾಗಿನ್:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "ನಿಮ್ಮ ಹೊಸ ಖಾತೆಗೆ ಸುಸ್ವಾಗತ!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "ಕೊನೆಯ ಲಾಗಿನ್:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "ಕೊನೆಯ ಬಾರಿಯ ಯಶಸ್ವಿ ಪ್ರವೇಶದ ನಂತರ %d ವಿಫಲಗೊಂಡ ಪ್ರಯತ್ನಗಳಿವೆ."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "ಕೊನೆಯ ಬಾರಿಯ ಯಶಸ್ವಿ ಪ್ರವೇಶದ ನಂತರ %d ಪ್ರವೇಶದ ಪ್ರಯತ್ನಗಳು ವಿಫಲಗೊಂಡಿದೆ."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'ಗಾಗಿ ಬಹಳಷ್ಟು ಲಾಗಿನ್ನುಗಳು."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "ನಿಮಗಾಗಿ ಹೊಸ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "ನಿಮಗಾಗಿ ಹೊಸ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "ನಿಮಗಾಗಿ ಹಳೆ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "ನಿಮಗಾಗಿ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s ಫೋಲ್ಡರಿನಲ್ಲಿ ನಿಮಗಾಗಿ ಯಾವುದೆ ಮೈಲ್ ಇಲ್ಲ."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s ಫೋಲ್ಡರಿನಲ್ಲಿ ನಿಮಗಾಗಿ ಹೊಸ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s ಫೋಲ್ಡರಿನಲ್ಲಿ ನಿಮಗಾಗಿ ಹಳೆ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s ಫೋಲ್ಡರಿನಲ್ಲಿ ನಿಮಗಾಗಿ ಮೈಲ್ ಇದೆ."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲು ಹಾಗು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "ಗುಪ್ತಪದವು ಈಗಾಗಲೆ ಬಳಸಲ್ಪಟ್ಟಿದೆ. ಬೇರೊಂದನ್ನು ಬಳಸಿ."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "ಗುಪ್ತಪದವನ್ನು ಈಗಾಗಲೆ ಬಳಸಲಾಗಿದೆ."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "ಡೀಫಾಲ್ಟ್‍ ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "ನೀವು ನೀವು ಬೇರೊಂದು ಪಾತ್ರ ಅಥವ ಮಟ್ಟವನ್ನು ದಾಖಲಿಸಲು ಇಚ್ಛಿಸುತ್ತೀರ?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ಪಾತ್ರ:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "%s ಪಾತ್ರಕ್ಕಾಗಿ ಯಾವುದೆ ಡೀಫಾಲ್ಟ್‍ ಬಗೆ ಇಲ್ಲ\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "ಮಟ್ಟ:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "ಸಮಂಜಸವಾದ ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ ಅಲ್ಲ"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ %s ವನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "ಕೀಲಿ ನಿರ್ಮಾಣ ಸನ್ನಿವೇಶ %s ವನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿನ ವಿಫಲತೆ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ಲಾಗಿನ್: ಫೋರ್ಕಿಂಗ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ:%m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+"ಅನುಮತಿಯನ್ನು ನೀಡಲಾಗಿದೆ (ಕೊನೆಯ ಬಾರಿಗೆ %ld ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ ನಿಲುಕಿಸಿಕೊಳ್ಳಲಾಗಿತ್ತು)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "ನಿಮ್ಮ ಖಾತೆಯ ಅವಧಿ ಅಂತ್ಯಗೊಂಡಿದೆ; ದಯವಿಟ್ಟು ನಿಮ್ಮ ಗಣಕ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "ನೀವು ಈ ಕೂಡಲೆ ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಬದಲಿಸುವ ಅಗತ್ಯವಿದೆ (ಮೂಲದಿಂದ ಒತ್ತಾಯಿತವಾಗಿದೆ)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"ನೀವು ಈ ಕೂಡಲೆ ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಬದಲಿಸುವ ಅಗತ್ಯವಿದೆ (ಗುಪ್ತಪದವು ಬಹಳ ಹಳೆಯದಾಗಿದೆ)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "ಎಚ್ಚರಿಕೆ: ನಿಮ್ಮ ಗುಪ್ತಪದದ ವಾಯಿದೆಯು %d ದಿನಗಳ ನಂತರ ತೀರಿಹೋಗುತ್ತದೆ"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "ಎಚ್ಚರಿಕೆ: %d ದಿನಗಳಲ್ಲಿ ನಿಮ್ಮ ಗುಪ್ತಪದದ ಅವಧಿ ಅಂತ್ಯಗೊಳ್ಳುತ್ತದೆ"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ್ಲ."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "ಯಾವುದೇ ಗುಪ್ತಪದ ನೀಡಲಾಗಿಲ್ಲ"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ್ಲ."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "ನೀವು ಕಡಿಮೆ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಆರಿಸಬೇಕು."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "ನೀವು ಒಂದು ಉದ್ದವಾದ ಗುಪ್ತಪದವನ್ನು ಆರಿಸಬೇಕು"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s ಗಾಗಿ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಬಹಳ ಸಮಯ ಕಾಯಬೇಕು"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ಇದು ಹಳೆಯದರ ಹಾಗೆಯೇ ಇದೆ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "ಮೆಮೊರಿ ನಿಯೋಜನಾ ದೋಷ"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ಇದು ಒಂದು ಸಮಾನ ಪೂರ್ವಾಪರವಾಗಿದೆ (palindrome)"
+
+#~ msgid "case changes only"
+#~ msgstr "ಕೇವಲ ಕೇಸ್ ಗಳ ಬದಲಾವಣೆಯಾಗಿದೆ ಅಷ್ಟೆ"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ಇದು ಹಳೆಯದಕ್ಕೆ ಬಹಳಷ್ಟು ಹೋಲುತ್ತದೆ"
+
+#~ msgid "is too simple"
+#~ msgstr "ಇದು ಬಹಳ ಸರಳವಾಗಿದೆ"
+
+#~ msgid "is rotated"
+#~ msgstr "ಇದು ತಿರುಗಿಸಲಾಗಿದೆ"
+
+#~ msgid "not enough character classes"
+#~ msgstr "ಸಾಕಷ್ಟು ಕ್ಯಾರೆಕ್ಟರ್ ವರ್ಗಗಳು ಇಲ್ಲ"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "ಇದು ಒಂದೇ ಬಗೆಯ ಬಹಳಷ್ಟು ಕ್ಯಾರೆಕ್ಟರುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಹೊಂದಿದೆ"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "ಇದು ಒಂದೇ ಬಗೆಯ ಉದ್ದನೆಯ ಅಕ್ಷರಗಳ ಅನುಕ್ರಮವನ್ನು ಹೊಂದಿದೆ"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "ಇದು ಯಾವುದೊ ಒಂದು ಬಗೆಯಲ್ಲಿ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಒಳಗೊಂಡಿದೆ"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ಕೆಟ್ಟ ಗುಪ್ತಪದ: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "ಖಾತೆಯನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ (%ld ಸೆಕೆಂಡುಗಳು ಉಳಿದಿವೆ)"
+
+#~ msgid "Authentication error"
+#~ msgstr "ದೃಢೀಕರಣ ದೋಷ"
+
+#~ msgid "Service error"
+#~ msgstr "ಸೇವಾ ದೋಷ"
+
+#~ msgid "Unknown user"
+#~ msgstr "ಗೊತ್ತಿರದ ಬಳಕೆದಾರ"
+
+#~ msgid "Unknown error"
+#~ msgstr "ಗೊತ್ತಿರದ ದೋಷ"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= ಗೆ ಕೊಡಲಾದ ಕೆಟ್ಟ ಸಂಖ್ಯೆ\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: ಗುರುತಿಸಲಾಗದ ಆಯ್ಕೆ %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಶೂನ್ಯವಲ್ಲದುದಕ್ಕೆ ಪುನರ್ ಸಂಯೋಜಿಸಲು ಆಗುವುದಿಲ್ಲ\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "ಪ್ರವೇಶ ವಿಫಲತೆಗಳು ಇತ್ತೀಚಿನ ವಿಫಲತೆ ಇಂದ\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ko.gmo b/po/ko.gmo
new file mode 100644
index 0000000..ef20d46
--- /dev/null
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..ffb77f8
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,561 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# eukim <eukim@redhat.com>, 2013
+# eukim <eukim@redhat.com>, 2007,2009
+# eukim <eukim@redhat.com>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# simmon <simmon@nplob.com>, 2021.
+# Seong-ho Cho <darkcircle.0426@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-24 10:04+0000\n"
+"Last-Translator: simmon <simmon@nplob.com>\n"
+"Language-Team: Korean <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ko/>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "암호: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "현재 %s 암호: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "현재 암호: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "새 %s 암호: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "새 암호: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "새 %s 암호 다시 입력: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "새 암호 다시 입력: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "죄송합니다. 암호가 일치하지 않습니다."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s 다시 입력"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "암호 변경을 취소했습니다."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "로그인:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "성공"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "치명적인 오류 - 즉시 중지"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "모듈 불러오기 실패"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "기호를 찾을 수 없음"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "서비스 모듈에서 오류 발생"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "시스템 오류"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "메모리 버퍼 오류"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "권한 부여 거부"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "인증 실패"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "인증 데이터 접근에 불충분한 인증 정보"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "인증 서비스에서 인증 정보를 가져올 수 없습니다"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "기본 인증 모듈에서 사용자를 알 수 없음"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "서비스를 최대로 재시도함"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "더 이상 인증 토큰이 유효하지 않습니다. 새로운 인증 토큰이 필요합니다"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "사용자 계정 만료"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "특정 세션에 대해 항목을 생성/삭제할 수 없음"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "인증 서비스에서 사용자 인증을 읽을 수 없음"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "사용자 인증 만료"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "사용자 인증 설정 실패"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "특정 모듈 데이터가 없음"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item()에 잘못된 항목 전달"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "인증 대화 오류"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "인증 토근 수정 오류"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "인증 정보를 복구할 수 없음"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "인증 토큰 잠금 장치 사용중"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "인증 토큰 기한이 비활성화됩니다"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "암호 서비스에서 사전 확인 실패"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "복귀 값은 PAM 디스패치에 의해 무시됩니다"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "모듈을 알 수 없음"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "인증 토큰 만료"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "이벤트를 위해 인증 대화를 기다리는 중 입니다"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "libpam을 다시 불러오려면 응용 프로그램이 필요함"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "알 수 없는 PAM 오류"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "..시간 초과...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...죄송합니다. 시간이 초과되었습니다!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "잘못된 인증 대화 (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s 실패: 종료 코드 %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s 실패: 신호 발견 %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s 실패: 알 수 없는 상태 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"사용법: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "계정이 %u 로그인 실패로 인해 계정이 잠김 상태가 됩니다."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(해제시까지 %d 분 남았습니다)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(해제시까지 %d 분 남았습니다)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s에서 시작"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " 일시 %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "마지막 로그인:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "새로운 계정을 사용해 주셔서 감사합니다!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "마지막 실패한 로그인:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "마지막 로그인 후 %d 번의 로그인 시도가 실패하였습니다."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "마지막 성공적인 로그인 이후에 %d번의 실패한 로그인 시도가 있었습니다."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' 대해 너무 많은 로그인 시도가 있었습니다."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "새로운 전자우편이 없습니다."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "새로운 메일이 있습니다."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "오래된 메일이 있습니다."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "메일이 있습니다."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s 폴더에 메일이 없습니다."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s에 새로운 메일이 있습니다."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s 폴더에 오래된 메일이 있습니다."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s 폴더에 메일이 있습니다."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' 디렉토리 생성 중."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "'%s' 디렉토리를 생성 및 초기화 할 수 없습니다."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "이미 사용되고 있는 암호입니다. 다른 암호를 선택해 주십시오."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "이미 사용되고 있는 암호입니다."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "기본 보안 내용은 %s 입니다."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "다른 역할 또는 레벨을 입력하시겠습니까?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "역할:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "역할 %s 에 대한 기본값 유형이 없습니다."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "수준:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "유효한 보안 내용이 없습니다."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "%s를 위한 유효한 내용을 가져올 수 없습니다."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "보안 내용 %s이 할당되었습니다."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "키 생성 내용 %s 할당되었습니다."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM 초기화 실패\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() 실패\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "로그인: 포크 작업(forking) 실패: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "접근이 허용되었습니다 (마지막 접근이 %ld 초 전 이었습니다)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "계정이 만료되었습니다; 시스템 관리자에게 알려 주십시오."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "암호를 빨리 변경해 주십시오 (관리자가 강제합니다)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "암호를 긴급히 변경해 주십시오 (암호 기한이 끝났습니다)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "경고: 암호 기한이 %d 일 이내로 끝납니다."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "경고: 암호 기한이 %d 일 이내로 끝납니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS 암호는 변경할 수 없습니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "암호를 입력하지 않았습니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "암호를 바꾸지 않았습니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "더 짧은 암호를 입력해야합니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "더 긴 비밀번호를 선택해 주세요."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s의 암호를 바꿉니다."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "암호를 바꾸려면 더 오래 기다려야합니다."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "이전 암호와 같음"
+
+#~ msgid "memory allocation error"
+#~ msgstr "메모리 할당 오류 "
+
+#~ msgid "is a palindrome"
+#~ msgstr "앞뒤 어느쪽에서 읽어도 같은 문맥임"
+
+#~ msgid "case changes only"
+#~ msgstr "대소문자만 변경"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "이전 암호와 유사함"
+
+#~ msgid "is too simple"
+#~ msgstr "너무 간단함"
+
+#~ msgid "is rotated"
+#~ msgstr "교체됨"
+
+#~ msgid "not enough character classes"
+#~ msgstr "문자 클래스가 부족합니다 "
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "너무 많은 동일한 문자가 연속적으로 포함되어있습니다 "
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "너무 길게 단순한 문자가 연속적으로 포함되어 있습니다 "
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "어떠한 형식으로 사용자 이름을 포함합니다. "
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "잘못된 암호: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "일시적으로 계정이 잠금되었습니다 (%ld 초 남음) "
+
+#~ msgid "Authentication error"
+#~ msgstr "인증 오류"
+
+#~ msgid "Service error"
+#~ msgstr "서비스 오류"
+
+#~ msgid "Unknown user"
+#~ msgstr "알 수 없는 사용자"
+
+#~ msgid "Unknown error"
+#~ msgstr "알 수 없는 오류"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: 잘못된 숫자가 --reset=에 설정됨\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: 알려지지 않은 옵션 %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: 모든 사용자를 영이 아닌 값으로 설정할 수 없음\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "로그인 실패 마지막 실패 다음에서 발생\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/kw_GB.gmo b/po/kw_GB.gmo
new file mode 100644
index 0000000..7bfbe7e
--- /dev/null
+++ b/po/kw_GB.gmo
Binary files differ
diff --git a/po/kw_GB.po b/po/kw_GB.po
new file mode 100644
index 0000000..dadd947
--- /dev/null
+++ b/po/kw_GB.po
@@ -0,0 +1,482 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the Linux-PAM package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM 1.2.1\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: Cornish (United Kingdom)\n"
+"Language: kw_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : "
+"3\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr ""
diff --git a/po/ky.gmo b/po/ky.gmo
new file mode 100644
index 0000000..92ed503
--- /dev/null
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
new file mode 100644
index 0000000..ed8ee84
--- /dev/null
+++ b/po/ky.po
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Kirgyz (http://www.transifex.com/projects/p/fedora/language/"
+"ky/)\n"
+"Language: ky\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Сиз кыска сөздү тандоо керек."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Сиз кыска сөздү тандоо керек."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Сиз кыска сөздү тандоо керек."
diff --git a/po/lt.gmo b/po/lt.gmo
new file mode 100644
index 0000000..17541aa
--- /dev/null
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..1d02198
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,487 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Lithuanian (http://www.transifex.com/projects/p/fedora/"
+"language/lt/)\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Turite pasirinkti trumpesnį slaptažodį."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Turite pasirinkti trumpesnį slaptažodį."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Turite pasirinkti trumpesnį slaptažodį."
diff --git a/po/lv.gmo b/po/lv.gmo
new file mode 100644
index 0000000..0bfd1ff
--- /dev/null
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
new file mode 100644
index 0000000..16d8add
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,487 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian (http://www.transifex.com/projects/p/fedora/language/"
+"lv/)\n"
+"Language: lv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Jums jāizvēlas īsāka parole."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Jums jāizvēlas īsāka parole."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Jums jāizvēlas īsāka parole."
diff --git a/po/mk.gmo b/po/mk.gmo
new file mode 100644
index 0000000..0199a74
--- /dev/null
+++ b/po/mk.gmo
Binary files differ
diff --git a/po/mk.po b/po/mk.po
new file mode 100644
index 0000000..8b195b7
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Macedonian (http://www.transifex.com/projects/p/fedora/"
+"language/mk/)\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Мора да изберете пократка лозинка."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Мора да изберете пократка лозинка."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Мора да изберете пократка лозинка."
diff --git a/po/ml.gmo b/po/ml.gmo
new file mode 100644
index 0000000..ca5e541
--- /dev/null
+++ b/po/ml.gmo
Binary files differ
diff --git a/po/ml.po b/po/ml.po
new file mode 100644
index 0000000..b7f4d87
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,572 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ani Peter <apeter@redhat.com>, 2007,2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-15 01:55-0400\n"
+"Last-Translator: Ani Peter <apeter@redhat.com>\n"
+"Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
+"Language: ml\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "അടയാളവാക്ക്: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "പുതിയ %s അടയാളവാക്ക്: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "പുതിയ അടയാളവാക്ക്: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "പുതിയ %s അടയാളവാക്ക്: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "പുതിയ അടയാളവാക്ക്: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "വീണ്ടും %s അടയാളവാക്ക് ടൈപ്പ് ചെയ്യുക: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "വീണ്ടും അടയാളവാക്ക് ടൈപ്പ് ചെയ്യുക: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "ക്ഷമിക്കണം, അടയാളവാക്കുകള്‍ തമ്മില്‍ ചേരുന്നില്ല."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s വീണ്ടും ടൈപ്പ് ചെയ്യുക"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "അടയാളവാക്ക് മാറ്റം വരുത്തുന്നതു് നിര്‍ത്തിയിരിക്കുന്നു."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ലോഗിന്‍:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "വിജയിച്ചു"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "ഗുരുതരമായ പിശക് - ഉടന്‍ അവസാനിപ്പിക്കുക"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "മൊഡ്യൂള്‍ ലഭ്യമാക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "ചിഹ്നം ലഭ്യമായില്ല"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "സര്‍വീസ് മൊഡ്യൂളില്‍ പിഴവ്"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "സിസ്റ്റമില്‍ പിഴവ്"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "മെമ്മറി ബഫറില്‍ പിശക്"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "പ്രവേശനം അനുവദിക്കുന്നതല്ല"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "ആധികാരികത ഉറപ്പാക്കുന്നതില്‍ പിശക്"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "ആധികാരികത ഉറപ്പാക്കുന്നതിന് മതിയായ ഡേറ്റാ ലഭ്യമാല്ല"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "ആധികാരികത ഉറപ്പാക്കുന്ന സര്‍വീസിന്, ആവശ്യമുളള വിവരങ്ങള്‍ ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "പറഞ്ഞിരിക്കുന്ന ഓഥന്റിക്കേഷന്‍ മൊഡ്യൂളില്‍ ഉപയോക്താവു് ലഭ്യമല്ല"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "സര്‍വീസ് ഇനി ലഭ്യമാക്കുവാന്‍ സാധ്യമാകുന്നതല്ല"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "ഓഥന്റിക്കേഷന്‍ ടോക്കന്റെ കാലാവധി കഴിഞ്ഞിരിക്കുന്നു; പുതിയത് നല്‍കുക"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ഉപയോക്താവിന്റെ അക്കൌണ്ടിന്റെ കാലാവധി അവസാനിച്ചിരിക്കുന്നു"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "പറഞ്ഞിരിക്കുന്ന സെഷന് ആവശ്യമുളള എന്‍ട്രി ഉണ്ടാക്കുവാനോ നീക്കുവാനോ സാധ്യമാകുന്നല്ല"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "ഓഥന്റിക്കേഷന്‍ സര്‍വീസിന് ഉപയോക്താവിന്റെ വിവരങ്ങള്‍ ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ഉപയോക്താവിന്റെ ആനുകൂല്യങ്ങളുടെ കാലാവധി അവസാനിച്ചിരിക്കുന്നു"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ഉപയോക്താവിനുള്ള ആനുകൂല്യങ്ങള്‍ ക്രമികരിക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "മൊഡ്യൂള്‍ അനുസരിച്ചുളള ഡേറ്റ ലഭ്യമല്ല"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item()-ലേക്ക് തെറ്റായ വസ്തു നല്‍കിയിരിക്കുന്നു"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "സംവാദത്തിലുളള പിശക്"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "ഓഫന്റിക്കേഷന്‍ ടോക്കന്‍ കൈകാര്യം ചെയ്യുന്നതില്‍ പിശക്"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "ഓഥന്റിക്കേഷന്‍ വിവരം വീണ്ടെടുക്കുവാന്‍ സാധ്യമല്ല"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "ഓഥന്റിക്കേഷന്‍ ടോക്കന്‍ ലോക്ക് ഉപയോഗത്തിലാണ്"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "ഓഥന്റിക്കേഷന്‍ ടോക്കന്‍ ഏജിങ് പ്രവര്‍ത്തന രഹിതമാണ്"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "അടയാളവാക്ക് സര്‍വീസിന്റെ ആദ്യത്തെ പരിശോധന പരാജയപ്പെട്ടു"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "തിരികെ നല്‍കുന്ന മൂല്ല്യം PAM ഡിസ്പാച്ച് അവഗണിക്കേണ്ടതാകുന്നു"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "മൊഡ്യൂള്‍ ലഭ്യമല്ല"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "ഓഥന്റിക്കേഷന്‍ ടോക്കന്റെ കാലാവധി അവസാനിച്ചിരിക്കുന്നു"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "സംവാദം ഒരു ഇവന്റിനായി കാത്തിരിക്കുന്നു"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "പ്രയോഗങ്ങള്‍ക്ക് വീണ്ടും libpam ആവശ്യമുണ്ട്"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "അപരിചിതമായ PAM പിശക്"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...സമയപരിധി അവസാനിക്കുന്നു...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...ക്ഷമിക്കണം, നിങ്ങളുടെ സമയം കഴിഞ്ഞിരിക്കുന്നു!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "തെറ്റായ സംവാദം (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s പരാ‍ജയപ്പെട്ടു: %d എന്ന കോഡില്‍ നിന്നും പുറത്ത് കടക്കുക"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s പരാ‍ജയപ്പെട്ടു: %d%s സിഗ്നല്‍ ലഭ്യമായിരിക്കുന്നു"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s പരാ‍ജയപ്പെട്ടു: അപരിചിതമായ 0x%x നിലവാരം"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u പരാജയപ്പെട്ട ലോഗിനുകള്‍ കാരണം അക്കൌണ്ട് താല്‍ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s-ല്‍ നിന്നും"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s-ല്‍"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "അവസാനം ലോഗിന്‍ ചെയ്തത്:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "നിങ്ങളുടെ പുതിയ അക്കൌണ്ടിലേക്ക് സ്വാഗതം!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "അവസാനം ലോഗിന്‍ ചെയ്തതു് പരാജയപ്പെട്ടു:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "ശരിയായി അവസാനം ലോഗിന്‍ ചെയ്ത ശേഷം %d തവണ ലോഗിന്‍ പരാജയപ്പെട്ടു."
+msgstr[1] "ശരിയായി അവസാനം ലോഗിന്‍ ചെയ്ത ശേഷം %d തവണ ലോഗിന്‍ പരാജയപ്പെട്ടു."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "ശരിയായി അവസാനം ലോഗിന്‍ ചെയ്ത ശേഷം %d തവണ ലോഗിന്‍ പരാജയപ്പെട്ടു."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'-ന് അനവധി ലോഗിനുകള്‍."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "നിങ്ങള്‍ക്ക് പുതിയ മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "നിങ്ങള്‍ക്ക് പുതിയ മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "നിങ്ങള്‍ക്ക് പഴയ മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "നിങ്ങള്‍ക്ക് മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s ഫോള്‍ഡറില്‍ നിങ്ങള്‍ക്ക് മെയില്‍ ഇല്ല."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s ഫോള്‍ഡറില്‍ നിങ്ങള്‍ക്ക് പുതിയ മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s ഫോള്‍ഡറില്‍ നിങ്ങള്‍ക്ക് പഴയ മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s ഫോള്‍ഡറില്‍ നിങ്ങള്‍ക്ക് മെയില്‍ ഉണ്ട്."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "'%s' ഡയറക്ടറി ഉണ്ടാക്കുന്നു."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "%s ഡയറക്ടറി ഉണ്ടാക്കുവാനും ആരംഭിക്കുവാനും സാധ്യമായില്ല."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "അടയാളവാക്ക് നിലവില്‍ ഉപയോഗിത്തിലുള്ളതാണ്. മറ്റൊന്ന് നല്‍കുക."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "രഹസ്യവാക്ക് നിലവില്‍ ഉപയോഗിച്ചിരിയ്ക്കുന്നു."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "സ്വതവേയുള്ള സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "നിങ്ങള്‍ക്കു് മറ്റൊരു ജോലി അല്ലെങ്കില്‍ നില നല്‍കണമോ?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ജോലി:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "%s ജോലിയ്ക്കു് സ്വതവേയുള്ള തരം ലഭ്യമല്ല\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "നില: "
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "ശരിയായ സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് അല്ല"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s എന്ന സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് നല്‍കിയിരിക്കുന്നു"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "കീ ഉണ്ടാക്കുന്നതിനുള്ള കോണ്‍ടെക്സ്റ്റ് ആയ %s നല്‍കിയിരിക്കുന്നു"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM ആരംഭിക്കുന്നതില്‍ പരാജയം\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() ചെയ്യുന്നതില്‍ പരാജയം\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: ഫോര്‍ക്ക് ചെയ്യുന്നതില്‍ പരാജയം: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "അനുവാദം നല്‍കിയിരിക്കുന്നു (ഒടുവില്‍ പ്രവേശിച്ചതു് %ld സെക്കന്‍ഡുകള്‍ക്കു് മുമ്പാണു്)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"നിങ്ങളുടെ അക്കൌണ്ടിന്റെ കാലാവധി അവസാനിച്ചിരിക്കുന്നു; ദയവായി സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്ററുമായി "
+"ബന്ധപ്പെടുക"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "നിങ്ങളുടെ അടയാളവാക്ക് ഉടനെ മാറ്റേണ്ടതുണ്ട് (root enforced)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "നിങ്ങളുടെ അടയാളവാക്ക് ഉടനെ മാറ്റേണ്ടതുണ്ട് (അടയാളവാക്ക് മാറ്റുന്നതിന് സമയമായി)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "മുന്നറിയിപ്പ്: നിങ്ങളുടെ അടയാളവാക്കിന്റെ കാലാവധി %d ദിവസത്തിനുള്ളില്‍ അവസാനിക്കുന്നു"
+msgstr[1] "മുന്നറിയിപ്പ്: നിങ്ങളുടെ അടയാളവാക്കിന്റെ കാലാവധി %d ദിവസത്തിനുള്ളില്‍ അവസാനിക്കുന്നു"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "മുന്നറിയിപ്പ്: നിങ്ങളുടെ അടയാളവാക്കിന്റെ കാലാവധി %d ദിവസത്തിനുള്ളില്‍ അവസാനിക്കുന്നു"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS അടയാളവാക്ക് മാറ്റുവാന്‍ സാധ്യമാകുന്നില്ല."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "അടയാളവാക്ക് നല്‍കിയിട്ടില്ല"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS അടയാളവാക്ക് മാറ്റുവാന്‍ സാധ്യമാകുന്നില്ല."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "നിങ്ങൾ ഒരു ഹ്രസ്വ പാസ്‌വേഡ് തിരഞ്ഞെടുക്കണം."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "ഇതിലും വലിയ അടയാളവാക്ക് തിരഞ്ഞെടുക്കുക"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s-നുളള അടയാളവാക്ക് മാറ്റുന്നു."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "നിങ്ങളുടെ അടയാളവാക്ക് മാറ്റുന്നതിനായി ഇനിയും കാത്തിരിക്കേണ്ടതാണ്."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "പഴയത് പോലെ തന്നെയാകുന്നതു്"
+
+#~ msgid "memory allocation error"
+#~ msgstr "മെമ്മറി അനുവദിയ്ക്കുന്നതില്‍ പിശക്"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ഒരു പാലിന്‍ഡ്രോം ആണു്"
+
+#~ msgid "case changes only"
+#~ msgstr "അക്ഷരങ്ങളുടെ വലിപ്പം മാത്രം മാറുന്നതു്"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "പഴയതിന് സാമ്യമുള്ളതു്"
+
+#~ msgid "is too simple"
+#~ msgstr "സാധാരണയുള്ളതു്"
+
+#~ msgid "is rotated"
+#~ msgstr "is rotated"
+
+#~ msgid "not enough character classes"
+#~ msgstr "മതിയായ ക്യാരക്ടര്‍ ക്ലാസ്സുകള്‍ ലഭ്യമല്ല"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "അടുത്തടുത്ത് ഒരേപോലുള്ള അനവധി അക്ഷരങ്ങളുണ്ടു്"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "വളരെയധികം ഒരേ തരത്തിലുള്ള അക്ഷരങ്ങളടങ്ങുന്നു"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "ഉപയോക്താവിന്റെ നാമം ഏതെങ്കിലും ഒരു തരത്തിലുണ്ടു്"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "തെറ്റായ അടയാളവാക്ക്: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "അക്കൌണ്ട് താല്‍ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു (%ld നിമിഷങ്ങള്‍ ബാക്കി)"
+
+#~ msgid "Authentication error"
+#~ msgstr "ആധികാരികത ഉറപ്പാക്കുന്നതില്‍ പിശക്"
+
+#~ msgid "Service error"
+#~ msgstr "സര്‍വീസ് പിശക്"
+
+#~ msgid "Unknown user"
+#~ msgstr "അപരിചിതമായ ഉപയോക്താവു്"
+
+#~ msgid "Unknown error"
+#~ msgstr "അപരിചിതമായ പിശക്"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s:നല്‍കിയിരിക്കുന്ന നംബര്‍ തെറ്റാണ്, --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Unrecognised ഉപാധി %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: എല്ലാ ഉപയോക്താക്കള്‍ക്കും പൂജ്യം അല്ലാതെ ക്രമികരിക്കുവാന്‍ സാധ്യമല്ല\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Failures Latest failure From\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/mn.gmo b/po/mn.gmo
new file mode 100644
index 0000000..f7964fa
--- /dev/null
+++ b/po/mn.gmo
Binary files differ
diff --git a/po/mn.po b/po/mn.po
new file mode 100644
index 0000000..9cd6e7a
--- /dev/null
+++ b/po/mn.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Mongolian (http://www.transifex.com/projects/p/fedora/"
+"language/mn/)\n"
+"Language: mn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Та богино нууц үг сонгох ёстой."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Та богино нууц үг сонгох ёстой."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Та богино нууц үг сонгох ёстой."
diff --git a/po/mr.gmo b/po/mr.gmo
new file mode 100644
index 0000000..8fa5111
--- /dev/null
+++ b/po/mr.gmo
Binary files differ
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 0000000..bfd9845
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,572 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2008-2009
+# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2008-2009, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-05-03 03:46-0400\n"
+"Last-Translator: sandeeps <sshedmak@redhat.com>\n"
+"Language-Team: Marathi (http://www.transifex.com/projects/p/fedora/language/"
+"mr/)\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "गुप्तशब्द: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "नवीन गुप्तशब्द %s: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "नवीन गुप्तशब्द: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "नवीन गुप्तशब्द %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "नवीन गुप्तशब्द: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "नवीन गुप्तशब्द %s पुन्हा टाइप करा: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "नवीन गुप्तशब्द पुन्हा टाइप करा: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "माफ करा, गुप्तशब्द जुळत नाही."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s पुन्हा प्रविष्ट करा"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "परवलीचा शब्द रद्द केले."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "दाखलन:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "यश"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "गंभीर त्रुटी - लगेच रद्द करा"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "विभाग दाखल करण्यास अपयशी"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "बोधचिन्ह आढळले नाही"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "सेवा विभाग अंतर्गत त्रुटी आढळली"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "प्रणाली त्रुटी"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "स्मृती बफर त्रुटी"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "परवानगी नाही"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "अधिप्रमाणन अपयश"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "अधिप्रमाणन माहिती करीता प्रवेशसाठी अपुरे श्रेय"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "अधिप्रमाणन सेवा अधिप्रमाणन माहिती प्राप्त करू शकले नाही"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "अंतर्भूतीय अधिप्रमाणन विभाग करीता वापरकर्त्याची ओळख पटली नाही"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "सेवा करीताचे कमाल पुन्हप्रारंभ संख्या संपले"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "अधिप्रमाणन टोकन यापुढे वैध नाही; नवीन आवश्यक आहे"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "वापरकर्ता खाते कालबाह्य झाले"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "निर्देशीत सत्र करीता नोंदणी बनवू/काढून टाकू शकत नाही"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "अधिप्रमाणन सेवा वापरकर्ता श्रेय प्राप्त करू शकत नाही"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "वापरकर्ता श्रेय कालबाह्य झाले"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "वापरकर्ता श्रेय स्थापीत करतेवेळी अपयशी झाले"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "विभाग निर्देशीत माहिती उपलब्ध नाही"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() करीता अयोग्य घटक पाठविले गेले"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "संवाद त्रुटी"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "अधिप्रमाणन टोकन सदोष त्रुटी"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "अधिप्रमाणन माहिती पुन्हा प्राप्त केली जाऊ शकत नाही"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "अधिप्रमाणन टोकन कुलूप व्यस्थ आहे"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "अधिप्रमाणन टोकन कालबाह्यता अकार्यान्वीत केले गेले"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "गुप्तशब्द सेवा करीता प्राथमिक तपास अपयशी"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM ने रिटर्न मुल्य करीता दुर्लक्ष केले पाहिजे"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "विभाग अपरिचीत आहे"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "अधिप्रमाणन टोकन कालबाह्य झाले"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "संवाद घटनाच्या प्रतिक्षेत आहे"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "अनुप्रयोगास libpam ची आवश्चकता आहे"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "अपरिचीत PAM त्रुटी"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...वेळ फारच कमी आहे...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...माफ करा, तुमची वेळ समाप्त झाली आहे!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "सदोषीत संवाद (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s अपयशी: एक्जीट कोड %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s अपयशी: संकेत %d%s प्राप्त झाले"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s अपयशी: अपरिचीत स्थिती 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file रूटेड-फाइलनाव] [--user वापरकर्त्याचे नाव] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u अपयशी प्रवेश मुळे खाते कुलूपबंद केले"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s पासून"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s वरील"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "शेवटचे दाखलन:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "नवीन खात्यावर स्वागत आहे!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "शेवटचे अपयशी दाखलन:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "शेवटचे यशस्वी प्रवेश पासून %d अपयशी प्रवेश प्रयत्न आढळले."
+msgstr[1] "शेवटचे यशस्वी प्रवेश पासून %d अपयशी प्रवेश प्रयत्न आढळले गेले."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "शेवटचे यशस्वी प्रवेश पासून %d अपयशी प्रवेश प्रयत्न आढळले."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' करीता एकापेक्षा जास्त प्रवेश."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "नवीन मेल प्राप्त झाले."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "नवीन मेल प्राप्त झाले."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "जुणे मेल आढळले गेले."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "मेल आढळले गेले."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "संचयीका %s अंतर्गत मेल आढळले नाही."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "संचयीका %s अंतर्गत नवीन मेल आढळले."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "संचयीका %s अंतर्गत जुणे मेल आढळले."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "संचयीका %s अंतर्गत मेल आढळले गेले."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "संचयीका '%s' बनवित आहे."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "डिरेक्ट्री '%s' बनवण्यास व प्रारंभ करण्यास अशक्य."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "ह्या गुप्तशब्दचा आधीच वापर झाला आहे. दुसरा निवडा."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "पासवर्ड आधिपासूनच वापरले आहे."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "मुलभूत सुरक्षा संदर्भ %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "तुम्हाला अन्य भूमिका किंवा स्तर प्रविष्ट करायला आवडेल?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "भूमिका:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "भूमिका %s करीता मुलभूत प्रकार आढळले नाही\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "स्तर:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "वैध सुरक्षा संदर्भ नाही"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "सुरक्षा संदर्भ %s लागू केले गेले"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "कि निर्माण संदर्भ %s लागू केले गेले"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM आरंभण्यात अपयशी\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() कार्यान्वीत करण्यास अपयशी\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "दाखलन: विभाजन अपयशी: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "प्रवेश स्वीकारले (शेवटचा प्रवेश %ld सेकंद पूर्वी आढळला)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "तुमचे खाते बंद झाले आहे, कृपया तुमच्या संगणक व्यवस्थापकाकडे जा"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "तुमचा गुप्तशब्द तत्काळ बदलण्याची आवश्यकता आहे (रूट वापरा)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "तुमचा गुप्तशब्द तत्काळ बदलण्याची आवश्यकता आहे (गुप्तशब्द जुना आहे)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "सावधानता: तुमचे गुप्तशब्द %d दिवस अंतर्गत कालबाह्य होईल"
+msgstr[1] "सावधानता: तुमचे गुप्तशब्द %d दिवस अंतर्गत कालबाह्य होईल"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "सावधानता: तुमचे गुप्तशब्द %d दिवसात कालबाह्य होईल"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS गुप्तशब्द बदलविले जाऊ शकत नाही."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "गुप्तशब्द दिलेला नाही"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS गुप्तशब्द बदलविले जाऊ शकत नाही."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "आपण लहान संकेतशब्द निवडणे आवश्यक आहे."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "तुम्ही मोठा गुप्तशब्द निवडला पाहीजे"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s करीता गुप्तशब्द बदलवित आहे."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "तुमचा गुप्तशब्द बदलण्यासाठी तुम्हाला बराच वेळ वाट पहावी लागेल"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "प्रविष्ट केलेले जुण्या प्रमाणेच आहे"
+
+#~ msgid "memory allocation error"
+#~ msgstr "मेमरि वाटपवेळी त्रुटी"
+
+#~ msgid "is a palindrome"
+#~ msgstr "पॅलींड्रोम आहे"
+
+#~ msgid "case changes only"
+#~ msgstr "फक्त आकार बदलाव"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "प्रविष्ट केलेले जुण्या नुरूपच आहे"
+
+#~ msgid "is too simple"
+#~ msgstr "खूपच सोपे आहे"
+
+#~ msgid "is rotated"
+#~ msgstr "स्तर बदलविले गेले"
+
+#~ msgid "not enough character classes"
+#~ msgstr "अतिरिक्त अक्षर गट उपलब्ध नाही"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "पाठोपाठ खूप जास्त समान अक्षर आढळले"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "मोनोटोनिक अक्षर श्रृंखला खूपच लांब आहे"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "कुठल्यातरी स्वरूपात वापरकर्ता नाव आढळले"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "अयोग्य गुप्तशब्द: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "खातं तात्पूर्ते कुलूपबंद केले (%ld सेकंद शिल्लक)"
+
+#~ msgid "Authentication error"
+#~ msgstr "अधिप्रमाणन त्रुटी"
+
+#~ msgid "Service error"
+#~ msgstr "सेवा त्रुटी"
+
+#~ msgid "Unknown user"
+#~ msgstr "अपरिचीत वापरकर्ता"
+
+#~ msgid "Unknown error"
+#~ msgstr "अपरिचित चूक"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= करीता अयोग्य संख्या पुरविली गेली\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: अपरिचीत पर्याय %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file रूटेड-फाइलनाव] [--user वापरकर्त्याचे नाव] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: सर्व वापरकर्ता विना-शून्य असे पुन्हस्थापन करू शकत नाही\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "प्रवेश अपयशी अलिकडील अपयश पासून\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ms.gmo b/po/ms.gmo
new file mode 100644
index 0000000..4f653a1
--- /dev/null
+++ b/po/ms.gmo
Binary files differ
diff --git a/po/ms.po b/po/ms.po
new file mode 100644
index 0000000..12be3f0
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2008.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-29 07:01-0500\n"
+"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:44
+#, fuzzy, c-format
+msgid "New %s password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:45
+#, fuzzy
+msgid "New password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:47
+#, fuzzy, c-format
+msgid "Retype new %s password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:48
+#, fuzzy
+msgid "Retype new password: "
+msgstr "(semasa) katalaluan UNIX:"
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Anda mesti memilih kata laluan yang lebih pendek."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Anda mesti memilih kata laluan yang lebih pendek."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Menukar katalaluan untuk %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Anda mesti memilih kata laluan yang lebih pendek."
diff --git a/po/my.gmo b/po/my.gmo
new file mode 100644
index 0000000..9271d74
--- /dev/null
+++ b/po/my.gmo
Binary files differ
diff --git a/po/my.po b/po/my.po
new file mode 100644
index 0000000..c43e4cc
--- /dev/null
+++ b/po/my.po
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Burmese (http://www.transifex.com/projects/p/fedora/language/"
+"my/)\n"
+"Language: my\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "သင်တစ်ဦးပိုမိုတိုတောင်းသောစကားဝှက်ကိုရွေးချယ်ရပါမည်။"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "သင်တစ်ဦးပိုမိုတိုတောင်းသောစကားဝှက်ကိုရွေးချယ်ရပါမည်။"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "သင်တစ်ဦးပိုမိုတိုတောင်းသောစကားဝှက်ကိုရွေးချယ်ရပါမည်။"
diff --git a/po/nb.gmo b/po/nb.gmo
new file mode 100644
index 0000000..352b336
--- /dev/null
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..960f0a9
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,564 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Kjartan Maraas <kmaraas@gnome.org>, 2008,2012-2013
+# Olav Pettershagen <olav.pet@online.no>, 2005-2006
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Allan Nordhøy <epost@anotheragency.no>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-05-17 18:48+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Norwegian Bokmål <https://translate.fedoraproject.org/"
+"projects/linux-pam/master/nb_NO/>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.0.4\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Passord: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Nåværende %s-passord: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Nåværende passord: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nytt %s-passord: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nytt passord: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Bekreft nytt %s-passord: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Bekreft nytt passord: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Beklager, ikke samsvar mellom passord."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Skriv %s på nytt"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Bytte av passord avbrutt."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "logg inn:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Utført"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritisk feil - avbryter straks"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Klarte ikke å laste modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbol ikke funnet"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Feil i tjenestemodul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systemfeil"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Minnebufferfeil"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Tillatelse avvist"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autentiseringsfeil"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Utilstrekkelige rettigheter for tilgang til autentiseringsinformasjon"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Autentiseringstjenesten kan ikke hente autentiseringsinformasjon"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Bruker ukjent for autentiseringsmodul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Maksimalt antall forsøk er overskredet for tjenesten"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Autentiseringsjide ikke lenger gyldig; ny kode kreves"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Brukerkonto er utløpt"
+
+#: libpam/pam_strerror.c:70
+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:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Autentiseringstjenesten kan ikke hente brukerrettigheter"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Brukerrettigheter utløpt"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Feil under definisjon av brukerrettigheter"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nei modulspesifikk informasjon finnes"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ugyldig oppføring angitt for pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Dialogfeil"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Manipulasjonsfeil for autentiseringskode"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Autentiseringsinformasjon kan ikke gjenopprettes"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Låsing av autentiseringskode opptatt"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Tidsbegrensning av autentiseringskode deaktivert"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Passordtjenestens innledende kontroll mislyktes"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Resultatverdien bør ignoreres av PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modulen er ukjent"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Autentiseringskode utløpt"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Dialogen venter på hendelse"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Programmet må spørre libpam på nytt"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Ukjent PAM-feil"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Tiden er i ferd med utløpe..\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Beklager, tiden er utløpt!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "mislykket dialog (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s feilet: sluttkode %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s feilet: fikk signal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s feilet: ukjent status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr "Bruk: %s [--dir /sti/til/tally-mappe] [--user brukernavn] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Konto låst som følge av %u mislykkede innlogginger."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minutter igjen til å låse opp)"
+msgstr[1] "(%d minutter igjen til å låse opp)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minutter igjen til å låse opp)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " fra %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " på %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Siste innlogging:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Velkommen til din nye konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Siste feilede innlogging:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Det har vært %d feilet innloggingsforsøk siden forrige innlogging uten feil."
+msgstr[1] ""
+"Det har vært %d feilede innloggingsforsøk siden siste innlogging uten feil."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Det har vært %d feilede innloggingsforsøk siden siste innlogging uten feil."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "For mange innlogginger for «%s»."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Du har ikke fått noen e-post."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Du har fått ny e-post."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Du har ulest e-post."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Du har fått e-post."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Du har ingen e-post i mappen %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Du har ny e-post i mappen %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Du har ulest e-post i mappen %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Du har e-post i mappen %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Oppretter katalog «%s»."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Kan ikke lage og initiere katalog «%s»."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Passordet er allerede benyttet. Velg et annet."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Passordet har allerede vært brukt."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Forvalgt sikkerhetskontekst er %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Vil du angi en annen rolle eller nivå?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rolle:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Ingen forvalgt type for rollen %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivå:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Dette er ikke en gyldig sikkerhetskontekst."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Kunne ikke innhente gyldig kontekst for %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Sikkerhetskontekst «%s» tilordnet."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Kontekst «%s» for oppretting av nøkkel tilordnet."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "kunne ikke initialisere PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "kunne ikke pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: feil under forgrening: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Tilgang innvilget (siste tilgang var for %ld sekunder siden)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Din konto er utløpt; kontakt systemadministratoren din."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Du må straks endre passordet ditt (påkrevd av administrator)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Du må straks endre passordet ditt (passordet har utløpt)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Advarsel: Passordet ditt utløper om %d dag."
+msgstr[1] "Advarsel: Passordet ditt utløper om %d dager."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Advarsel: Passordet ditt utløper om %d dager."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-passord kunne ikke endres."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Inget passord har blitt angitt."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Passordet kunne ikke endres."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Du må velge et kortere passord."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Du må velge et lengre passord."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Endrer passord for %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Du må vente lenger før du kan endre passordet ditt."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "er det samme som det gamle"
+
+#~ msgid "memory allocation error"
+#~ msgstr "feil med minneallokering"
+
+#~ msgid "is a palindrome"
+#~ msgstr "er et palindrom"
+
+#~ msgid "case changes only"
+#~ msgstr "kun endring av små/store bokstaver"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "er for likt det gamle"
+
+#~ msgid "is too simple"
+#~ msgstr "er for enkelt"
+
+#~ msgid "is rotated"
+#~ msgstr "er rotert"
+
+#~ msgid "not enough character classes"
+#~ msgstr "ikke nok tegnklasser"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "inneholder for mange like tegn etter hverandre"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "inneholder for lang monoton tegnsekvens"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "inneholder brukernavnet i en eller annen form"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "SVAKT PASSORD: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Konto midlertidig låst (%ld sekunder igjen)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Autentiseringsfeil"
+
+#~ msgid "Service error"
+#~ msgstr "Tjenestefeil"
+
+#~ msgid "Unknown user"
+#~ msgstr "Ukjent bruker"
+
+#~ msgid "Unknown error"
+#~ msgstr "Ukjent feil"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Ugyldig tall angitt for --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Ukjent valg %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filnavn] [--user brukernavn] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Kan ikke tilbakestille alle brukere til non-zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Brukernavn Feil Siste feil Fra\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filnavn] [--file rooted-filnavn]\n"
+#~ "[-u brukernavn] [--user brukernavn]\n"
+#~ "[-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ne.gmo b/po/ne.gmo
new file mode 100644
index 0000000..3971dd0
--- /dev/null
+++ b/po/ne.gmo
Binary files differ
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 0000000..d51c49e
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Nepali (http://www.transifex.com/projects/p/fedora/language/"
+"ne/)\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "तपाईंले छोटो पासवर्ड छान्नु पर्छ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "तपाईंले छोटो पासवर्ड छान्नु पर्छ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "तपाईंले छोटो पासवर्ड छान्नु पर्छ।"
diff --git a/po/nl.gmo b/po/nl.gmo
new file mode 100644
index 0000000..74968c6
--- /dev/null
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..9e5f0ae
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,573 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Geert Warrink <geert.warrink@onsnet.nu>, 2010,2012, 2020.
+# hamaryns <hendrik@hendrikmaryns.name>, 2013
+# Peter van Egdom <p.van.egdom@gmail.com>, 2008
+# Reinout van Schouwen <reinouts@gnome.org>, 2013
+# Richard E. van der Luit <nippur@fedoraproject.org>, 2009
+# R.F. Pels <ruurd@tiscali.nl>, 2005
+# Rinse de Vries <rinsedevries@kde.nl>, 2005-2006
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Dutch <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/nl/>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Wachtwoord: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Huidig %s wachtwoord: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Huidig wachtwoord: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nieuw %s wachtwoord: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nieuw wachtwoord: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Nieuw %s wachtwoord herhalen: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Nieuw wachtwoord herhalen: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Sorry, wachtwoorden komen niet overeen."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Voer %s opnieuw in"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Wachtwoord wijzigen is afgebroken."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "gebruikersnaam:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Succes"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritieke fout ­– onmiddellijk afbreken"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Laden van module mislukt"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbool niet gevonden"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Fout in servicemodule"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systeemfout"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Fout in geheugenbuffer"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Authenticatiefout"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Onvoldoende legitimatie voor toegang tot authenticatiedata"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Authenticatieservice kan geen authenticatie-informatie ophalen"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Gebruiker onbekend bij de onderliggende authenticatiemodule"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Maximum aantal herhaalpogingen voor service overschreden"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Authenticatie-token is niet langer geldig; nieuwe is vereist"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Gebruikersaccount is verlopen"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Kan een ingang niet aanmaken/verwijderen voor de opgegeven sessie"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Authenticatieservice kan geen legitimatiegegevens van gebruiker ophalen"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Legitimatiegegevens van gebruiker verlopen"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Fout tijdens het instellen van legitimatiegegevens van gebruiker"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Geen modulespecifieke data aanwezig"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Onjuist item doorgegeven aan pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Conversatiefout"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Fout bij manipulatie van authenticatie-token"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Authenticatie-informatie kan niet worden hersteld"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Vergrendeling van authenticatie-token is bezig"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Veroudering van authenticatie-token is uitgeschakeld"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Voorlopige controle door de wachtwoordservice is mislukt"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM-dispatch dient de teruggegeven waarde te negeren"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Module is onbekend"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Authenticatie-token is verlopen"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversatie wacht op een gebeurtenis"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Toepassing moet libpam nogmaals aanroepen"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Onbekende PAM-fout"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "…De tijd raakt op…\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "…Sorry, uw tijd is verlopen!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "foutieve conversatie (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s is mislukt: afsluitcode %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s is mislukt: signaal %d%s ontvangen"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s is mislukt: onbekende status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Gebruik: %s [--dir /pad/naar/tally-directory] [--user gebruikersnaam] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Het account is vergrendeld wegens %u mislukte aanmeldingen."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(nog %d minuut om te ontgrendelen)"
+msgstr[1] "(nog %d minuten om te ontgrendelen)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(nog %d minuten om te ontgrendelen)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e %b %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " van %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " op %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Laatste aanmelding:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Welkom bij je nieuwe account!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Laatste mislukte aanmeldpoging:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Er was %d mislukte aanmeldpoging sinds de laatste succesvolle aanmelding."
+msgstr[1] ""
+"Er waren %d mislukte aanmeldpogingen sinds de laatste succesvolle aanmelding."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Er waren %d mislukte aanmeldpogingen sinds de laatste succesvolle aanmelding."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Te veel aanmeldingen voor '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Je hebt geen e-mail."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Je hebt nieuwe e-mail."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Je hebt oude e-mail."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Je hebt e-mail."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Je hebt geen e-mail in map %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Je hebt nieuwe e-mail in map %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Je hebt oude e-mail in map %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Je hebt e-mail in map %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Aanmaken van map '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Niet in staat om map '%s' aan te maken."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Wachtwoord is al eens gebruikt. Kies een ander wachtwoord."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Wachtwoord is al eens gebruikt."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "De standaard beveiligingscontext is %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Wil je een andere rol of een ander niveau invoeren?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rol:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Er is geen standaardtype voor rol %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "niveau:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Dit is geen geldige beveiligingscontext."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Een geldige context voor %s kon niet worden verkregen."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Beveiligingscontext %s is toegewezen."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Sleutelaanmaakcontext %s is toegewezen."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "initialiseren van PAM is mislukt\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() is mislukt\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "aanmelding: beginnen van nieuw proces mislukt: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Toegang is verleend (laatste toegang was %ld seconden geleden)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Je account is verlopen; neem contact op met je systeembeheerder."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Je moet onmiddellijk je wachtwoord wijzigen (op last van systeembeheerder)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Je moet onmiddellijk je wachtwoord wijzigen (wachtwoord is verouderd)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Waarschuwing: je wachtwoord zal binnen %d dag verlopen."
+msgstr[1] "Waarschuwing: je wachtwoord zal binnen %d dagen verlopen."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Waarschuwing: je wachtwoord zal binnen %d dagen verlopen."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-wachtwoord kon niet worden gewijzigd."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Geen wachtwoord opgegeven."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Het wachtwoord is niet gewijzigd."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Je moet een korter wachtwoord kiezen."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Je moet een langer wachtwoord kiezen."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Veranderen van wachtwoord voor %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Je moet langer wachten om je wachtwoord te wijzigen."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "is hetzelfde als het oude"
+
+#~ msgid "memory allocation error"
+#~ msgstr "geheugentoekenningsfout"
+
+#~ msgid "is a palindrome"
+#~ msgstr "is een palindroom"
+
+#~ msgid "case changes only"
+#~ msgstr "alleen veranderingen in hoofd-/kleine letters"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "lijkt te veel op het oude"
+
+#~ msgid "is too simple"
+#~ msgstr "is te eenvoudig"
+
+#~ msgid "is rotated"
+#~ msgstr "is omgedraaid"
+
+#~ msgid "not enough character classes"
+#~ msgstr "onvoldoende tekensoorten"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "bevat teveel dezelfde opeenvolgende karakters"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "bevat een te lange monotone tekenreeks"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "bevat de gebruikersnaam in een of andere vorm"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "SLECHT WACHTWOORD: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Het account is tijdelijk vergrendeld (%ld seconden resterend)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Authenticatiefout"
+
+#~ msgid "Service error"
+#~ msgstr "Servicefout"
+
+#~ msgid "Unknown user"
+#~ msgstr "Onbekende gebruiker"
+
+#~ msgid "Unknown error"
+#~ msgstr "Onbekende fout"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Onjuist getal gegeven aan --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Onbekende optie %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s [--file rooted-bestandsnaam] [--user gebruikersnaam] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: kan niet alle gebruikers terugzetten naar non-zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Aanmelding Mislukte Laatst mislukte Van\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-bestandsnaam] [--file rooted-bestandsnaam]\n"
+#~ " [-u gebruikersnaam] [--user gebruikersnaam]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/nn.gmo b/po/nn.gmo
new file mode 100644
index 0000000..1ae2551
--- /dev/null
+++ b/po/nn.gmo
Binary files differ
diff --git a/po/nn.po b/po/nn.po
new file mode 100644
index 0000000..1302c3a
--- /dev/null
+++ b/po/nn.po
@@ -0,0 +1,484 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Andreas-Johann Ø Ulvestad <aj@aju.no>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-01-18 22:36+0000\n"
+"Last-Translator: Andreas-Johann Ø Ulvestad <aj@aju.no>\n"
+"Language-Team: Norwegian Nynorsk <https://translate.fedoraproject.org/"
+"projects/linux-pam/master/nn/>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.4.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Passord: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Noverande %s-passord: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Noverande passord: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nytt %s-passord: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nytt passord: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Stadfest nytt %s-passord: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Stadfest nytt passord: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Beklagar, passorda er ikkje like."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Skriv %s på nytt"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Skifte av passord vart avbrote."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "logg inn:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Utføyrd"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kristisk feil - avbryt med ein gong"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Klarte ikkje å laste modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Fann ikkje symbol"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Feil i tenestemodul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systemfeil"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Minnebufferfeil"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Nekta tilgang"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autentiseringsfeil"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Utilstrekkelege rettar for tilgang til informasjon om autentisering"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Teneste for autentisering kan ikkje hente informasjon om autentisering"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Brukar udkjend for autentiseringsmodul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Maks tal på forsøk er overskride for tenesta"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Autentiseringspollett er ikkje lenger gyldig; ny kode kravd"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Brukarkonto er utgått"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Kan ikkje opprette/fjerne oppføring for vald økt"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Autentiseringsteneste kan ikkje hente brukarrettar"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Brukarrettar er utløpt"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Feil under definering av brukarrettar"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Ingen modulspesifikk data finst"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ugyldig oppføring spesifisert for pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Dialogfeil"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Manipulasjonsfeil for autentiseringspollett"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Autentiseringsinformasjon kan ikkje bli gjenoppretta"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Låsing av autentiseringskode er oppteken"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Tidsavgrensing for autentiseringspollett er deaktivert"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Posstordtenesta sin innledande kontroll feila"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Resultatverdien bør bli ignorert av PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modulen er ukjend"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Autentiseringspollett er utgått"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Dialogen ventar på hending"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Programmet må spørre libpam på ny"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Ukjend PAM-feil"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Tida held på å gå ut...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Beklagar, tida er gått ut\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "mislykka dialog (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s feila: sluttkode %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s feila: fekk signal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s feila: ukjend status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr "Bruk: %s [--dir /sti/til/tally-mappe] [--user brukarnamn] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Konto er låst som følgje av %u mislukka innloggingar."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minutt står att for å låse opp)"
+msgstr[1] "(%d minutt står att for å låse opp)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minutt står att for å låse opp)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " frå %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " på %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Siste innlogging:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Velkommen til din nye konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Siste feila innlogging:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Det har vore %d feila innloggingsforsøk utan feil sidan førre innlogging."
+msgstr[1] ""
+"Det har vore %d feila innloggingsforsøk utan feil sidan førre innlogging."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Det har vore %d feila innloggingsforsøk sidan sist innlogging utan feil."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "For mange innlogginga for «%s»."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Du har ikkje fått nokon e-post."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Du har fått ny e-post."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Du har ulest e-post."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Du har fått e-post."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Du har ingan e-post i mappen %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Du har ny e-post i mappa %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Du har ulest e-post i mappa %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Du har e-post i mappa %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Opprettar kataloge «%s»."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Kan ikkje lage og initiere katalog «%s»."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Passord er allereie nytta. Vel eit anna."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Passordet har allereie vore brukt."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Forehandvald sikkerheitskontekst er %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Vil du angje ei anna rolle eller nivå?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rolle:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Inga førehandvald type for rolla %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivå:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Dette er ikkje gyldig sikkerheitskontekst."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Kunne ikkje innhente gyldig kontekst for %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Sikkerheitskontekst «%s» tilordna."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Kontekst «%s» for oppretting av nøkkel er tilordna."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "Kunne ikkje initiere PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "kunne ikkje pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: feil under forgreining: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Tilgang innvilga (siste tilgang var for %ld sekund sidan)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Kontoen din er utløpt; kontakt systemadministratoren din."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Du må straks endre passordet ditt (kravd av administrator)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Du må straks endre passordet ditt (passordet har utløpt)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Advarsel: Passordet ditt utløper om %d dag."
+msgstr[1] "Advarsel: Passordet ditt utløper om %d dagar."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Varsel: Passordet ditt går ut om %d dagar."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-passord kunne ikkje bli endra."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Inga passord er blitt angjeve."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Passordet kunne ikkje bli endra."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Du må velje eit kortare passord."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Du må velje eit kortare passord."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Skiftar passord for %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Du må vente lengre før du kan skifte passordet ditt."
diff --git a/po/or.gmo b/po/or.gmo
new file mode 100644
index 0000000..d5ff1f1
--- /dev/null
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
new file mode 100644
index 0000000..5a408f7
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,563 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Manoj Kumar Giri <mgiri@redhat.com>, 2008-2009,2012
+# Manoj Kumar Giri <mgiri@redhat.com>, 2013
+# Subhransu Behera <arya_subhransu@yahoo.co.in>, 2007
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Ankit Behera <proneon267@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-04-13 22:40+0000\n"
+"Last-Translator: Ankit Behera <proneon267@gmail.com>\n"
+"Language-Team: Odia <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/or/>\n"
+"Language: or\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.11.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "ସାମ୍ପ୍ରତିକ %s ପ୍ରବେଶ ସଙ୍କେତ: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "ସାମ୍ପ୍ରତିକ ପ୍ରବେଶ ସଙ୍କେତ: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ନୂତନ %s ପ୍ରବେଶ ସଙ୍କେତ: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ନୂତନ ପ୍ରବେଶ ସଙ୍କେତ: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "ନୂତନ %s ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "ନୂତନ ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "କ୍ଷମା କରିବେ, ପ୍ରବେଶ ସଙ୍କେତ ମିଶୁ ନାହିଁ।"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%sକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ ପରିବର୍ତ୍ତନକୁ ପ୍ରତ୍ୟାଖାନ କରାଯାଇଛି।"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ଲଗଇନ:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "ସଫଳତା"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "ଗୁରୁତର ତୃଟି - ଏହା ବିଷୟରେ ଶୀଘ୍ର ଜଣାନ୍ତୁ"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "ଏକକାଂଶକୁ ଧାରଣ କରିବାରେ ବିଫଳ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "ପ୍ରତୀକ ମିଳିଲା ନାହିଁ"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "ସେବା ଏକକାଂଶରେ ତୃଟି"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "ତନ୍ତ୍ର ତୃଟି"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "ସ୍ମୃତି ସଞ୍ଚୟ ତୃଟି"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "ଅନୁମତି ଅସ୍ବୀକୃତ"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "ବୈଧିକରଣ ବିଫଳ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "ବୈଧିକରଣ ତଥ୍ଯକୁ ଅଭିଗମ କରିବା ପାଇଁ ଅଯେଥଷ୍ଟ ପ୍ରମାଣ ପତ୍ର"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "ବୈଧିକରଣ ସେବା ବୈଧିକରଣ ସୂଚନା ପୁନରୁଦ୍ଧାର କରିପାରିବ ନାହିଁ"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "ନିମ୍ନଲିଖିତ ବୈଧିକରଣ ଏକକାଂଶକୁ ଜଣା ନ ଥିବା ଚାଳକ"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "ସେବା ପାଇଁ ସର୍ବାଧିକ ସଂଖ୍ଯକ ପୁନଃପ୍ରଚେଷ୍ଟା ପୂର୍ଣ୍ଣ ମାତ୍ରାରେ ସମାପ୍ତ ହୋଇଯାଇଛି"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "ବୈଧିକରଣ ଟୋକନ ଆଉ ଏବେ ବୈଧ ନୁହେଁ; ଗୋଟିଏ ନୂତନ ଟୋକନ ଆବଶ୍ଯକ"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ଚାଳକ ହିସାବ ଖାତା ଅଚଳ ହୋଇଯାଇଛି"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "ଉଲ୍ଲେଖିତ ଅଧିବେଶନ ପାଇଁ ଗୋଟିଏ ପ୍ରବିଷ୍ଟି ପ୍ରସ୍ତୁତ/ଅପସାରଣ କରିପାରିବ ନାହିଁ"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "ବୈଧିକରଣ ସେବା ଚାଳକ ପ୍ରମାଣ ପତ୍ର ମାନଙ୍କୁ ପୁନରୁଦ୍ଧାର କରିପାରିବ ନାହିଁ"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ଚାଳକ ପ୍ରମାଣ ପତ୍ର ଅଚଳ ହୋଇଯାଇଛି"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ଚାଳକ ପ୍ରମାଣ ପତ୍ର ବିନ୍ଯାସ କରିବାରେ ବିଫଳ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "କୌଣସି ଏକକାଂଶ ନିର୍ଦ୍ଦିଷ୍ଟ ତଥ୍ଯ ନାହିଁ"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "ଖରାପ ବସ୍ତୁକୁ pam_*_item() କୁ ପଠାଯାଇଛି"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "କଥୋପକଥନ ତୃଟି"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "ବୈଧିକରଣ ଟୋକନ ବ୍ଯବହାର କୌଶଳ ସାଧନରେ ତୃଟି"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "ବୈଧିକରଣ ସୂଚନା ପୁନର୍ଲାଭ କରିପାରିବ ନାହିଁ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "ବୈଧିକରଣ ଟୋକନ ତାଲା ବ୍ଯସ୍ତ ଅଛି"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "ବୈଧିକରଣ ଟୋକନ କାଳ ବର୍ଦ୍ଧନ ପ୍ରକ୍ରିୟାକୁ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ ସେବା ଦ୍ବାରା ପ୍ରାଥମିକ ପରୀକ୍ଷଣ ବିଫଳ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "ଫେରସ୍ତ ମୂଲ୍ଯକୁ PAM ପ୍ରେରଣ ଦ୍ବାରା ଆଗ୍ରହ୍ଯ କରାଯାଇଛି"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "ଏକକାଂଶଟି ଅଜଣା ଅଟେ"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "ବୈଧିକରଣ ଟୋକନ ଅଚଳ ହୋଇଯାଇଛି"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "କଥୋପକଥନ ଘଟଣା ପାଇଁ ଅପେକ୍ଷା କରୁଅଛି"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "ପ୍ରୟୋଗ libpam କୁ ପୁନର୍ବାର ଆହ୍ବାନ କରିବା ଦରକାର"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "ଅଜଣା PAM ତୃଟି"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...ସମୟ ସମାପ୍ତ ହେଉଛି...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...କ୍ଷମା କରିବେ, ଆପଣଙ୍କ ସମୟ ସମାପ୍ତ ହୋଇଯାଇଛି!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ତୃଟିପୂର୍ଣ୍ଣ କଥୋପକଥନ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s ବିଫଳ: %d ସଙ୍କେତରୁ ପ୍ରସ୍ଥାନ କରୁଅଛି"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s ବିଫଳ: %d%s ସଙ୍କେତ ପାଇଲା"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s ବିଫଳ: ଅଜଣା ଅବସ୍ଥିତି 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u ବିଫଳତା ଲଗଇନ କାରଣରୁ ଖାତା ଅପରିବର୍ତ୍ତନଶୀଳ ହୋଇଯାଇଛି।"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s ରୁ"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s ରେ"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "ଅନ୍ତିମ ଲଗଇନ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "ଆପଣଙ୍କ ନୂତନ ଖାତାରେ ଆପଣଙ୍କ ସ୍ବାଗତ!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "ଅନ୍ତିମ ବିଫଳ ଲଗଇନ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟି ବିଫଳ ଲଗଇନ ପ୍ରଚେଷ୍ଟା କରାଯାଇଛି।"
+msgstr[1] "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟି ବିଫଳ ଲଗଇନ ପ୍ରଚେଷ୍ଟା କରାଯାଇଛି।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟି ବିଫଳ ଲଗଇନ ପ୍ରଚେଷ୍ଟା କରାଯାଇଛି।"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' ପାଇଁ ଅତ୍ଯଧିକ ସଂଖ୍ଯକ ଲଗଇନ ହୋଇଛି।"
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "ଆପଣଙ୍କର କୌଣସି ଚିଠି ନାହିଁ।"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "ଆପଣଙ୍କ ପାଇଁ ଗୋଟିଏ ନୂଆ ଚିଠି ଆସିଛି।"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ ଗୋଟିଏ ପୁରୁଣା ଚିଠି ଅଛି।"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ ଚିଠି ଅଛି।"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ %s ଫୋଲଡରରେ କୌଣସି ଚିଠି ନାହିଁ।"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ %s ଫୋଲଡରରେ ନୂଆ ଚିଠି ଅଛି।"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ %s ଫୋଲଡରରେ ପୁରୁଣା ଚିଠି ଅଛି।"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "ଆପଣଙ୍କ ନିକଟରେ %s ଫୋଲଡରରେ ଚିଠି ଅଛି।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s' ନିର୍ମାଣ କରୁଅଛି."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s'କୁ ନିର୍ମାଣ ଏବଂ ପ୍ରାରମ୍ଭ କରିବାରେ ଅସମର୍ଥ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ପୂର୍ବରୁ ବ୍ଯବହୃତ ହେଉଛି। ଅନ୍ଯ ଗୋଟିଏ ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରନ୍ତୁ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "ପ୍ରବେଶ ସଙ୍କେତକୁ ପୂର୍ବରୁ ବ୍ୟବହାର କରାଯାଇଛି।"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ହେଉଛି %s।"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "ଆପଣ ଭିନ୍ନ ଏକ ଭୂମିକା କିମ୍ବା ସ୍ତର ଭରଣ କରିବା ପାଇଁ ଚାହୁଁଛନ୍ତି କି?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ଭୂମିକା:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "ଭୂମିକା %s ପାଇଁ କୌଣସି ପୂର୍ବନିର୍ଦ୍ଧାରିତ ପ୍ରକାର ନାହିଁ।"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "ସ୍ତର:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "ଏହା ଗୋଟିଏ ବୈଧ ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ନୁହେଁ।"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "%s ପାଇଁ ଏକ ବୈଧ ପ୍ରସଙ୍ଗ ହାସଲ ହୋଇ ପାରିଲା ନାହିଁ।"
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ନ୍ଯସ୍ତ କରାଯାଇଛି।"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "କୀ ନିର୍ମାଣ ପ୍ରସଙ୍ଗ %s ନ୍ଯସ୍ତ କରାଯାଇଛି।"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM କୁ ପ୍ରାରମ୍ଭିକୃତ କରିବାରେ ବିଫଳ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() କରିବାରେ ବିଫଳ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ଲଗଇନ: fork କରିବାରେ ବିଫଳ: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "ପ୍ରବେଶ ଗ୍ରହଣୀୟ ହୋଇଛି (ପୂର୍ବ ପ୍ରବେଶ ହୋଇଥିଲା %ld ସେକଣ୍ଡ ପୂର୍ବରୁ)।"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "ଆପଣଙ୍କର ଖାତା ଅଚଳ ହୋଇଯାଇଛି; ଦୟାକରି ଆପଣଙ୍କର ତନ୍ତ୍ର ପ୍ରଶାସକଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ।"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "ଆପଣ ଆପଣଙ୍କର ପ୍ରବେଶ ସଙ୍କେତକୁ ଯଥାଶୀଘ୍ର ବଦଳାଇବା ଆବଶ୍ଯକ (ରୁଟ୍ ହେବା ବାଧ୍ଯତାମୂଳକ)।"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"ଆପଣ ଆପଣଙ୍କର ପ୍ରବେଶ ସଙ୍କେତକୁ ଯଥାଶୀଘ୍ର ବଦଳାଇବା ଆବଶ୍ଯକ (ପ୍ରବେଶ ସଙ୍କେତର ବୈଧତା ସରି ଯାଇଛି)।"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "ଚେତାବନୀ: ଆପଣଙ୍କ ପ୍ରବେଶ ସଙ୍କେତ %d ଦିନରେ ଅକାମି ହୋଇଯିବ।"
+msgstr[1] "ଚେତାବନୀ: ଆପଣଙ୍କ ପ୍ରବେଶ ସଙ୍କେତ %d ଦିନରେ ଅକାମି ହୋଇଯିବ।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "ଚେତାବନୀ: ଆପଣଙ୍କ ପ୍ରବେଶ ସଙ୍କେତ %d ଦିନରେ ଅକାମି ହୋଇଯିବ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଇ ହେଲା ନାହିଁ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "କୌଣସି ପ୍ରବେଶ ସଙ୍କେତ ପ୍ରଦାନ କରାଯାଇ ନାହିଁ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "ପ୍ରବେଶ ସଙ୍କେତକୁ ପରିବର୍ତ୍ତନ କରା ଯାଇ ନାହିଁ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "ଆପଣ ଗୋଟିଏ ଛୋଟ ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରିବା ଉଚିତ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "ଆପଣ ଗୋଟିଏ ଲମ୍ବା ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରିବା ଉଚିତ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଉଛି."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଇବା ପାଇଁ ଆପଣ ଅଧିକ ସମୟ ଅପେକ୍ଷା କରିବା ଉଚିତ।"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ପୁରୁଣା ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ଏହା ସମାନ ଅଟେ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "ସ୍ମୃତିସ୍ଥାନ ବଣ୍ଟନ ତ୍ରୁଟି"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ଗୋଟିଏ ପାଲିନଡ୍ରୋମ ଅଟେ"
+
+#~ msgid "case changes only"
+#~ msgstr "କେବଳ ଅକ୍ଷର ପ୍ରକାର ପରିବର୍ତ୍ତିତ ହୋଇଥାଏ"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ଏହା ପୂର୍ବ ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ବହୁତ ସମାନ ଅଟେ"
+
+#~ msgid "is too simple"
+#~ msgstr "ଏହା ଅତି ସହଜ ଅଟେ"
+
+#~ msgid "is rotated"
+#~ msgstr "ଏହା ଘୂର୍ଣ୍ଣୟମାନ ଅଟେ"
+
+#~ msgid "not enough character classes"
+#~ msgstr "ଯଥେଷ୍ଟ ବର୍ଣ୍ଣ ଶ୍ରେଣୀ ନାହିଁ"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "ଅତ୍ୟଧିକ ସମାନ ଅକ୍ଷରକୁ ଲଗାତାର ଧାରଣ କରିଥାଏ"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "ନିରସ ବର୍ଣ୍ଣର ବଡ଼ କ୍ରମ ଧାରଣ କରିଅଛି"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "ଚାଳକ ନାମକୁ କୌଣସି ଉପାୟରେ ଧାରଣ କରିଥାଏ"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ଖରାପ ପ୍ରବେଶ ସଙ୍କେତ: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "ଖାତା ଅସ୍ଥୟୀ ଭାବରେ ଅପରିବର୍ତ୍ତନଶୀଳ ହୋଇଯାଇଛି (%ld ସେକେଣ୍ଡସ୍ ବଳିଛି)।"
+
+#~ msgid "Authentication error"
+#~ msgstr "ବୈଧିକରଣ ତୃଟି"
+
+#~ msgid "Service error"
+#~ msgstr "ସେବା ତୃଟି"
+
+#~ msgid "Unknown user"
+#~ msgstr "ଅଜଣା ଚାଳକ"
+
+#~ msgid "Unknown error"
+#~ msgstr "ଅଜଣା ତୃଟି"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= ପାଇଁ ଖରାପ ସଂଖ୍ଯା ଦିଆଯାଇଛି\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: ଅଚିହ୍ନିତ ବିକଳ୍ପ %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: ସମସ୍ତ ଚାଳକ ମାନଙ୍କୁ ଶୂନ୍ଯ ବିହୀନ ଭାବରେ ପୁନର୍ବାର ବିନ୍ଯାସ କରିପାରିବ ନାହିଁ\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "ଲଗଇନ ବିଫଳତାର ନୂତନତମ ବିଫଳତା ରୁ\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/pa.gmo b/po/pa.gmo
new file mode 100644
index 0000000..37a5b5c
--- /dev/null
+++ b/po/pa.gmo
Binary files differ
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 0000000..c057de7
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,561 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# asaini <asaini@redhat.com>, 2013
+# Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>, 2005
+# Jaswinder Singh <jsingh@redhat.com>, 2009,2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# A S Alam <amanpreet.alam@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-07-19 18:29+0000\n"
+"Last-Translator: A S Alam <amanpreet.alam@gmail.com>\n"
+"Language-Team: Punjabi <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/pa/>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 4.1.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "ਪਾਸਵਰਡ: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "ਮੌਜੂਦਾ %s ਪਾਸਵਰਡ: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "ਮੌਜੂਦਾ ਪਾਸਵਰਡ: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "ਨਵਾਂ %s ਪਾਸਵਰਡ: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "ਨਵਾਂ ਪਾਸਵਰਡ: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "ਨਵਾਂ %s ਪਾਸਵਰਡ ਮੁੜ-ਲਿਖੋ: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "ਨਵਾਂ ਪਾਸਵਰਡ ਮੁੜ-ਲਿਖੋ: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "ਅਫ਼ਸੋਸ, ਪਰ ਪਾਸਵਰਡ ਆਪਸ ‘ਚ ਮਿਲਦੇ ਨਹੀਂ ਹਨ।"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "ਮੁੜ-ਲਿਖੋ %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "ਪਾਸਵਰਡ ਤਬਦੀਲੀ ਅਧੂਰੀ ਛੱਡੀ ਗਈ।"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ਲਾਗਇਨ:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "ਸਫ਼ਲ"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "ਗੰਭੀਰ ਗਲਤੀ - ਫ਼ੌਰੀ ਅਧੂਰਾ ਛੱਡਿਆ"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "ਮੈਡਿਊਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਫੇਲ"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "ਨਿਸ਼ਾਨ ਨਹੀਂ ਮਿਲਿਆ"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "ਸੇਵਾ ਮੈਡੀਊਲ ਵਿੱਚ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "ਸਿਸਟਮ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "ਮੈਮੋਰੀ ਬਫ਼ਰ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "ਅਧਿਕਾਰ ਪਾਬੰਦੀ"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਡਾਟਾ ਵਰਤਣ ਲਈ ਲੋੜੀਂਦੇ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਿਸ ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦੀ"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਮੈਡਿਊਲ ਲਈ ਵਰਤੋਂਕਾਰ ਬਾਰੇ ਕੁਝ ਪਤਾ ਨਹੀਂ"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "ਸਰਵਿਸ ਲਈ ਵੱਧ-ਤੋਂ-ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ ਕਰਨ ਦੀ ਹੱਦ ਟੱਪੀ ਗਈ"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਟੋਕਨ ਦੀ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੀ ਹੈ, ਨਵੇਂ ਦੀ ਲੋੜ ਹੈ"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "ਵਰਤੋਂਕਾਰ ਖਾਤੇ ਦੀ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੀ ਹੈ"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "ਖਾਸ ਸ਼ੈਸ਼ਨ ਲਈ ਇੱਕ ਐਂਟਰੀ ਬਣਾ/ਹਟਾ ਨਹੀਂ ਸਕਦਾ"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਿਸ ਵਰਤੋਂਕਾਰ ਸਨਦਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦੀ ਹੈ"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "ਵਰਤੋਂਕਾਰ ਸਨਦਾਂ ਦੀ ਮਿਆਦ ਪੁੱਗੀ ਹੈ"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "ਵਰਤੋਂਕਾਰ ਸਨਦਾਂ ਸੈਟਿੰਗ ਅਸਫ਼ਲ ਹੈ"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "ਕੋਈ ਮੈਡਿਊਲ ਸੰਬੰਧੀ ਡਾਟਾ ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "ਗਲਤ ਇਕਾਈਆਂ pam_*_item() ਨੂੰ ਪਾਸ ਕੀਤੀਆਂ ਹਨ"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "ਤਬਦੀਲੀ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਟੋਕਨ ਸੋਧ ਗਲਤੀ"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਣਕਾਰੀ ਰਿਕਵਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਟੋਕਨ ਲਾਕ ਬਿਜ਼ੀ ਹੈ"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਟੋਕਨ ਏਜਿੰਗ ਅਸਮਰੱਥ ਹੈ"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "ਪਾਸਵਰਡ ਸਰਵਿਸ ਵਲੋਂ ਮੁੱਢਲੀ ਜਾਂਚ ਫੇਲ੍ਹ ਹੋਈ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "ਰਿਟਰਨ ਮੁੱਲ PAM ਡਿਸਪੈਚ ਦੁਆਰਾ ਅਣਡਿੱਠਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "ਮੈਡੀਊਲ ਅਣਜਾਣ ਹੈ"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਦੀ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੀ ਹੈ"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "ਗੱਲਬਾਤ ਕਿਸੇ ਘਟਨਾ ਦੀ ਉਡੀਕ ਵਿੱਚ ਹੈ"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "ਕਾਰਜ ਲਈ ਫਿਰ libpam ਨੂੰ ਕਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਰਿਹਾ ਹੈ...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...ਅਫਸੋਸ, ਤੁਹਾਡਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਗਿਆ ਹੈ!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ਗਲਤ ਗੱਲ (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s ਫੇਲ ਹੋਇਆ: ਕੋਡ %d ਨਾਲ ਬੰਦ ਹੋ ਗਿਆ"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s ਫੇਲ ਹੋ ਗਿਆ: ਸਿਗਨਲ %d%s ਮਿਲਿਆ"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s ਫੇਲ ਹੋਇਆ: ਅਣਪਛਾਤੀ ਸਥਿਤੀ 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr "ਵਰਤੋਂ: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u ਫੇਲ੍ਹ ਹੋਏ ਲਾਗਇਨਾਂ ਕਰਕੇ ਖਾਤਾ ਲਾਕ ਕੀਤਾ ਹੈ।"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(ਅਣਲਾਕ ਕਰਨ ਲਈ %d ਮਿੰਟ ਬਚੇ ਹਨ)"
+msgstr[1] "(ਅਣਲਾਕ ਕਰਨ ਲਈ %d ਮਿੰਟ ਬਚੇ ਹਨ)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(ਅਣਲਾਕ ਕਰਨ ਲਈ %d ਮਿੰਟ ਬਚੇ ਹਨ)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s ਤੋਂ"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s ਉੱਤੇ"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "ਪਿਛਲਾ ਲਾਗਇਨ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "ਤੁਹਾਡੇ ਨਵੇਂ ਖਾਤੇ ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "ਆਖਰੀ ਫੇਲ ਹੋਇਆ ਲਾਗਇਨ:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "ਪਿਛਲੇ ਕਾਮਯਾਬ ਲਾਗਇਨ ਤੋਂ ਬਾਅਦ %d ਫੇਲ ਲਾਗਇਨ ਕੋਸ਼ਿਸ਼ ਸੀ।"
+msgstr[1] "ਪਿਛਲੇ ਕਾਮਯਾਬ ਲਾਗਇਨ ਤੋਂ ਬਾਅਦ %d ਫੇਲ੍ਹ ਲਾਗਇਨ ਕੋਸ਼ਿਸ਼ਾਂ ਸਨ।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "ਪਿਛਲੇ ਕਾਮਯਾਬ ਲਾਗਇਨ ਤੋਂ ਬਾਅਦ %d ਫੇਲ੍ਹ ਲਾਗਇਨ ਕੋਸ਼ਿਸ਼ਾਂ ਸਨ।"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' ਲਈ ਬਹੁਤ ਸਾਰੇ ਲਾਗਇਨ ਕੀਤੇ ਗਏ ਸਨ।"
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "ਤੁਹਾਡੇ ਲਈ ਕੋਈ ਮੇਲ ਨਹੀਂ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "ਤੁਹਾਡੀ ਨਵੀਂ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "ਤੁਹਾਡੀ ਪੁਰਾਣੀ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "ਤੁਹਾਡੀ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "ਫੋਲਡਰ %s ਵਿੱਚ ਤੁਹਾਡੀ ਕੋਈ ਮੇਲ ਨਹੀਂ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "ਫੋਲਡਰ %s ਵਿੱਚ ਤੁਹਾਡੀ ਨਵੀਂ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "ਫੋਲਡਰ %s ਵਿੱਚ ਤੁਹਾਡੀ ਪੁਰਾਣੀ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "ਫੇਲਡਰ %s ਵਿੱਚ ਤੁਹਾਡੀ ਮੇਲ ਹੈ।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "ਡਾਇਰੈਕਟਰੀ '%s' ਬਣਾਈ ਜਾ ਰਹੀ ਹੈ।"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "ਡਾਇਰੈਕਟਰੀ '%s' ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਅਸਮਰਥ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "ਪਾਸਵਰਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "ਪਾਸਵਰਡ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾ ਚੁੱਕਾ ਹੈ।"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "ਮੂਲ ਸੁਰੱਖਿਆ ਪਰਸੰਗ %s ਹੈ।"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "ਕੀ ਤੁਸੀਂ ਵੱਖਰਾ ਰੋਲ ਜਾਂ ਲੈਵਲ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "ਰੋਲ:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "ਰੋਲ %s ਲਈ ਕੋਈ ਮੂਲ ਕਿਸਮ ਨਹੀਂ ਹੈ।"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "ਲੈਵਲ:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "ਇਹ ਠੀਕ ਸੁਰੱਖਿਆ ਪਰਸੰਗ ਨਹੀਂ ਹੈ।"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "%s ਲਈ ਢੁੱਕਵਾਂ ਪਰਸੰਗ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "ਸੁਰੱਖਿਆ ਪਰਸੰਗ %s ਦਿੱਤਾ ਨਹੀਂ ਜਾ ਸਕਿਆ।"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "ਕੁੰਜੀ ਬਣਾਉਣ ਪਰਸੰਗ %s ਦਿੱਤਾ ਗਿਆ ਹੈ।"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਫੇਲ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() ਲਈ ਫੇਲ\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ਲਾਗਇਨ: ਫੋਰਕਿੰਗ ਫੇਲ: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "ਪਹੁੰਚ ਲਈ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਗਈ (ਪਿਛਲੀ ਪਹੁੰਚ %ld ਸਕਿੰਟ ਪਹਿਲਾਂ ਸੀ)।"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "ਤੁਹਾਡੇ ਖਾਤੇ ਦੀ ਮਿਆਦ ਪੁੱਗ ਗਈ ਹੈ; ਆਪਣੇ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜੀ।"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਫ਼ੌਰੀ ਤਬਦੀਲ ਕਰਨਾ ਪਵੇਗਾ (ਪਰਸ਼ਾਸ਼ਕ ਵੱਲੋਂ ਲਾਜ਼ਮੀ ਬਣਾਇਆ)।"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਫ਼ੌਰੀ ਤਬਦੀਲ ਕਰਨਾ ਪਵੇਗਾ (ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗੀ ਹੈ)।"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "ਚੇਤਾਵਨੀ: ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ %d ਦਿਨ ‘ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+msgstr[1] "ਚੇਤਾਵਨੀ: ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ %d ਦਿਨਾਂ ‘ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "ਚੇਤਾਵਨੀ: ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ %d ਦਿਨਾਂ ‘ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS ਪਾਸਵਰਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "ਕੋਈ ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "ਪਾਸਵਰਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਛੋਟਾ ਪਾਸਵਰਡ ਚੁਣਨਾ ਚਾਹੀਦਾ ਹੈ."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "ਤੁਹਾਨੂੰ ਲੰਮਾ ਪਾਸਵਰਡ ਚੁਣਨਾ ਪਵੇਗਾ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s ਲਈ ਪਾਸਵਰਡ ਤਬਦੀਲ ਕਰ ਰਿਹਾ ਹੈ।"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "ਤੁਹਾਨੂੰ ਆਪਣੇ ਪਾਸਵਰਡ ਨੂੰ ਬਦਲਣ ਲਈ ਲੰਮੀ ਉਡੀਕ ਕਰਨੀ ਪਵੇਗੀ।"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ਪੁਰਾਣੇ ਵਰਗਾ ਹੈ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "ਮੈਮੋਰੀ ਨਿਰਧਾਰਨ ਗਲਤੀ"
+
+#~ msgid "is a palindrome"
+#~ msgstr "ਘੁੰਮਾਉ ਸ਼ਬਦ ਹੈ"
+
+#~ msgid "case changes only"
+#~ msgstr "ਸਿਰਫ ਅੱਖਰ ਤਬਦੀਲੀ"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ਪੁਰਾਣੇ ਨਾਲ ਬਹੁਤ ਮਿਲਦਾ-ਜੁਲਦਾ ਹੈ"
+
+#~ msgid "is too simple"
+#~ msgstr "ਬਹੁਤ ਸਧਾਰਨ ਹੈ"
+
+#~ msgid "is rotated"
+#~ msgstr "ਘੁੰਮਾਇਆ ਹੈ"
+
+#~ msgid "not enough character classes"
+#~ msgstr "ਲੋੜੀਂਦੀਆਂ ਅੱਖਰ ਸ਼੍ਰੇਣੀਆਂ ਨਹੀਂ ਹਨ"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "ਲਗਾਤਾਰ ਬਹੁਤ ਸਾਰੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਅੱਖਰ ਸ਼ਾਮਿਲ ਹਨ"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "ਇੱਕ ਬਹੁਤ ਜਿਆਦਾ ਲੰਬੀ ਇਕਸੁਰਤਾ ਵਾਲੀ ਅੱਖਰ ਲੜੀ ਸਮਾਈ ਹੋਈ ਹੈ"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "ਕਿਸੇ ਢੰਗ ਨਾਲ ਵਰਤੋਂਕਾਰ ਨਾਂ ਮੌਜੂਦ ਹੈ"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ਗਲਤ ਪਾਸਵਰਡ: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "ਖਾਤਾ ਆਰਜ਼ੀ ਤੌਰ ‘ਤੇ ਲਾਕ ਕੀਤਾ ਹੈ (%ld ਸਕਿੰਟ ਬਾਕੀ ਹਨ)।"
+
+#~ msgid "Authentication error"
+#~ msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ"
+
+#~ msgid "Service error"
+#~ msgstr "ਸੇਵਾ ਗਲਤੀ"
+
+#~ msgid "Unknown user"
+#~ msgstr "ਅਣਪਛਾਤਾ ਵਰਤੋਂਕਾਰ"
+
+#~ msgid "Unknown error"
+#~ msgstr "ਅਣਜਾਣੀ ਗਲਤੀ"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset= ਲਈ ਗਲਤ ਨੰਬਰ ਦਿੱਤਾ ਗਿਆ\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: ਬੇਪਛਾਣ ਚੋਣ %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਗ਼ੈਰ-ਸਿਫ਼ਰ ਲਈ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "ਲਾਗਇਨ ਫੇਲ੍ਹ ਆਖਰੀ ਹੋਏ ਫੇਲ੍ਹ ਇਸ ਤੋਂ\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u ਵਰਤੋਂਕਾਰ-ਨਾਂ] [--user ਵਰਤੋਂਕਾਰ-ਨਾਂ]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 0000000..b2cf4b6
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..42b0c42
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,573 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Piotr Drąg <piotrdrag@gmail.com>, 2008,2012, 2020, 2021.
+# Stanisław Małolepszy <smalolepszy@aviary.pl>, 2006
+# Wojciech Kapusta <wojciech@aviary.pl>, 2006
+# Piotr Drąg <piotrdrag@gmail.com>, 2016. #zanata, 2020, 2021.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-21 15:47+0000\n"
+"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
+"Language-Team: Polish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/pl/>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Hasło: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Obecne hasło %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Obecne hasło: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nowe hasło %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nowe hasło: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Proszę ponownie wpisać nowe hasło %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Proszę ponownie wpisać nowe hasło: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Hasła się nie zgadzają."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Proszę ponownie wpisać %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Przerwano zmianę hasła."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Powodzenie"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Błąd krytyczny — natychmiastowe przerwanie"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Wczytanie modułu się nie powiodło"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Nie odnaleziono symbolu"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Błąd w module usługi"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Błąd systemu"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Błąd buforowania pamięci"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Brak dostępu"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Uwierzytelnienie się nie powiodło"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Niewystarczające uprawnienia do dostępu do danych uwierzytelniających"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Usługa uwierzytelniania nie może uzyskać informacji o uwierzytelnianiu"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Nieznany użytkownik w module uwierzytelniania niższego poziomu"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Wykorzystano maksymalną liczbę prób dla usługi"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Token uwierzytelniania nie jest już ważny; wymagany jest nowy"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Konto użytkownika wygasło"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Nie można utworzyć/usunąć wpisu dla podanej sesji"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Usługa uwierzytelniania nie może uzyskać uwierzytelnienia użytkownika"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Uwierzytelnienie użytkownika wygasło"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Ustawienie uwierzytelniania użytkownika się nie powiodło"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Brak danych specyficznych dla modułu"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Błędny element przekazany do pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Błąd rozmowy"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Błąd podczas modyfikowania tokenu uwierzytelniania"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Nie można odzyskać informacji uwierzytelniających"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Blokada tokenu uwierzytelniania jest zajęta"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Wygasanie tokenu uwierzytelniania jest wyłączone"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Wstępne sprawdzenie hasła przez usługę się nie powiodło"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Zwrócona wartość powinna zostać zignorowana przez PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Moduł jest nieznany"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Token uwierzytelniania wygasł"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Rozmowa oczekuje na zdarzenie"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Aplikacja musi jeszcze raz wywołać libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Nieznany błąd PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "…czas mija…\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "…czas minął.\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "błędna rozmowa (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s się nie powiodło: kod wyjścia %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s się nie powiodło: otrzymano sygnał %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s się nie powiodło: nieznany stan 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Użycie: %s [--dir /ścieżka/do/katalogu-tally] [--user nazwa-użytkownika] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Konto zostało zablokowane z powodu %u nieudanych logowań."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(pozostała %d minuta do odblokowania)"
+msgstr[1] "(pozostały %d minuty do odblokowania)"
+msgstr[2] "(pozostało %d minut do odblokowania)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(pozostało %d min do odblokowania)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a, %-d %b %Y, %H∶%M∶%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " z %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " na %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Ostatnie logowanie:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Witaj na swoim nowym koncie!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Ostatnie nieudane logowanie:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Nastąpiła %d nieudana próba zalogowania od ostatniego udanego logowania."
+msgstr[1] ""
+"Nastąpiły %d nieudane próby zalogowania od ostatniego udanego logowania."
+msgstr[2] ""
+"Nastąpiło %d nieudanych prób zalogowania od ostatniego udanego logowania."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Nastąpiło %d nieudanych prób zalogowania od ostatniego udanego logowania."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Za dużo prób zalogowania na „%s”."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Brak wiadomości."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Odebrano nowe wiadomości."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Skrzynka zawiera stare wiadomości."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Odebrano wiadomości."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Brak wiadomości w katalogu %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Nowe wiadomości w katalogu %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Stare wiadomości w katalogu %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Wiadomości w katalogu %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Tworzenie katalogu „%s”."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Nie można utworzyć i zainicjować katalogu „%s”."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Hasło było już używane. Należy wybrać inne."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Hasło było już używane."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Domyślny kontekst zabezpieczeń to %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Wprowadzić inną rolę lub poziom?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rola:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Brak domyślnego typu dla roli %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "poziom:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Nieprawidłowy kontekst zabezpieczeń."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Nie można uzyskać prawidłowego kontekstu dla %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Przypisano kontekst zabezpieczeń %s."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Przypisano kontekst tworzenia klucza %s."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "zainicjowanie PAM się nie powiodło\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "„pam_set_item()” się nie powiodło\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: rozdzielenie się nie powiodło: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Udzielono dostęp (ostatni dostęp %ld s temu)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Konto wygasło; proszę skontaktować się z administratorem komputera."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Wymagana jest natychmiastowa zmiana hasła (wymuszone przez administratora)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Wymagana jest natychmiastowa zmiana hasła (hasło wygasło)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Ostrzeżenie: hasło wygaśnie za %d dzień."
+msgstr[1] "Ostrzeżenie: hasło wygaśnie za %d dni."
+msgstr[2] "Ostrzeżenie: hasło wygaśnie za %d dni."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Ostrzeżenie: hasło wygaśnie za %d dni."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Nie można zmienić hasła NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Nie podano hasła."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Hasło nie zostało zmienione."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Należy wybrać krótsze hasło."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Należy wybrać dłuższe hasło."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Zmienianie hasła dla %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Należy poczekać dłużej na zmianę hasła."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "jest identyczne z poprzednim"
+
+#~ msgid "memory allocation error"
+#~ msgstr "błąd przydziału pamięci"
+
+#~ msgid "is a palindrome"
+#~ msgstr "jest palindromem"
+
+#~ msgid "case changes only"
+#~ msgstr "ma zmienioną tylko wielkość znaków"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "jest za bardzo podobne do poprzedniego"
+
+#~ msgid "is too simple"
+#~ msgstr "jest za proste"
+
+#~ msgid "is rotated"
+#~ msgstr "jest obrócone"
+
+#~ msgid "not enough character classes"
+#~ msgstr "za mało rodzajów znaków"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "zawiera za dużo takich samych znaków po sobie"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "zawiera za dużo takich samych znaków po sobie"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "zawiera nazwę użytkownika w jakiejś formie"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "BŁĘDNE HASŁO: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Konto zostało tymczasowo zablokowane (pozostało %ld s)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Błąd uwierzytelniania"
+
+#~ msgid "Service error"
+#~ msgstr "Błąd usługi"
+
+#~ msgid "Unknown user"
+#~ msgstr "Nieznany użytkownik"
+
+#~ msgid "Unknown error"
+#~ msgstr "Nieznany błąd"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: podano błędny numer dla „--reset=”\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: nierozpoznana opcja %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file nazwa-pliku-root] [--user nazwa-użytkownika] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: nie można przywrócić wszystkich użytkowników\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Niepowodzenia Ostatnie niepowodzenie Z\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f nazwa-pliku-root] [--file nazwa-pliku-root]\n"
+#~ " [-u nazwa-użytkownika] [--user nazwa-użytkownika]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/pt.gmo b/po/pt.gmo
new file mode 100644
index 0000000..81d4cc7
--- /dev/null
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..556b5c7
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,577 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Antonio Cardoso Martins <digiplan@netvisao.pt>, 2005-2006
+# Ricardo Pinto <ricardo.bigote@gmail.com>, 2013
+# Rui Gouveia <rui.gouveia@globaltek.pt>, 2009
+# Rui Gouveia <rui.gouveia@gmail.com>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+# Manuela Silva <mmsrs@sky.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Portuguese <https://translate.fedoraproject.org/projects/"
+"linux-pam/master/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Palavra-passe: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Palavra-passe %s atual: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Palavra-passe atual: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nova palavra-passe %s : "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nova palavra-passe: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Digite novamente a nova palavra-passe %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Digite novamente a nova palavra-passe: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Desculpe, as palavras-passe não coincidem."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Digite novamente %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "A alteração da palavra-passe foi abortada."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "credencial:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Sucesso"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Erro crítico - abortar imediatamente"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Não foi possível carregar o modulo"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Símbolo não encontrado"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Erro no módulo do serviço"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Erro de sistema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Erro de ''buffer'' da memória"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Falha de autenticação"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credenciais insuficientes para aceder aos dados de autenticação"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "O serviço de autenticação não pode obter a informação de autenticação"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Utilizador desconhecido para o módulo de autenticação subjacente"
+
+#: libpam/pam_strerror.c:64
+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:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "O código de autenticação já não é válido; é necessário um novo"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "A conta do utilizador expirou"
+
+#: libpam/pam_strerror.c:70
+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:72
+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:74
+msgid "User credentials expired"
+msgstr "As credenciais do utilizador expiraram"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Falha na definição das credenciais do utilizador"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Não existe informação do módulo"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Item incorrecto passado para pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Erro de conversação"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Erro de manipulação do código de autenticação"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "A informação de autenticação não pode ser recuperada"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Bloqueio de código de autenticação ocupado"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Período do código de autenticação desativado"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "A validação preliminar pelo serviço de palavras-passe falhou"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "O valor de retorno deveria ser ignorado pelo PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "O módulo é desconhecido"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "O 'token' de autenticação expirou"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "A conversação está a aguardar um evento"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "A aplicação necessita de invocar o libpam novamente"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Erro PAM desconhecido"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...O tempo está a esgotar-se...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Desculpe, o seu tempo expirou!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversação errónea (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s falhou: código de saída %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s falhou: sinal capturado %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s falhou: estado desconhecido 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Utilização: %s [--dir / path/to/tally-directory] [--user nome de utilizador] "
+"[--reset]]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Conta bloqueada devido a %u inícios de sessão falhados."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minuto restante para desbloquear)"
+msgstr[1] "(%d minutos restante para desbloquear)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(Minutos restantes para desbloquear: %d)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " a partir de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " em %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Último início de sessão:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Bem vindo à sua nova conta!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Último início de sessão falhado:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Houve %d tentativa falhada de início de sessão desde o último início de "
+"sessão com sucesso."
+msgstr[1] ""
+"Houve %d tentativas falhadas de início de sessão desde o último início de "
+"sessão com sucesso."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Houve %d tentativas falhadas de início de sessão desde o último início de "
+"sessão com sucesso."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Demasiados inícios de sessão para '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Não tem correio electrónico."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Tem correio electrónico novo."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Tem correio electrónico antigo."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Tem correio electrónico."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Não tem correio electrónico na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Tem correio electrónico novo na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Tem correio electrónico antigo na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Tem correio electrónico na pasta %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "A criar directório '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Não foi possível criar e inicializar o directório '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "A senha já foi utilizada anteriormente. Escolha outra."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "A senha já foi utilizada anteriormente."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Contexto de Segurança por Omissão %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Pretende inserir um perfil ou nível diferente?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "Perfil:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Perfil sem tipo definido por omissão %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nível:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Não é um contexto de segurança válido."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Não foi possível obter um contexto de segurança válido para %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contexto de Segurança %s Atribuído."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Contexto de Segurança de Chaves %s Atribuído."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "falha ao inicializar o PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "falha em pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "início de sessão: falha no 'forking': %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Acesso permitido (último acesso foi à %ld segundos atrás)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"A sua conta expirou; por favor contacte o seu administrador de sistema."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"É obrigatório que altere de imediato a sua senha (politica do sistema)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"É obrigatório que altere de imediato a sua senha (antiguidade da password)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Aviso: a sua senha expira em %d dia."
+msgstr[1] "Aviso: a sua senha expira em %d dias."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Aviso: a sua palavra passe expira em %d dias."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "A senha NIS não pode ser alterada."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Não foi fornecida uma senha."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "A senha não foi alterada."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Você deve escolher uma senha mais curta."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Deve escolher uma senha mais longa."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "A alterar senha para %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Tem de esperar mais antes de poder alterar a sua senha."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "é igual à anterior"
+
+#~ msgid "memory allocation error"
+#~ msgstr "erro de alocação de memória"
+
+#~ msgid "is a palindrome"
+#~ msgstr "é um palíndromo"
+
+#~ msgid "case changes only"
+#~ msgstr "apenas muda a capitulação"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "é muito semelhante à anterior"
+
+#~ msgid "is too simple"
+#~ msgstr "é demasiado simples"
+
+#~ msgid "is rotated"
+#~ msgstr "é rodada"
+
+#~ msgid "not enough character classes"
+#~ msgstr "não tem classes de caracteres suficientes"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "contém demasiados caracteres iguais consecutivos"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "contém demasiados caracteres iguais consecutivos"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "contém, de alguma forma, o nome do utilizador"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "MÁ SENHA: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Conta temporariamente bloqueada (faltam %ld segundos)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Erro de autenticação"
+
+#~ msgid "Service error"
+#~ msgstr "Erro de serviço"
+
+#~ msgid "Unknown user"
+#~ msgstr "Utilizador desconhecido"
+
+#~ msgid "Unknown error"
+#~ msgstr "Erro desconhecido"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Número errado fornecido a --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Opção não reconhecida %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file ficheiro-raiz] [--user nome-utilizador] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ 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"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Sessão Falhas Última falha De\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u nome-de-utilizador] [--user nome-de-utilizador]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644
index 0000000..524bfe9
--- /dev/null
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..bdfcb16
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,567 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Diego Búrigo Zacarão <diegobz@projetofedora.org>, 2008
+# Elder Marco <eldermarco@gmail.com>, 2012
+# Glaucia Freitas <gcintra@redhat.com>, 2007
+# Glaucia Freitas <gcintra@redhat.com>, 2007
+# Marcelo Barbosa <firemanxbr@fedoraproject.org>, 2013
+# Taylon Silmer <taylonsilva@gmail.com>, 2008-2009
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Portuguese (Brazil) <https://translate.fedoraproject.org/"
+"projects/linux-pam/master/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Senha: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Atual %s senha: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Atual senha: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nova %s senha: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nova senha: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Redigite a nova %s senha: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Redigite a nova senha: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "As senhas não são iguais."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Redigite %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "A alteração de senha foi abortada."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Sucesso"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Erro crítico - abortar imediatamente"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Falha ao carregar módulo"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Símbolo não encontrado"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Erro no módulo de serviço"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Erro do sistema"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Erro do buffer de memória"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Falha de autenticação"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Credenciais insuficientes para acessar dados de autenticação"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "O serviço de autenticação não recuperou informações de autenticação"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Usuário desconhecido para o módulo de autenticação subjacente"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Esgotado o número máximo de tentativas para serviço"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "O token de autenticação não é mais válido; é necessario um novo token"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "A conta do usuário expirou"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Impossível fazer/remover uma entrada para a sessão específica"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "O serviço de autenticação não recuperou as credenciais do usuário"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Credenciais do usuário expiradas"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Falha ao definir credenciais do usuário"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Não há nenhum dado específico para o módulo"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ítem incorreto passado para pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Erro de conversação"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Erro de manipulação de token de autenticação"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Impossível recuperar informações de autenticação"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Bloqueio de token de autenticação ocupado"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Validade do token de autenticação desabilitado"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Falha na verificação preliminar por serviço de senha"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "O valor de retorno deve ser ignorado pelo despacho PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Módulo desconhecido"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Token de autenticação expirado"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversação aguardando por evento"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "O aplicativo precisa chamar libpam novamente"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Erro desconhecido no PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...O tempo está acabando...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Desculpe, seu tempo está aumentando!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversação errônea (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s falhou: código de saída %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s falhou: detectou sinal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s falhou: status desconhecido 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Uso: %s [--dir /caminho/para/diretório-tally] [--user nome-utilizador] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Conta bloqueada devido a %u falhas de login."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minuto restante para desbloquear)"
+msgstr[1] "(%d minutos restante para desbloquear)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(minutos restantes para desbloquear: %d)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " em %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Último login:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Bem-vindo à sua nova conta!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Falha no último login:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Houve %d falhas de login desde o último login bem sucedido."
+msgstr[1] "Houveram %d falhas de login desde o último login bem sucedido."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Houveram %d falhas de login desde o último login bem sucedido."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Há logins demais para '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Não há mensagens."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Há novas mensagens."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Há mensagens antigas."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Há mensagens."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Não há mensagens na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Há novas mensagens na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Há mensagens antigas na pasta %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Há mensagens na pasta %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Criando o diretório '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Impossível criar e inicializar o diretório \"%s\"."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "A senha já foi usada. Escolha outra."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "A senha já foi usada."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Contexto de Segurança Padrão %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Deseja digitar uma função ou nível diferente?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "função:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Não existe tipo padrão para a função %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nível:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Não é um contexto de segurança válido."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Impossível obter um contexto válido para %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contexto de segurança %s atribuído."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Contexto de criação de chave %s atribuído."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "falha ao inicializar PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "falha em pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: falha na bifurcação: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Acesso concedido (o último acesso foi a %ld segundos atrás)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Sua conta expirou; entre em contato com o administrador do sistema."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Mude sua senha imediatamente (aplicado pela raiz)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Mude sua senha imediatamente (senha expirada)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Aviso: sua senha irá expirar em %d dia."
+msgstr[1] "Aviso: sua senha irá expirar em %d dias."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Aviso: sua senha irá expirar em %d dias."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "A senha NIS não pôde ser mudada."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Nenhuma senha informada."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Senha inalterada."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Você deve escolher uma senha mais curta."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Escolha uma senha mais longa."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Mudando senha para %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Aguarde mais tempo para mudar a senha."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "é igual à antiga senha"
+
+#~ msgid "memory allocation error"
+#~ msgstr "Erro de alocação de memória"
+
+#~ msgid "is a palindrome"
+#~ msgstr "é um palíndromo"
+
+#~ msgid "case changes only"
+#~ msgstr "mudou apenas maiúsculas/minúsculas"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "é muito semelhante à antiga"
+
+#~ msgid "is too simple"
+#~ msgstr "é simples demais"
+
+#~ msgid "is rotated"
+#~ msgstr "foi invertida"
+
+#~ msgid "not enough character classes"
+#~ msgstr "classes de caractere insuficientes"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "contém muitos caracteres igual consecutivamente"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "contém muito longo de uma seqüência de caracteres monotônica"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "contém o nome de usuário em algum formulário"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "SENHA INCORRETA: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Conta temporariamente bloqueada (restam %ld segundos)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Erro de autenticação"
+
+#~ msgid "Service error"
+#~ msgstr "Erro de serviço"
+
+#~ msgid "Unknown user"
+#~ msgstr "Usuário desconhecido"
+
+#~ msgid "Unknown error"
+#~ msgstr "Erro desconhecido"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Número insuficiente fornecido para --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Opção não reconhecida %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file ficheiro-raiz [--user nome-utilizador] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Impossível redefinir todos os usuários para não-zero\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Falhas Último falha De\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f ficheiro-raiz] [--file ficheiro-raiz]\n"
+#~ " [-u nome-utilizador] [--user nome-utilizador]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644
index 0000000..0122c46
--- /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 0000000..2436c49
--- /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
+}
diff --git a/po/ro.gmo b/po/ro.gmo
new file mode 100644
index 0000000..e2cc3fd
--- /dev/null
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..b2c8899
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,496 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Vlad <milovlad@outlook.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-12-26 18:36+0000\n"
+"Last-Translator: Vlad <milovlad@outlook.com>\n"
+"Language-Team: Romanian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ro/>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Weblate 4.3.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Parolă: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Parolă curentă %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Parolă curentă: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Parolă nouă %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Parolă nouă: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Rescrie parola nouă %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Rescrie parola nouă: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Parolele nu se potrivesc."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Rescrie %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Schimbarea parolei a eșuat."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "autentificare:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Succes"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Eroare critică - abandonare imediată"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Încercare eșuată de a încărca un modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Simbolul nu a fost găsit"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Eroare în modulul de serviciu"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Eroare de sistem"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Eroare în memoria tampon"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Acces refuzat"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autentificare eșuată"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Acreditări insuficiente pentru a accesa datele de autentificare"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Serviciul de autentificare nu poate obține informațiile de autentificare"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Modulul de autentificare nu cunoaște utilizatorul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "S-a atins numărul maxim de încercări pentru serviciu"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+"Autentificarea nu mai este valabilă; o nouă autentificare este necesară"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Contul utilizatorului a expirat"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Nu se poate crea/șterge o intrare pentru sesiunea specificată"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Serviciul de autentificare nu poate obține acreditările utilizatorului"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Acreditările utilizatorului au expirat"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Eșec in setarea acreditărilor pentru utilizator"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nu există date specifice pentru modul"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "A fost trimis un element incorect către pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Eroare de conversație"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Eroare la manipularea informației de autentificare"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Informația de autentificare nu poate fi recuperată"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Blocarea informației de autentificare este rezervată"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Informația de autentificare nu poate expira"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Eroare la verificarea preliminară făcută de către serviciul de parole"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Valoarea retunată poate fi ignorată de PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modul necunoscut"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Informația de autentificare a expirat"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Conversația asteaptă după un eveniment"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Aplicația trebuie să cheme din nou libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Eroare PAM necunoscută"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Timpul se scurge...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Timpul a expirat!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "conversație eronată (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s a eșuat: codul de terminare %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s a eșuat: semnalul captat %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s a eșuat: stare necunoscută 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Utilizare: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Contul este blocat deoarece %u nu a reușit să se autentifice."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minute rămase până la deblocare)"
+msgstr[1] "(%d minute rămase până la deblocare)"
+msgstr[2] "(%d minute rămase până la deblocare)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minute rămase până la deblocare)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " de la %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " pe %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Ultima autentificare:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Bun venit în noul cont!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Ultima autentificare eșuată:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"A mai fost %d încercare nereușită de autentificare de la ultima "
+"autentificare reușită."
+msgstr[1] ""
+"Au mai fost %d încercări nereușite de autentificare de la ultima "
+"autentificare reușită."
+msgstr[2] ""
+"Au mai fost %d încercări nereușite de autentificare de la ultima "
+"autentificare reușită."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Au mai fost %d încercări nereușite de autentificare de la ultima "
+"autentificare reușită."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Sunt prea multe autentificări pentru '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Nu ai mesaje."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Ai un mesaj nou."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Ai un mesaj vechi."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Ai un mesaj."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Nu ai mesaje în directorul %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Ai un mesaj nou în directorul %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Ai un mesaj vechi în directorul %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Ai un mesaj în directorul %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Crează directorul '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Nu se poate crea și inițializa directorul '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Parola a fost deja utilizată. Alege alta."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Parola a fost deja utilizată."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Contextul implicit de securitate este %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Vrei să introduci un rol sau nivel diferit?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rol:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Nu există un tip implicit pentru rolul %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivel:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Nu există un context valid de securitate."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Nu a putut fi obținut un context valid pentru %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Contextul de securitate %s a fost asignat."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Cheia pentru crearea contextului %s a fost asignată."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "eroare la inițializarea PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "eroare la pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "autentificare: eroare la bifurcare %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Accesul a fost permis (ultimul acces a fost acum %ld secunde)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Contul tău a expirat; te rog să contactezi administratorul de sistem."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Trebuie să schimbi imediat parola (impus de către administrator)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Trebuie să schimbi imediat parola (parola a expirat)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Atenție: parola ta va expira în %d zi."
+msgstr[1] "Atenție: parola ta va expira în %d zile."
+msgstr[2] "Atenție: parola ta va expira în %d zile."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Atenție: parola ta va expira în %d zile."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Parola pentru NIS nu poate fi schimbată."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Nu a fost introdusă nicio parolă."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Parola nu a fost schimbată."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Trebuie să alegi o parolă mai scurtă."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Trebuie să alegi o parolă mai lungă."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Schimbare parolă pentru %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Trebuie să aștepti mai mult până vei putea schimba parola."
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 0000000..13395fb
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..ef0d1b2
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,576 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Aleksandr Brezhnev <abrezhnev@gmail.com>, 2012
+# Andrew Martynov <andrewm@inventa.ru>, 2008
+# Yulia <yulia.poyarkova@redhat.com>, 2007,2009
+# Yulia <yulia.poyarkova@redhat.com>, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-21 13:19+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Russian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Пароль: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Текущий пароль %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Текущий пароль: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Новый пароль %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Новый пароль: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Повторите ввод нового пароля %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Повторите ввод нового пароля: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Извините, но пароли не совпадают."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Повторите ввод %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Изменение пароля отменено."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "учетная запись:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Успех"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Критическая ошибка -- незамедлительное прерывание операции"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Не удалось загрузить модуль"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Символ не найден"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Ошибка в модуле службы"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Системная ошибка"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Ошибка буфера памяти"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Доступ запрещен"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Сбой при проверке подлинности"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Недостаточно учетных данных для доступа к данным проверки подлинности"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+"Службе проверки подлинности не удается загрузить сведения аутентификации"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Пользователь не известен базовому модулю проверки подлинности"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Использовано максимальное число попыток, заданное для службы"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Маркер проверки подлинности больше недействителен; требуется новый"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Срок действия учетной записи пользователя истек"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Не удалось создать/удалить запись для указанного сеанса"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+"Службе проверки подлинности не удается загрузить учетные данные пользователя"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Срок действия учетных данных пользователя истек"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Сбой при настройке учетных данных пользователя"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Отсутствуют данные, специфичные для модуля"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "В pam_*_item() передан неверный элемент"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Ошибка диалога"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Ошибка при операциях с маркером проверки подлинности"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Не удается восстановить сведения аутентификации"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Блокировка маркера проверки подлинности занята"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Ограничение срока действия маркера проверки подлинности отключено"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Службе паролей не удалось выполнить предварительную проверку"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Возвращенное значение не должно учитываться при передаче в PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Неизвестный модуль"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Срок действия маркера проверки подлинности истек"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Процесс диалога ожидает событие"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Приложение должно повторно вызвать libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Неизвестная ошибка PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Время истекает...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Извините, ваше время истекло!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ошибочный диалог (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "Сбой %s. Код выхода: %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "Сбой %s. Получен сигнал %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "Сбой %s. Неизвестный статус 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Использование: %s: [--dir /путь/к/каталогу-tally] [--user имя_пользователя] "
+"[--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+"Учетная запись заблокирована как следствие неудачных попыток входа (всего -- "
+"%u)."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(осталась %d минута до разблокировки)"
+msgstr[1] "(осталось %d минуты до разблокировки)"
+msgstr[2] "(осталось %d минут до разблокировки)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(осталось %d мин. до разблокировки)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " с %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " на %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Последний вход в систему:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Добро пожаловать в новую учетную запись!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Последняя неудачная попытка входа в систему:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Со времени последнего входа была %d неудачная попытка."
+msgstr[1] "Число неудачных попыток со времени последнего входа: %d."
+msgstr[2] "Число неудачных попыток со времени последнего входа: %d."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Число неудачных попыток со времени последнего входа: %d."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Слишком много регистраций в системе для «%s»."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Почты нет."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Есть новая почта."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Есть старая почта."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Есть почта."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Нет почты в папке %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Есть новая почта в папке %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Есть старая почта в папке %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Есть почта в папке %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Создание каталога %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Не удалось создать и инициализировать каталог %s."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Этот пароль уже был использован. Выберите другой."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Этот пароль уже использовался."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Контекст безопасности по умолчанию %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Хотите ввести другую роль или уровень?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "роль:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Для роли %s нет типа по умолчанию."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "уровень:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Неверный контекст безопасности."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Не удалось получить корректный контекст для %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Контекст безопасности %s назначен."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Контекст %s, используемый при создании ключей, назначен."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "не удалось инициировать PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "не удалось выполнить pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "регистрация: сбой при создании нового процесса: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Доступ предоставлен (последнее обращение было %ld сек. назад)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Срок действия учетной записи истек; обратитесь к системному администратору."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Вам необходимо немедленно сменить пароль (по требованию администратора)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Вам необходимо немедленно сменить пароль (пароль устарел)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Предупреждение: срок действия пароля истекает через %d день."
+msgstr[1] "Предупреждение: срок действия пароля истекает через %d дня."
+msgstr[2] "Предупреждение: срок действия пароля истекает через %d дней."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Предупреждение: срок действия пароля истекает через %d дн(я)(ей)."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Пароль NIS изменить нельзя."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Пароль не указан."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Пароль не изменен."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Вы должны выбрать более короткий пароль."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Выберите пароль большей длины."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Смена пароля для %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "До смены пароля должно пройти больше времени."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "совпадает со старым"
+
+#~ msgid "memory allocation error"
+#~ msgstr "ошибка выделения памяти"
+
+#~ msgid "is a palindrome"
+#~ msgstr "является палиндромом"
+
+#~ msgid "case changes only"
+#~ msgstr "изменения только в регистре"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "слишком похож на старый"
+
+#~ msgid "is too simple"
+#~ msgstr "слишком простой"
+
+#~ msgid "is rotated"
+#~ msgstr "является результатом чередования"
+
+#~ msgid "not enough character classes"
+#~ msgstr "слишком мало символов различных типов"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "содержит слишком длинную последовательность одинаковых символов"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "содержит слишком много повторяющихся символов"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "содержит имя пользователя"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "НЕУДАЧНЫЙ ПАРОЛЬ: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Учетная запись временно заблокирована (осталось %ld сек.)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Ошибка при проверке подлинности"
+
+#~ msgid "Service error"
+#~ msgstr "Ошибка службы"
+
+#~ msgid "Unknown user"
+#~ msgstr "Неизвестный пользователь"
+
+#~ msgid "Unknown error"
+#~ msgstr "Неизвестная ошибка"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: указано неверное число для --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: неопознанный параметр %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file имя_корневого_файла] [--user имя_пользователя] [--reset[=n]] "
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: не удается выполнить сброс всех пользователей в ненулевое значение\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Учетная запись Сбои Последний сбой С\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f имя_корневого_файла] [--file имя_корневого_файла]\n"
+#~ " [-u имя_пользователя] [--user имя_пользователя]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/si.gmo b/po/si.gmo
new file mode 100644
index 0000000..121f231
--- /dev/null
+++ b/po/si.gmo
Binary files differ
diff --git a/po/si.po b/po/si.po
new file mode 100644
index 0000000..3bfb467
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,542 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Danishka Navin <snavin@redhat.com>, 2007.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-06 23:59+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Sinhala <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/si/>\n"
+"Language: si\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 3.11.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "රහස්පදය: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "නව %s රහස්පදය: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "නව රහස්පදය: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "නව %s රහස්පදය: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "නව රහස්පදය: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "නව %s රහස්පදය නැවත ඇතුළත් කරන්න: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "නව රහස්පදය නැවත ඇතුළත් කරන්න: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "සමාවෙන්න, රහස්පද ගැලපෙන්නේ නැත."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "රහස්පදය දැනටමත් භාවිතා වේ. වෙනත් එකක් තෝරාගන්න."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "පිවිසීම:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "සාර්ථකයි"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "අවදානම් දෝෂය- ක්‍ෂණික ඉවත්වීම"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "අංගය පූරණය අසමත් විය"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "සංකේතය හමුවූයේ නැත"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "සේවා අංගයේ දෝෂයකි"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "පද්ධති දෝෂය"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "මතක බෆරයේ දෝෂය"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "අවසර වලකා ඇත"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "තහවුරු කරගැනීම අසමත් විය"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "අවසර දත්ත සඳහා ප්‍රවේශයට ප්‍රමාණවත් සහතිකත්වයක් නැත"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "තහවුරු කරගැනීමේ සේවාව මඟින් තහවුරු කරගැනීමේ තොරතුරු ලබාගත නොහැක"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "පාදකවු තහවුරු කරගැනීමේ අංගය සඳහා පරිශිලකයා නොදනි"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "සේවාව සඳහා උපරිම උත්සාහ කිරිම් ඉක්මවා ඇත"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "තහවුරු කරගැනීමේ ටෝකනය තවදුරටත් වලංගු නැත; අලුත් එකක් අවශ්‍යවේ"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "පරිශීලක ගිණුම කල්ඉකුත් විය"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "දක්වා ඇති සැසිය සඳහා ඇතුළත් කිරීමක් එකක් කිරීම/ඉවත් කිරීම කළ නොහැක"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "තහවුරු කරගැනීමේ සේවාව මඟින් පරිශීලක සහතික ලබාගත නොහැක"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "පරිශීලක සහතික කල්ඉකුත් වී ඇත"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "පරිශීලක සහතික සැකසීම අසමත් විය"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "අංගවිශේෂිත දත්ත නොමැත"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "දෝෂ සහිත අයිතමයක් pam_*_item() වෙත පිරිනැමුනී"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "පරිවර්තන දෝෂය"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "තහවුරු කරගැනීමේ ටෝකනය සැකසිමේදි දෝෂය"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "තහවුරු කරගැනීමේ තොරතුරු නැවත ලබාගත නොහැක"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "තහවුරු කරගැනීමේ ටෝකන අගුලුව කර්‍යය බහුලයි"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "පැරණි තහවුරු කරගැනීමේ ටෝකනය අක්‍රීයව ඇත"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "රහස්පද සේවයේ ප්‍රාථමික පරික්‍ෂණය අසමත්විය"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM පිටත්කර හැරීම මඟින් ආපසු ලැබෙන අගය නොසලකා හැරිය යුතුය"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "නොදන්නා අංගයකි"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "තහවුරු කරගැනීමේ ටෝකනය කල්ඉකුතවි ඇත"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "පරිවත්තනය අවස්තාවක් සඳහා නැවතී ඇත"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "යෙදුමට පැරණි libpam ඇමතීමට අවශ්‍යව ඇත"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "නොදන්නා PAM දෝෂය"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...කාල සීමාව ඉක්මවා ඇත...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...සමාවන්න, ොබගේ කාලය ඉක්ම විය!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "වැරදි සගත පරිවර්තනයක්(%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s අසමත් විය: ඉවතිවීමෙ කේතය %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s අසමත් විය: සංඥාව අල්ලා ගන්නා ලදි%d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s අසමත් විය: නොදන්නා තත්වය 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s වෙතින්"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s වෙනිදා"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "අවසාන පිවිසුම:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "ඔබගේ නව ගිණුමට සාදරයෙන් පිළිගනිමු!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' සඳහා බොහෝ පිවිසුම් ගණනක් ඇත."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "ඔබට අලුත් තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "ඔබට අලුත් තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "ඔබට පරණ තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "ඔබට තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s බහලුම තුළ ඔබට තැපැල් නැත."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s බහලුම තුළ ඔබට අලුත් තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s බහලුම තුළ ඔබට පරණ තැපැල් ඇත."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s බහලුම තුළ ඔබට තැපැල් ඇත."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "රහස්පදය දැනටමත් භාවිතා වේ. වෙනත් එකක් තෝරාගන්න."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "රහස්පදය දැනටමත් භාවිතා වේ. වෙනත් එකක් තෝරාගන්න."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "නිරවද්‍ය ආරක්‍ෂක ප්‍රකරණයක් නොවේ"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "නිරවද්‍ය ආරක්‍ෂක ප්‍රකරණයක් නොවේ"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s ආරක්‍ෂක ප්‍රකරණය යොදවා ඇත"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "%s ආරක්‍ෂක ප්‍රකරණය යොදවා ඇත"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM ඇරඹිම අසමත් විය\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() අසමත් විය\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "පිවිසුම: ෆොර්කින් බිදවැටීමක්: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "ඔබගේ ගිණුම කල්ඉකුත් වී ඇත; කරුණාකර ඔබගේ පද්ධති කළමණාකරු හමුවන්න"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "ඔබගේ රහස්පදය හැකි ඉක්මනින් වෙනස් කළ යුතුව ඇත (root බලකර සිටී)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "ඔබගේ රහස්පදය හැකි ඉක්මනින් වෙනස් කළ යුතුව ඇත (රහස්පදය පැරණියි)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "අවවාදයි: ඔබගේ රහස්පදය දින %d කින් කල්ඉකුත් වේ"
+msgstr[1] "අවවාදයි: ඔබගේ රහස්පදය දින %d කින් කල්ඉකුත් වේ"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "අවවාදයි: ඔබගේ රහස්පදය දින %d කින් කල්ඉකුත් වේ"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS රහස්පදය වෙනස් කළ නොහැක."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "රහස්පදය සපයා නැත"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS රහස්පදය වෙනස් කළ නොහැක."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "ඔබ කෙටි මුරපදයක් තෝරා ගත යුතුය."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "ඔබ විසින් දිගු රහස්පදයක් තෝරාගත යුතුම වේ"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "ඔබගේ රහස්පදය වෙනස් කිරීමට බොහෝ වෙලාවක් රැදී සිටීය යුතුම වේ"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "එය පැරණි රහස්පදය හා සමාන වේ"
+
+#~ msgid "is a palindrome"
+#~ msgstr "එය පැලින්ඩ්‍රොමයකි"
+
+#~ msgid "case changes only"
+#~ msgstr "කැපිටල් සිම්පල් වෙනස්කම් පමණි"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "එය පැරණි රහස්පදය බොගොදුරට සමාන වේ"
+
+#~ msgid "is too simple"
+#~ msgstr "එය සරළ වැඩි වේ"
+
+#~ msgid "is rotated"
+#~ msgstr "භ්‍රමණය වි ඇත"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "BAD PASSWORD: %s"
+
+#~ msgid "Authentication error"
+#~ msgstr "තහවුරු කරගැනීමේ දෝෂය"
+
+#~ msgid "Service error"
+#~ msgstr "සේවා දෝෂය"
+
+#~ msgid "Unknown user"
+#~ msgstr "නොදන්නා පරිශීලකයෙක්"
+
+#~ msgid "Unknown error"
+#~ msgstr "නොදන්නා දෝෂයක්"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: සාවද්‍ය අංකයක් ලබා දී ඇත --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: %s හදුනා නොගත් විකල්පයකි\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: ශුන්‍ය නොවන අගයට සියළුම පරිශීලකයින් නැවත සැකසිය නොහැක\n"
diff --git a/po/sk.gmo b/po/sk.gmo
new file mode 100644
index 0000000..f027bfb
--- /dev/null
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..38a3e05
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,578 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# feonsu <feonsu@gmail.com>, 2008
+# feonsu <feonsu@gmail.com>, 2014
+# feonsu <feonsu@gmail.com>, 2008
+# Pavol Šimo <palo.simo@gmail.com>, 2009
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Ondrej Sulek <feonsu@gmail.com>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-07-05 23:52+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Slovak <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/sk/>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 4.1.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Heslo: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Aktuálne %s heslo: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Aktuálne heslo: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nové %s heslo: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nové heslo: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Opakujte nové %s heslo: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Opakujte nové heslo: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Prepáčte, heslá sa nezhodujú."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Opakujte %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Zmena hesla zrušená."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "login:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Úspech"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritická chyba - okamžité zrušenie"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Nepodarilo sa načítať modul"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbol nenájdený"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Chyba v module služby"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Chyba systému"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Chyba vyrovnávacej pamäte"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Prístup odmietnutý"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Zlyhanie overenia"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nedostatočné oprávnenia pre prístup k údajom overenia"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Overovacia služba nemôže získať informácie pre overenie"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Používateľ nie je známy pre podriadený overovací modul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Vyčerpaný maximálny počet pokusov pre službu"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Overovací token už nie je platný; požadovaný je nový"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Platnosť používateľského účtu vypršala"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Pre zadanú reláciu nie je možné vytvoriť/odstrániť záznam"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Overovacia služba nemôže získať oprávnenia používateľa"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Vypršala platnosť používateľského oprávnenia"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Chyba pri nastavení oprávnení používateľa"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nie je možné nájsť dáta pre modul"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Funkcii pam_*_item() bola poslaná zlá položka"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Chyba konverzácie"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Chyba pri manipulácii s overovacím tokenom"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Overovaciu informáciu nie je možné obnoviť"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Overovací token je uzamknutý"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Starnutie overovacieho tokenu zakázané"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Zlyhanie predbežnej kontroly v službe hesla"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Návratová hodnota by mala byť ignorovaná mechanizmom PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Neznámy modul"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Vypršala platnosť overovacieho tokenu"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Konverzácia čaká na udalosť"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Aplikácia musí znovu zavolať libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Neznáme chyba PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Odpočet bol spustený...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Prepáčte, váš čas vypršal!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "chybná konverzácia (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s zlyhalo: výstupný kód %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s zlyhalo: dostal signál %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s zlyhalo: neznámy stav 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Použitie: %s [--dir /cesta/k/zhodujú-directory] [--user pouzivatelske_meno] "
+"[--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Účet uzamknutý z dôvodu %u neúspešných prihlásení."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(odomknutie zostáva %d minút)"
+msgstr[1] "(odomknutie zostáva %d minút)"
+msgstr[2] "(odomknutie zostáva %d minút)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(odomknutie zostáva %d minút)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %d.%m.%Y %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " z %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " na %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Posledné prihlásenie:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Vitajte vo vašom novom účte!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Posledné neúspešné prihlásenie:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Od posledného úspešného prihlásenia došlo k %d neúspešnému pokusu o "
+"prihlásenie."
+msgstr[1] ""
+"Od posledného úspešného prihlásenia došlo k %d neúspešným pokusom o "
+"prihlásenie."
+msgstr[2] ""
+"Od posledného úspešného prihlásenia došlo k %d neúspešným pokusom o "
+"prihlásenie."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Od posledného úspešného prihlásenia došlo k %d neúspešným pokusom o "
+"prihlásenie."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Príliš veľa prihlásení pre '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Nemáte žiadnu poštu."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Máte novú poštu."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Máte starú poštu."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Máte poštu."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Nemáte žiadnu poštu v priečinku %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Máte novú poštu v priečinku %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Máte starú poštu v priečinku %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Máte poštu v priečinku %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Vytváranie priečinka '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Nedá sa vytvoriť a inicializovať priečinok '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Heslo už bolo použité. Zvoľte si iné."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Heslo už bolo použité."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Predvolený kontext zabezpečenia %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Želáte si zadať inú rolu alebo úroveň?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rola:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Chýba predvolený typ pre rolu %s."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "úroveň:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Neplatný kontext zabezpečenia."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Nie je možné získať platný kontext pre %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Kontext zabezpečenia %s pridelený."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Kontext zabezpečenia pre vytváranie kľúčov %s pridelený."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "chyba pri inicializácii PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "chyba pri pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: chyba forku: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Prístup povolený (posledný prístup pred %ld sekundami)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Platnosť vášho účtu vypršala; kontaktujte prosím svojho správcu systému."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Je vyžadovaná okamžitá zmena vašeho hesla (vynútené správcom)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Je vyžadovaná okamžitá zmena vašeho hesla (heslo vypršalo)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Upozornenie: vaše heslo vyprší za %d deň."
+msgstr[1] "Upozornenie: vaše heslo vyprší za %d dni."
+msgstr[2] "Upozornenie: vaše heslo vyprší za %d dní."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Upozornenie: vaše heslo vyprší za %d dní."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Nie je možné zmeniť NIS heslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Heslo nezadané."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Heslo nebolo zmenené."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Musíte zvoliť kratšie heslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Musíte si zvoliť dlhšie heslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Zmena hesla pre %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Na zmenu svojho hesla musíte počkať dlhšie."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "je rovnaké ako predchádzajúce"
+
+#~ msgid "memory allocation error"
+#~ msgstr "chyba pridelenia pamäte"
+
+#~ msgid "is a palindrome"
+#~ msgstr "je palindróm"
+
+#~ msgid "case changes only"
+#~ msgstr "len zmena veľkosti"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "je príliš podobné predchádzajúcemu"
+
+#~ msgid "is too simple"
+#~ msgstr "je príliš jednoduché"
+
+#~ msgid "is rotated"
+#~ msgstr "je otočené"
+
+#~ msgid "not enough character classes"
+#~ msgstr "nedostatok rôznych druhov znakov"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "obsahuje príliš veľa rovnakých znakov za sebou"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "obsahuje príliš jednotvárnu postupnosť znakov"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "obsahuje v nejakej forme používateľské meno"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "NESPRÁVNE HESLO: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Účet dočasne uzamknutý (zostáva %ld sekúnd)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Chyba overenia"
+
+#~ msgid "Service error"
+#~ msgstr "Chyba služby"
+
+#~ msgid "Unknown user"
+#~ msgstr "Neznámy používateľ"
+
+#~ msgid "Unknown error"
+#~ msgstr "Neznáma chyba"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Zadané zlé číslo pre --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Neznáma voľba %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file meno_suboru] [--user pouzivatelske_meno] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Nedá sa resetovať všetkých používateľov nenulovo\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Zlyhaní Ostatné zlyhanie Z\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f meno_suboru] [--file meno_suboru]\n"
+#~ " [-u pouzivatelske_meno] [--user pouzivatelske_meno]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/sl.gmo b/po/sl.gmo
new file mode 100644
index 0000000..529d605
--- /dev/null
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..e472a4b
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,490 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Slovenian (http://www.transifex.com/projects/p/fedora/"
+"language/sl/)\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Izbrati morate krajše geslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Izbrati morate krajše geslo."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Izbrati morate krajše geslo."
diff --git a/po/sq.gmo b/po/sq.gmo
new file mode 100644
index 0000000..526379d
--- /dev/null
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
new file mode 100644
index 0000000..b4756d2
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Albanian (http://www.transifex.com/projects/p/fedora/language/"
+"sq/)\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Ju duhet të zgjidhni një fjalëkalim më të shkurtër."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Ju duhet të zgjidhni një fjalëkalim më të shkurtër."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Ju duhet të zgjidhni një fjalëkalim më të shkurtër."
diff --git a/po/sr.gmo b/po/sr.gmo
new file mode 100644
index 0000000..3ee7a02
--- /dev/null
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..1e97611
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,581 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Marko Uskokovic <uskokovic@etf.bg.ac.yu>, 2007-2008
+# Miloš Komarčević <kmilos@gmail.com>, 2008
+# Momcilo Medic <medicmomcilo@gmail.com>, 2014
+# Nikola Pajtić <salgeras@gmail.com>, 2008
+# Sandra Gucul-Milojevic <undra01@gmail.com>, 2008
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2014-11-16 06:51-0500\n"
+"Last-Translator: Momcilo Medic <medicmomcilo@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/linux-pam/"
+"language/sr/)\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Лозинка: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Нова %s лозинка: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Нова лозинка: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Нова %s лозинка: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Нова лозинка: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Поново унесите нову %s лозинку: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Поново унесите нову лозинку: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Извините, лозинке се не подударају."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Поново унесите %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Промена лозинке је прекинута."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "пријава:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Успешно"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Критична грешка - прекидам одмах"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Неуспешно учитавање модула"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Симбол није пронађен"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Грешка у услужном модулу"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Системска грешка"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Грешка меморијског бафера"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Дозвола је одбијена"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Неуспешна аутентификација"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Недовољно уверења за приступ подацима аутентификације"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Услуга аутентификације не може да добави информације аутентификације"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Корисник није познат основном модулу аутентификације"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Искоришћен је максимални број покушаја услуге"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Жетон аутентификације више није исправан; неопходан је нови"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Кориснички налог је истекао"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Не могу да направим/уклоним ставку наведене сесије"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Услуга аутентификације не може да добави корисничка уверења"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Корисничка уверења су истекла"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Неуспешно постављање корисничких уверења"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Нису присутни специфични подаци модула"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Лош објекат је прослеђен pam_*_item() функцији"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Грешка у разговору"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Грешка при манипулацији жетоном аутентификације"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Информације о аутентификацији не могу бити повраћене"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Закључавање жетона аутентификације је заузето"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Застаревање жетона аутентификације је искључено"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Неуспешна прелиминарна провера услугом лозинке"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM диспечер треба да игнорише повратну вредност"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Модул је непознат"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Истекао је жетон аутентификације"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Разговор очекује догађај"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Програм мора поново да позове libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Непозната PAM грешка"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Истиче време...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Извините, време вам је истекло!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "разговор пун грешака (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s неуспех: излазни код %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s неуспех: ухваћен сигнал %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s неуспех: непознат статус 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file коренски-називдатотеке] [--user корисничкоиме] [--reset[=n]] [--"
+"quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Налог је закључан због %u неуспелих пријава"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e. %b %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " са %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " на %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Последња пријава:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Добро дошли на ваш нови налог!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Последња неуспешна пријава:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Био је %d неуспео покушај пријаве од последње успешне пријаве."
+msgstr[1] "Било је %d неуспела покушаја пријаве од последње успешне пријаве."
+msgstr[2] "Било је %d неуспелих покушаја пријаве од последње успешне пријаве."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Било је %d неуспелих покушаја пријаве од последње успешне пријаве."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Превише пријава за „%s“."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Имате нову пошту."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Имате нову пошту."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Имате стару пошту."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Имате пошту."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Немате пошту у фасцикли %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Имате нову пошту у фасцикли %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Имате стару пошту у фасцикли %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Имате пошту у фасцикли %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Правим директоријум „%s“."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Не могу да направим директоријум „%s“."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Лозинка је већ у употреби. Изаберите другу."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Шифра је већ била у употреби."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Подразумевани безбедносни контекст %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Да ли желите да унесете другу улогу или ниво?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "улога:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Нема подразумеване врсте за улогу %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "ниво:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Неисправан безбедносни контекст"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Безбедносни контекст %s је додељен"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Контекст прављења кључа %s је додељен"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "неуспешна иницијализација PAM-а\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "неуспешно извршавање функције pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "пријава: грешка при гранању: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Приступ је одобрен (последњи приступ је био пре %ld секунди)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Ваш налог је истекао; обратите се администратору система"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Морате одмах да промените вашу лозинку (наметнуо root)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Морате одмах да промените вашу лозинку (застарела је)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Упозорење: ваша лозинка ће истећи кроз %d дан"
+msgstr[1] "Упозорење: ваша лозинка ће истећи кроз %d дана"
+msgstr[2] "Упозорење: ваша лозинка ће истећи кроз %d дана"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Упозорење: ваша лозинка ће истећи кроз %d дана"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS лозинка не може бити промењена."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Није понуђена лозинка"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS лозинка не може бити промењена."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Морате одабрати краћу лозинку."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Морате изабрати дужу лозинку"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Мењам лозинку за %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Морате дуже сачекати на промену лозинке"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "иста је као и стара"
+
+#~ msgid "memory allocation error"
+#~ msgstr "грешка у резервисању меморије"
+
+#~ msgid "is a palindrome"
+#~ msgstr "палиндром је"
+
+#~ msgid "case changes only"
+#~ msgstr "само промене величине слова"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "сувише је слична претходној"
+
+#~ msgid "is too simple"
+#~ msgstr "сувише је једноставна"
+
+#~ msgid "is rotated"
+#~ msgstr "изокренута је"
+
+#~ msgid "not enough character classes"
+#~ msgstr "нема довољно класа знакова"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "садржи превише истих знакова узастопно"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "садржи предугачак низ монотоних карактера"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "садржи корисничко име у неком облику"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ЛОША ЛОЗИНКА: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Налог је привремено закључан (остало је %ld секунди)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Грешка при аутентификацији"
+
+#~ msgid "Service error"
+#~ msgstr "Грешка услуге"
+
+#~ msgid "Unknown user"
+#~ msgstr "Непознат корисник"
+
+#~ msgid "Unknown error"
+#~ msgstr "Непозната грешка"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: задат је лош број за --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: није препозната опција %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file коренски-називдатотеке] [--user корисничкоиме] [--reset[=n]] "
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: не могу да повратим све кориснике на број различит од нуле\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Пријава Неуспеси Последњи неуспех Са\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [- коренски-називдатотеке] [--file коренски-називдатотеке]\n"
+#~ " [-u корисничкоиме] [--user корисничкоиме]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/sr@latin.gmo b/po/sr@latin.gmo
new file mode 100644
index 0000000..1a05b4d
--- /dev/null
+++ b/po/sr@latin.gmo
Binary files differ
diff --git a/po/sr@latin.po b/po/sr@latin.po
new file mode 100644
index 0000000..e68f426
--- /dev/null
+++ b/po/sr@latin.po
@@ -0,0 +1,579 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Marko Uskokovic <uskokovic@etf.bg.ac.yu>, 2007, 2008.
+# Miloš Komarčević <kmilos@gmail.com>, 2008.
+# Nikola Pajtić <salgeras@gmail.com>, 2008.
+# Sandra Gucul-Milojevic <undra01@gmail.com>, 2008.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:59-0500\n"
+"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Lozinka: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Nova %s lozinka: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Nova lozinka: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nova %s lozinka: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nova lozinka: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Ponovo unesite novu %s lozinku: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Ponovo unesite novu lozinku: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Izvinite, lozinke se ne podudaraju."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Ponovo unesite %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Promena lozinke je prekinuta."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "prijava:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Uspešno"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritična greška - prekidam odmah"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Neuspešno učitavanje modula"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Simbol nije pronađen"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Greška u uslužnom modulu"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Sistemska greška"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Greška memorijskog bafera"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Dozvola je odbijena"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Neuspešna autentifikacija"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Nedovoljno uverenja za pristup podacima autentifikacije"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Usluga autentifikacije ne može da dobavi informacije autentifikacije"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Korisnik nije poznat osnovnom modulu autentifikacije"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Iskorišćen je maksimalni broj pokušaja usluge"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Žeton autentifikacije više nije ispravan; neophodan je novi"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Korisnički nalog je istekao"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Ne mogu da napravim/uklonim stavku navedene sesije"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Usluga autentifikacije ne može da dobavi korisnička uverenja"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Korisnička uverenja su istekla"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Neuspešno postavljanje korisničkih uverenja"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Nisu prisutni specifični podaci modula"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Loš objekat je prosleđen pam_*_item() funkciji"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Greška u razgovoru"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Greška pri manipulaciji žetonom autentifikacije"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Informacije o autentifikaciji ne mogu biti povraćene"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Zaključavanje žetona autentifikacije je zauzeto"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Zastarevanje žetona autentifikacije je isključeno"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Neuspešna preliminarna provera uslugom lozinke"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM dispečer treba da ignoriše povratnu vrednost"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modul je nepoznat"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Istekao je žeton autentifikacije"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Razgovor očekuje događaj"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Program mora ponovo da pozove libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Nepoznata PAM greška"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Ističe vreme...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Izvinite, vreme vam je isteklo!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "razgovor pun grešaka (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s neuspeh: izlazni kod %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s neuspeh: uhvaćen signal %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s neuspeh: nepoznat status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file korenski-nazivdatoteke] [--user korisničkoime] [--reset[=n]] [--"
+"quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Nalog je zaključan zbog %u neuspelih prijava"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e. %b %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " sa %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " na %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Poslednja prijava:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Dobro došli na vaš novi nalog!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Poslednja neuspešna prijava:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Bio je %d neuspeo pokušaj prijave od poslednje uspešne prijave."
+msgstr[1] "Bilo je %d neuspela pokušaja prijave od poslednje uspešne prijave."
+msgstr[2] "Bilo je %d neuspelih pokušaja prijave od poslednje uspešne prijave."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "Bilo je %d neuspelih pokušaja prijave od poslednje uspešne prijave."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Previše prijava za „%s“."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Imate novu poštu."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Imate novu poštu."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Imate staru poštu."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Imate poštu."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Nemate poštu u fascikli %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Imate novu poštu u fascikli %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Imate staru poštu u fascikli %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Imate poštu u fascikli %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Pravim direktorijum „%s“."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Ne mogu da napravim direktorijum „%s“."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Lozinka je već u upotrebi. Izaberite drugu."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "Lozinka je već u upotrebi. Izaberite drugu."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Podrazumevani bezbednosni kontekst %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Da li želite da unesete drugu ulogu ili nivo?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "uloga:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Nema podrazumevane vrste za ulogu %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivo:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Neispravan bezbednosni kontekst"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Bezbednosni kontekst %s je dodeljen"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Kontekst pravljenja ključa %s je dodeljen"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "neuspešna inicijalizacija PAM-a\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "neuspešno izvršavanje funkcije pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "prijava: greška pri grananju: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Pristup je odobren (poslednji pristup je bio pre %ld sekundi)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Vaš nalog je istekao; obratite se administratoru sistema"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Morate odmah da promenite vašu lozinku (nametnuo root)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Morate odmah da promenite vašu lozinku (zastarela je)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Upozorenje: vaša lozinka će isteći kroz %d dan"
+msgstr[1] "Upozorenje: vaša lozinka će isteći kroz %d dana"
+msgstr[2] "Upozorenje: vaša lozinka će isteći kroz %d dana"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Upozorenje: vaša lozinka će isteći kroz %d dana"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS lozinka ne može biti promenjena."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Nije ponuđena lozinka"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS lozinka ne može biti promenjena."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Morate izabrati dužu lozinku"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Morate izabrati dužu lozinku"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Menjam lozinku za %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Morate duže sačekati na promenu lozinke"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ista je kao i stara"
+
+#~ msgid "is a palindrome"
+#~ msgstr "palindrom je"
+
+#~ msgid "case changes only"
+#~ msgstr "samo promene veličine slova"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "suviše je slična prethodnoj"
+
+#~ msgid "is too simple"
+#~ msgstr "suviše je jednostavna"
+
+#~ msgid "is rotated"
+#~ msgstr "izokrenuta je"
+
+#~ msgid "not enough character classes"
+#~ msgstr "nema dovoljno klasa znakova"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "sadrži previše istih znakova uzastopno"
+
+#, fuzzy
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "sadrži previše istih znakova uzastopno"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "sadrži korisničko ime u nekom obliku"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "LOŠA LOZINKA: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Nalog je privremeno zaključan (ostalo je %ld sekundi)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Greška pri autentifikaciji"
+
+#~ msgid "Service error"
+#~ msgstr "Greška usluge"
+
+#~ msgid "Unknown user"
+#~ msgstr "Nepoznat korisnik"
+
+#~ msgid "Unknown error"
+#~ msgstr "Nepoznata greška"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: zadat je loš broj za --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: nije prepoznata opcija %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file korenski-nazivdatoteke] [--user korisničkoime] [--reset[=n]] "
+#~ "[--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: ne mogu da povratim sve korisnike na broj različit od nule\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Prijava Neuspesi Poslednji neuspeh Sa\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [- korenski-nazivdatoteke] [--file korenski-nazivdatoteke]\n"
+#~ " [-u korisničkoime] [--user korisničkoime]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/po/stamp-po
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 0000000..a113ec7
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..35a52ce
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,571 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Christer Andersson <klamm@comhem.se>, 2007
+# Daniel Nylander <po@danielnylander.se>, 2009-2010
+# Göran Uddeborg <goeran@uddeborg.se>, 2012-2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Andreas Henriksson <andreas+fedora@fatal.se>, 2020.
+# Dmitry V. Levin <ldv@altlinux.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:54+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Swedish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/sv/>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Lösenord: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Nuvarande %s lösenord: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Nuvarande lösenord: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Nytt %s lösenord: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Nytt lösenord: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Ange nytt %s lösenord igen: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Ange nytt lösenord igen: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Tyvärr, lösenorden stämmer inte överens."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Ange %s igen"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Ändring av lösenordet avbröts."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "inloggning:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Lyckades"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritiskt fel - avbryter omedelbart"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Misslyckades med att läsa in modulen"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Symbolen hittades inte"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Fel i tjänstemodul"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Systemfel"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Minnesbuffertfel"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Åtkomst nekad"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Autentiseringsfel"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Otillräckliga inloggingsuppgifter för åtkomst av autentiseringsdata"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Autentiseringstjänsten kan inte hämta autentiseringsinformation"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Användaren är inte känd för underliggande autentiseringsmodul"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Maximalt antal försök har gjorts för denna tjänst"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Autentiseringselement är inte längre giltigt. Ett nytt behövs"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Användarkontot har förfallit"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Kan inte skapa/ta bort en post för angiven session"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Autentiseringstjänst kan inte hämta användarreferenser"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Användarreferenser har förfallit"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Misslyckades med att ange användarreferenser"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Ingen modulspecifik data finns"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Ogiltigt objekt skickat till pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Konversationsfel"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Manipuleringsfel för autentiseringselement"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Autentiseringsinformation kan inte återställas"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Autentiseringselementlås upptaget"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Åldrande av autentiseringselement inaktiverat"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Lösenordstjänstens preliminära kontroll misslyckades"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Returvärdet borde ignoreras vid PAM-avsändande"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modulen är okänd"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Autentiseringselement har förfallit"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Konversation väntar på händelse"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Programmet behöver anropa libpam igen"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Okänt PAM-fel"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Tiden håller på att ta slut...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Tyvärr, din tid är ute!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "felaktig konversation (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s misslyckades: slutstatus %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s misslyckades: fångade signalen %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s misslyckades: okänd status 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Användning: %s [--dir /sökväg/till/tally-katalog] [--user användarnamn] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Kontot är låst på grund av %u misslyckade inloggningar."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d minut kvar till upplåsning)"
+msgstr[1] "(%d minuter kvar till upplåsning)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d minuter kvar till upplåsning)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e %b %Y %H.%M.%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " från %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " på %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Senaste inloggning:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Välkommen till ditt nya konto!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Senaste misslyckade inloggning:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Det har skett %d misslyckat inloggningsförsök sedan senaste korrekta "
+"inloggning."
+msgstr[1] ""
+"Det har skett %d misslyckade inloggningsförsök sedan senaste korrekta "
+"inloggning."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Det har skett %d misslyckade inloggningsförsök sedan senaste korrekta "
+"inloggning."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "För många inloggningar för '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Du har inga brev."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Du har nya brev."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Du har gamla brev."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Du har brev."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Du har inga brev i katalogen %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Du har nya brev i katalogen %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Du har gamla brev i katalogen %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Du har brev i katalogen %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Skapar katalogen '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Kunde inte skapa och initiera katalogen '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Lösenordet har redan används. Välj ett annat."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Lösenordet har redan använts."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Standardsäkerhetskontexten är %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Vill du ange en annan roll eller nivå?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "roll:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Ingen standardttyp för %s-roll."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "nivå:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Inte en giltig säkerhetskontext."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "En giltig kontext för %s kunde inte erhållas."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Säkerhetskontext %s tilldelad."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Nyckelskapandekontext %s tilldelad."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "misslyckades med att initiera PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() misslyckades\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "inloggning: fel vid grening: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Åtkomst godkänd (senaste åtkomst var %ld sekunder sedan)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Ditt konto har förfallit. Vänligen kontakta din systemadministratör."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Du måste ändra ditt lösenord omedelbart (påtvingat av administratör)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Du måste ändra ditt lösenord omedelbart (lösenord för gammalt)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Varning: ditt lösenord går ut om %d dag."
+msgstr[1] "Varning: ditt lösenord går ut om %d dagar."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Varning: ditt lösenord går ut om %d dagar."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS-lösenord kunde inte ändras."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Inget lösenord angavs."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Lösenordet har inte ändrats."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Du måste välja ett kortare lösenord."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Du måste välja ett längre lösenord."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Ändrar lösenord för %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Du måste vänta längre innan du kan ändra lösenord."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "är samma som det gamla"
+
+#~ msgid "memory allocation error"
+#~ msgstr "minnesallokeringsfel"
+
+#~ msgid "is a palindrome"
+#~ msgstr "är ett palindrom"
+
+#~ msgid "case changes only"
+#~ msgstr "endast ändringar i gemener och versaler"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "är för likt det gamla"
+
+#~ msgid "is too simple"
+#~ msgstr "är för enkelt"
+
+#~ msgid "is rotated"
+#~ msgstr "är roterat"
+
+#~ msgid "not enough character classes"
+#~ msgstr "för få teckenklasser"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "innehåller för många tecken av samma sort i följd"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "innehåller en för lång monoton teckensekvens"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "innehåller användarnamnet i någon form"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "DÅLIGT LÖSENORD: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Kontot är temporärt låst (%ld sekunder kvar)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Autentiseringsfel"
+
+#~ msgid "Service error"
+#~ msgstr "Tjänstefel"
+
+#~ msgid "Unknown user"
+#~ msgstr "Okänd användare"
+
+#~ msgid "Unknown error"
+#~ msgstr "Okänt fel"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Felaktigt nummer till --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Okänd flagga %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file absolut-filnamn] [--user användarnamn] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Kan inte ställa om alla användare till nollskilt värde\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Inloggning Misslyck Senaste fel Från\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f absolut-filnamn] [--file absolut-filnamn]\n"
+#~ " [-u användarnamn] [--user användarnamn]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ta.gmo b/po/ta.gmo
new file mode 100644
index 0000000..163bd99
--- /dev/null
+++ b/po/ta.gmo
Binary files differ
diff --git a/po/ta.po b/po/ta.po
new file mode 100644
index 0000000..04ae62e
--- /dev/null
+++ b/po/ta.po
@@ -0,0 +1,575 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Arun Prakash <arunprakash.pts@gmail.com>, 2012
+# I felix <ifelix@redhat.com>, 2007
+# I. Felix <ifelix@redhat.com>, 2009
+# shkumar <shkumar@redhat.com>, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-06 23:59+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Tamil <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/ta/>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.11.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "கடவுச்சொல்:"
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "புதிய %s password: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "புதிய password: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "புதிய %s password: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "புதிய password: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "புதிய %s password மீண்டும் உள்ளிடவும்: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "புதிய password மீண்டும் உள்ளிடவும்: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "கடவுச்சொல் பொருந்தவில்லை."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%sஐ மறு தட்டச்சு செய்"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "கடவுச்சொல் மாற்றம் கைவிடப்பட்டது."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "புகுபதிவு:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "வெற்றி"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "சிக்கலான பிழை - உடனடியாக நிறுத்தப்பட்டது"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "தொகுதியை ஏற்ற முடியவில்லை"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "சிக்னல் கிடைக்கவில்லை"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "சேவை தொகுதியில் பிழை"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "கணினி பிழை"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "நினைவக இடையக பிழை"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "அனுமதி இல்லை"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "உரிமம் செயலிழக்கப்பட்டது"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "உரிம தரவினை அணுக போதிய உரிமங்கள் இல்லை"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "உரிம சேவை உரிம தகவலை எடுக்க முடியவில்லை"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "உரிம தொகுதியை எடுக்க பயனருக்கு தெரியவில்லை"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "சேவைக்கு அதிகபட்ச எண்ணிக்கையான முயற்சி கொண்டது"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "உரிம டோக்கன் தவறானது; புதிய ஒன்று தேவைப்படுகிறது"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "பயனர் கணக்கு முடிவுற்றது"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "குறிப்பிட்ட அமர்வுக்கு உள்ளீட்டை உருவாக்க/நீக்க முடியவில்லை"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "உரிம சேவை பயனர் சன்மானத்தை எடுக்க முடியவில்லை"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "பயனர் சன்மானம் முடிவுற்றது"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "செயலிழக்கப்பட்ட அமைவு பயனர் சன்மானங்கள்"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "தொகுதி குறிப்பிட்ட தகவல் இல்லை"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() க்கு தவறான உருப்படி அனுப்பப்பட்டது"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "உரையாடல் பிழை"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "உரிம டோக்கன் கணக்கீடு பிழை"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "உரிம தகவலை எடுக்க முடியவில்லை"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "உரிம டோக்கன் பூட்டு செயலில் உள்ளது"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "உரிம டோக்கன் செயலிழக்கப்பட்டது"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "கடவுச்சொல் சேவையால் முதல் சோதனை செய்ய முடியவில்லை"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "கொடுக்கப்பட்ட மதிப்பு PAM dispatch ஆல் தவிர்க்கப்பட்ட வேண்டும்"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "தொகுதியை தெரியவில்லை"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "உரிம டோக்கற் முடிவுற்றது"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "உரையாடல் நிகழ்வுக்காக காத்திருக்கிறது"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "பயன்பாடு libpam ஐ மீண்டும் அழைக்க வேண்டும்"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "தெரியாத PAM பிழை"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "... நேரம் போய் கொண்டிருக்கிறது...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "... உங்கள் நேரம் முடிந்தது!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "பிழையான உரையாடல் (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s செயலிழக்கப்பட்டது: வெளியேறும் குறியீடு %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s செயலிழக்கப்பட்டது: சிக்னல் %d%s பிடிக்கப்பட்டது"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s செயலிழக்கப்பட்டது: தெரியாத நிலை 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u தோல்வி புகுபதிவுகளால் கணக்கு பூட்டப்பட்டுள்ளது"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s இலிருந்து"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s இல்"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "கடைசி புகுபதிவு:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "உங்கள் புதிய கணக்கு வரவேற்கப்படுகிறீர்கள்!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "கடைசி தோல்வியடைந்த புகுபதிவு:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "கடைசி புகுபதிவிலிருந்து %d புகுபதிவு முயற்சி தோல்வியடைந்தது."
+msgstr[1] "கடைசி புகுபதிவிலிருந்து %d புகுபதிவு முயற்சிகள் தோல்வியடைந்தன."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "கடைசி புகுபதிவிலிருந்து %d புகுபதிவு முயற்சி தோல்வியடைந்தன."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s'க்கு பல புகுபதிவுகள் உள்ளன."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "உங்களுக்கு புதிய அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "உங்களுக்கு புதிய அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "உங்களுக்கு பழைய அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "உங்களுக்கு அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "உங்களுக்கு %s அடைவில் அஞ்சல் இல்லை."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "உங்களுக்கு %s அடைவில் புதிய அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "உங்களுக்கு %s அடைவில் பழைய அஞ்சல் உள்ளது."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "உங்களுக்கு %s அடைவில் அஞ்சல் உள்ளது."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "அடைவு '%s'ஐ உருவாக்குகிறது."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "அடைவு '%s'ஐ உருவாக்க மற்றும் துவக்க முடியவில்லை."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "கடவுச்சொல் ஏற்கனவே பயன்படுத்தப்பட்டது. வேறொன்றை பயன்படுத்தவும்."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "கடவுச்சொல் ஏற்கனவே பயன்படுத்தப்பட்டுள்ளது."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "முன்னிருப்பு பாதுகாப்பு சூழல் %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "நீங்கள் வேறு பங்கு அல்லது நிலையை உள்ளிட வேண்டுமா?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "பங்கு:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "பங்கு %sக்கு முன்னிருப்பு வகை இல்லை\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "நிலை:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "இது சரியான பாதுகாப்பு சூழல் இல்லை"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "பாதுகாப்பு சூழல் %s ஒதுக்கப்பட்டது"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "விசை உருவாக்க சூழல் %s ஒதுக்கப்பட்டுள்ளது"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAMஐ ஆரம்பிக்க முடியவில்லை\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() செயலிழக்கப்பட்டது\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: failure forking: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "அணுகல் வழங்கப்பட்டது (கடைசி அணுகல் %ld விநாடிகளுக்கு முன்)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "உங்கள் கணக்கு முடிவுற்றது, உங்கள் கணினி நிர்வாகியை அணுகவும்"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "நீங்கள் உங்கள் கடவுச்சொல்லை உடனடியாக மாற்ற வேண்டும் (ரூட் வலியுறுத்துகிறது)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "நீங்கள் உங்கள் கடவுச்சொல்லை உடனடியாக மாற்ற வேண்டும் (கடவுச்சொல் மூப்பாகிவிட்டது)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "எச்சரிக்கை: கடவுச்சொல் %d நாட்களில் முடிவுறும்"
+msgstr[1] "எச்சரிக்கை: கடவுச்சொல் %d நாட்களில் முடிவுறும்"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "எச்சரிக்கை: கடவுச்சொல் %d நாட்களில் முடிவுறும்"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS கடவுச்சொல்லை மாற்ற முடியாது."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "கடவுச்சொல் கொடுக்கப்படவில்லை"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS கடவுச்சொல்லை மாற்ற முடியாது."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "குறுகிய கடவுச்சொல்லை நீங்கள் தேர்வு செய்ய வேண்டும்."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "நீங்கள் நீண்ட கடவுச்சொல்லை தேர்ந்தெடுக்க வேண்டும்"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%sக்கு கடவுச்சொல்லை மாற்றுகிறது."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "உங்கள் கடவுச்சொல்லை மாற்ற சிறிது காத்திருக்க வேண்டும்"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "இது பழையதைப் போல உள்ளது"
+
+#~ msgid "memory allocation error"
+#~ msgstr "நினைவக ஒதுக்கீட்டில் பிழை"
+
+#~ msgid "is a palindrome"
+#~ msgstr "இது ஒரு palindrome"
+
+#~ msgid "case changes only"
+#~ msgstr "எழுத்து வகை மாற்றங்கள் மட்டும்"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "இது பழையதை ஒத்தே உள்ளது"
+
+#~ msgid "is too simple"
+#~ msgstr "இது மிகவும் எளிதாக உள்ளது"
+
+#~ msgid "is rotated"
+#~ msgstr "இது சுழலக்கூடியது"
+
+#~ msgid "not enough character classes"
+#~ msgstr "போதிய எழுத்து வகுப்புகள் இல்லை"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "நிறைய அதே எழுத்துக்கள் தொடர்ந்து கொண்டுள்ளது"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "நீளமான ஒரு மோனோடோனிக் எழுத்துத் தொடரைக் கொண்டுள்ளது"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "சில வடிவல் பயனர் பெயரை கொண்டுள்ளது"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "தவறான கடவுச்சொல்: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "கணக்கு தற்காலிகமாக பூட்டப்பட்டுள்ளது (%ld விநாடிகள் உள்ளன)"
+
+#~ msgid "Authentication error"
+#~ msgstr "உரிம பிழை"
+
+#~ msgid "Service error"
+#~ msgstr "சேவை பிழை"
+
+#~ msgid "Unknown user"
+#~ msgstr "தெரியாத பயனர்"
+
+#~ msgid "Unknown error"
+#~ msgstr "தெரியாத பிழை"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: தவறான எண் --reset= க்கு கொடுக்கப்பட்டுள்ளது\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: அங்கீகரிக்கப்படாத விருப்பம் %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: பூஜ்ஜியமில்லாததற்கு அனைத்து பயனர்களையும் மறு அமைக்க முடியவில்லை\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "புகுபதிவு கடைசி தோல்வி தோல்வியடைந்தது இங்கிருந்து\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/te.gmo b/po/te.gmo
new file mode 100644
index 0000000..23bb6a1
--- /dev/null
+++ b/po/te.gmo
Binary files differ
diff --git a/po/te.po b/po/te.po
new file mode 100644
index 0000000..34c0996
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,572 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Krishnababu Krothapalli <kkrothap@redhat.com>, 2008-2009
+# sudheesh001 <sudheesh1995@outlook.com>, 2013
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2013-04-30 07:58-0400\n"
+"Last-Translator: sudheesh001 <sudheesh1995@outlook.com>\n"
+"Language-Team: Telugu (http://www.transifex.com/projects/p/fedora/language/"
+"te/)\n"
+"Language: te\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "సంకేతపదము: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "కొత్త %s సంకేతపదము: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "కొత్త సంకేతపదము: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "కొత్త %s సంకేతపదము: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "కొత్త సంకేతపదము: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "కొత్త %s సంకేతపదమును మరలాటైపుచేయుము: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "కొత్త సంకేతపదమును మరలాటైపుచేయుము: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "క్షమించాలి, సంకేతపదము సరిపోలలేదు."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "తిరిగిటైపుచేయి %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "సంకేతపదము మార్పు తప్పించబడింది"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "లాగిన్:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "సఫలం"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "సంక్లిష్ట దోషము - తక్షణ యెబార్టు"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "మాడ్యూల్ లోడుచేయుటకు విఫలమైంది"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "చిహ్నము కనబడలేదు"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "సేవా మాడ్యూల్‌నందు దోషము"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "సిస్టమ్ దోషము"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "మెమొరీ బఫర్ దోషము"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "అనుమతి నిరాకరించబడింది"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "దృవీకరణ వైఫల్యము"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "దృవీకరణ డాటాను యాక్సిస్ చేయుటకు సరిపోని ఆనవాళ్ళు"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "దృవీకరణ సేవ దృవీకరణ సమాచారమును వెలికితీయలేక పోయింది"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "క్రిందనవున్న దృవీకరణ మాడ్యూల్‌కు వినియోగదారి తెలియదు"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "సేవకొరకు గరిష్ట సంఖ్యలో పునఃప్రయత్నాలను కలిగివుంది"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "దృవీకరణ టోకెన్ అవసరములేదు, కొత్తది అవసరము"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "వినియోగదారి ఖాతా కాలముతీరినది"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "తెలుపబడి సెషన్‌కు యెటువంటి ప్రవేశమును చెయలేవు/తొలగించలేవు"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "దృవీకరణ సేవ వినియోగదారి ఆనవాళ్ళను వెలికితీయలేదు"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "వినియోగదారి ఆనవాళ్ళు కాలముతీరినవి"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "వినియోగదారి ఆనవాళ్ళను అమర్చుటలో విఫలము"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "మాడ్యూల్ ప్రత్యేకమైన డాటాలేదు"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() ద్వారా చెడ్డఅంశము వెళ్ళింది"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "సంభాషణా దోషము"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "దృవీకరణ టోకెన్ మానిప్యులేషన్ దోషము"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "దృవీకరణ సమాచారము తిరిగిపొందబడదు"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "దృవీకరణ టోకెన్ లాక్ బ్యుజీగావుంది"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "దృవీకరణ టోకెన్ యేజింగ్ అచేతనమైంది"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "సంకేతపదము సేవద్వారా ప్రాధమిక పరిశీలన విఫలమైంది"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "తిరిగియిచ్చు విలువ PAM పంపిణీచేత వదిలివేయబడాలి"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "మాడ్యూల్ తెలియనిది"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "దృవీకరణ టోకెన్ కాలముతీరినది"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "సంభాషణ ఘటనకొరకు వేచివుంది"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "libpamను అనువర్తనము మరలా కాల్‌చేయవలసివుంది"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "తెలియని PAM దోషము"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...సమయం అయిపోతోంది...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...క్షమించాలి, మీ సమయం అయిపోయింది!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "తప్పుడు సంభాషణలు (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s విఫలమైంది: బహిష్కరణ కోడ్ %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s విఫలమైంది: సంకేతము %d%s పొదింది"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s విఫలమైంది: తెలియని స్థితి 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u లాగిన్‌ల వైఫల్యం కారణంగా ఖాతా లాక్అయింది"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s నుండి"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s పైన"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "చివరి లాగిన్:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "మీ కొత్త ఖాతాకు స్వాగతము!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "చివరిగా విఫలమైన లాగిన్:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "చివరి సమర్ధవంతపు లాగిన్‌నుండి ఆక్కడ %d విఫల లాగిన్ ప్రయత్నం వుంది."
+msgstr[1] "చివరి సమర్ధవంతపు లాగిన్‌నుండి ఆక్కడ %d విఫల లాగిన్ ప్రయత్నాలు వున్నాయి."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "చివరి సమర్ధవంతపు లాగిన్‌నుండి ఆక్కడ %d విఫల లాగిన్ ప్రయత్నాలు వున్నాయి."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' కొరకు మరీయెక్కువ లాగిన్‌లు"
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "మీరు కొత్త మెయిల్ కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "మీరు కొత్త మెయిల్ కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "మీరు పాత మెయిల్ కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "మీరు మెయిల్ కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "మీరు ఫోల్డరు %sనందు యెటువంటి మెయిల్ కలిగిలేరు."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "మీరు ఫోల్డరు %sనందు కొత్త మెయిల్‌ను కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "మీరు ఫోల్డరు %sనందు పాతమెయిల్‌ను కలిగివున్నారు."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "మీరు ఫోల్డరు %sనందు మెయిల్‌ను కలిగివున్నారు."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "డెరెక్టరీ '%s' సృష్టించుట."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "డైరెక్టరీ %sను సృష్టించలేక పోయింది మరియు సిద్దీకరించలేక పోయింది."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "సంకేతపదము యిప్పటికే వుపయోగించబడింది. మరియొకదానిని యెంచుకొనుము."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "సంకేతపదము యిప్పటికే వుపయోగించబడింది."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "అప్రమేయ రక్షణ సందర్భము %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "మీరు విభిన్న పాత్రను లేదా స్థాయిని ప్రవేశపెడదామని అనుకుంటున్నారా?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "పాత్ర:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "పాత్ర %sకొరకు యెటువంటి అప్రమేయ రకములేదు\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "స్థాయి:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "విలువైన రక్షణ సందర్భముకాదు"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "రక్షణ సందర్భము %s అప్పగించబడింది"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "కీ సృష్టీకరణ సందర్భము %s అప్పగించబడింది"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM సిద్దముచేయుటలో విఫలమైంది\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() విఫలమైంది\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "login: failure forking: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "యాక్సిస్ యివ్వబడింది (చివరిగా యాక్సిస్ చేసినది %ld సెకనుల క్రితం)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr "మీ ఖాతా కాలముతీరినది; దయచేసి మీ సిస్టమ్ నిర్వాహకుడిని సంప్రదించండి"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "మీరు మీ సంకేతపదమును తక్షణమే మార్చవలసివుంది (root enforced)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "మీరు మీ సంకేతపదమును తక్షణమే మార్చవలసివుంది (password aged)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "హెచ్చరిక: మీ సంకేతపదము %d రోజులో కాలముతీరుతుంది"
+msgstr[1] "హెచ్చరిక: మీ సంకేతపదము %d రోజులలో కాలముతీరుతుంది"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "హెచ్చరిక: మీ సంకేతపదము %d రోజులలో కాలముతీరుతుంది"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS సంకేతపదము మార్చబడ లేకపోయింది."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "ఎటువంటి సంకేతపదము యివ్వలేదు"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS సంకేతపదము మార్చబడ లేకపోయింది."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "మీరు తప్పనిసరిగా తక్కువ పాస్‌వర్డ్‌ను ఎంచుకోవాలి."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "మీరు తప్పక పొడవాటి సంకేతపదమును యెంచుకొనవలెను."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s కొరకు సంకేతపదమును మార్చుతోంది"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "మీ సంకేతపదమును మార్చుటకు మీరు ఎక్కువసేపు వేచివుండాలి"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "ఇది పాతదేనా"
+
+#~ msgid "memory allocation error"
+#~ msgstr "సంభాషణా దోషము"
+
+#~ msgid "is a palindrome"
+#~ msgstr "పాలిండ్రోమా"
+
+#~ msgid "case changes only"
+#~ msgstr "కేస్ మార్పులు మాత్రమే"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "పాతదానికి మరీ దగ్గరపోలికగావుంది"
+
+#~ msgid "is too simple"
+#~ msgstr "మరీ సరళంగావుంది"
+
+#~ msgid "is rotated"
+#~ msgstr "ఇది పర్యాయంగానా"
+
+#~ msgid "not enough character classes"
+#~ msgstr "సరిపోవునంత కారెక్టర్ క్లాసెస్ లేవు"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "ఒకదానితర్వాత వొకటి అదే అక్షరాలు చాలావున్నాయి"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "ఒకదానితర్వాత వొకటి అదే అక్షరాలు చాలావున్నాయి"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "ఒకరకంగా వినియోగదారి నామమును కలిగివుంది"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "చెడ్డ సంకేతపదము: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "ఖాతా తాత్కాలికంగా లాక్‌చేయబడింది (%ld సెకనులు మిగిలినవి)"
+
+#~ msgid "Authentication error"
+#~ msgstr "దృవీకరణం దోషము"
+
+#~ msgid "Service error"
+#~ msgstr "సేవ దోషము"
+
+#~ msgid "Unknown user"
+#~ msgstr "తెలియని వినియోగదారి"
+
+#~ msgid "Unknown error"
+#~ msgstr "తెలియని దోషము"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s:చెడ్డ సంఖ్య యివ్వబడింది --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: గుర్తించని ఐచ్చికము %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: వినియోగదారులనందరిని సున్నా-కానిదానికి తిరిగివుంచలేము\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "లాగిన్ విఫలమైంది సరికొత్త వైఫల్యం దీనినుండి\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/tg.gmo b/po/tg.gmo
new file mode 100644
index 0000000..f3001fd
--- /dev/null
+++ b/po/tg.gmo
Binary files differ
diff --git a/po/tg.po b/po/tg.po
new file mode 100644
index 0000000..7107cfc
--- /dev/null
+++ b/po/tg.po
@@ -0,0 +1,483 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Tajik (http://www.transifex.com/projects/p/fedora/language/"
+"tg/)\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "Шумо бояд гузарвожаи кӯтоҳтарро интихоб кунед."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Шумо бояд гузарвожаи кӯтоҳтарро интихоб кунед."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Шумо бояд гузарвожаи кӯтоҳтарро интихоб кунед."
diff --git a/po/th.gmo b/po/th.gmo
new file mode 100644
index 0000000..274e7f3
--- /dev/null
+++ b/po/th.gmo
Binary files differ
diff --git a/po/th.po b/po/th.po
new file mode 100644
index 0000000..80cd6b0
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Thai (http://www.transifex.com/projects/p/fedora/language/"
+"th/)\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "คุณต้องเลือกรหัสผ่านที่สั้นกว่า"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "คุณต้องเลือกรหัสผ่านที่สั้นกว่า"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "คุณต้องเลือกรหัสผ่านที่สั้นกว่า"
diff --git a/po/tr.gmo b/po/tr.gmo
new file mode 100644
index 0000000..fbe099c
--- /dev/null
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..45d154b
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,569 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Bahadır Kandemir <bahadir@pardus.org.tr>, 2010
+# ismail yenigül <ismail.yenigul@surgate.com>, 2013
+# Koray Löker <loker@pardus.org.tr>, 2006
+# Onuralp SEZER <thunderbirdtr@gmail.com>, 2012
+# Selim Şumlu <selim@sum.lu>, 2012
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Oğuz Ersen <oguzersen@protonmail.com>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:28+0000\n"
+"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
+"Language-Team: Turkish <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/tr/>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n>1);\n"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Parola: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Mevcut %s parolası: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Mevcut parola: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Yeni %s parolası: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Yeni parola: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Yeni %s parolasını tekrar girin: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Yeni parolayı tekrar girin: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Üzgünüm, parolalar birbirine uymuyor."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "%s'i tekrar girin"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Parola değişikliği iptal edildi."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "giriş:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Başarılı"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Kritik hata - şimdi çıkılıyor"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Modül yüklenemedi"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Sembol bulunamadı"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Hizmet modülünde hata"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Sistem hatası"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Tampon bellek hatası"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "İzin verilmedi"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Yetkilendirme hatası"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Kimlik bilgisine ulaşmak için yetersiz yetki"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Yetkilendirme hizmeti, yetkilendirme bilgisini alamıyor"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Kullanıcı, yetkilendirme modülü altyapısında tanımlı değil"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Hizmet için azami deneme sayısı tükendi"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Yetkilendirme anahtarı artık geçerli değil; yenisi gerekiyor"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Kullanıcı hesabının süresi doldu"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Belirtilen oturum için girdi yapılamıyor/silinemiyor"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Yetkilendirme hizmeti kullanıcı kimliğini getiremiyor"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Kullanıcı kimliğinin süresi doldu"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Kullanıcı kimlik bilgileri ayarlanamadı"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Modüle özgü veri yok"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "pam_*_item() fonksiyonuna yanlış öğe geçildi"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Etkileşim hatası"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Yetkilendirme anahtarı manipülasyon hatası"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Yetkilendirme bilgisi kurtarılamadı"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Yetkilendirme anahtarının kilidi meşgul"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Yetkilendirme anahtarı vadesi pasifleştirildi"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Parola hizmeti ön denetimi başarısız oldu"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Dönüş değeri PAM dispatch tarafından gözardı edilmeli"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Modül bilinmiyor"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Yetkilendirme anahtarının süresi doldu"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Etkileşim için olay bekleniyor"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Uygulamanın libpam kütüphanesini yeniden çağırması gerekiyor"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Bilinmeyen PAM hatası"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Zaman geçiyor...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Üzgünüm, süreniz doldu!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "hatalı etkileşim (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s başarısız: çıkış kodu %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s başarısız: %d%s sinyali yakalandı"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s başarısız: bilinmeyen durum 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Kullanım: %s [--dir KayıtlarınTutulduğuDizininYolu] [--user KullanıcıAdı] [--"
+"reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "%u başarısız oturum açma nedeniyle hesap kilitlendi."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(kilidi açmak için %d dakika kaldı)"
+msgstr[1] "(kilidi açmak için %d dakika kaldı)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(kilidi açmak için %d dakika kaldı)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %e %b %Y %H:%M:%S %Z"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " %.*s makinesinden"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s üzerinde"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Son giriş:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Yeni hesabınıza hoş geldiniz!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Son başarısız giriş:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "Son başarılı girişten bu yana %d başarısız giriş denemesi yapıldı."
+msgstr[1] "Son başarılı girişten bu yana %d başarısız giriş denemesi yapıldı."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "%s için çok fazla giriş var."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "E-postanız yok."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Yeni iletiniz var."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Eski/okunmuş iletiniz var."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "İletiniz var."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "%s dizininde iletiniz yok."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "%s dizininde yeni iletiniz var."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "%s dizininde eski/okunmuş iletiniz var."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "%s dizininde iletiniz var."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "%s dizini oluşturuluyor."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "%s dizini oluşturulamadı."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Parola kullanımda. Lütfen başka bir parola seçin."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Parola önceden kullanılmıştır."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Öntanımlı güvenlik bağlamı %s'dir."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Farklı bir rol ya da seviye girmek ister misiniz?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "rol:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "%s rolü için öntanımlı bir tür yok."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "seviye:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Bu geçerli bir güvenlik bağlamı değil."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "%s için geçerli bir bağlam alınamadı."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "%s güvenlik bağlamı atandı."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "%s anahtar oluşturma bağlamı atandı."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "PAM başlatılamadı\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() çalıştırılamadı\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "giriş: çatallama yapılamadı: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Erişim izni verildi (son erişim %ld saniye önce)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "Hesabınızın süresi doldu; lütfen sistem yöneticinize başvurun."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Parolanızı hemen değiştirmeniz gerekmektedir (yönetici tarafından zorunlu "
+"kılındı)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Parolanızı hemen değiştirmeniz gerekmektedir (parolanın süresi doldu)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Uyarı: parolanızın süresi %d gün içinde dolacak."
+msgstr[1] "Uyarı: parolanızın süresi %d gün içinde dolacak."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Uyarı: parolanızın süresi %d gün içinde dolacak."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS parolası değiştirilemedi."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Parola belirtilmedi."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Parola değiştirilmedi."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Daha kısa bir şifre seçmelisiniz."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Daha uzun bir parola seçmelisiniz."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "%s kullanıcısının parolası değiştiriliyor."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Parolanızı değiştirmek için daha uzun süre beklemelisiniz."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "eskisi ile aynı"
+
+#~ msgid "memory allocation error"
+#~ msgstr "bellek ayırma hatası"
+
+#~ msgid "is a palindrome"
+#~ msgstr "bir palindrom (iki yönden aynı şekilde okunuyor)"
+
+#~ msgid "case changes only"
+#~ msgstr "sadece büyük-küçük harf değişimi"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "eskisine çok benziyor"
+
+#~ msgid "is too simple"
+#~ msgstr "çok basit"
+
+#~ msgid "is rotated"
+#~ msgstr "değiştirilmiş"
+
+#~ msgid "not enough character classes"
+#~ msgstr "yetersiz karakter sınıfı"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "aynı karakterleri arka arkaya içeriyor"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "çok uzun tekdüze karakter sırası içeriyor"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "kullanıcı adını bir biçimde içeriyor"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "KÖTÜ PAROLA: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Hesap geçici olarak kilitlendi (%ld saniye kaldı)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Yetkilendirme hatası"
+
+#~ msgid "Service error"
+#~ msgstr "Hizmet hatası"
+
+#~ msgid "Unknown user"
+#~ msgstr "Bilinmeyen kullanıcı"
+
+#~ msgid "Unknown error"
+#~ msgstr "Bilinmeyen hata"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: --reset argümanına geçersiz sayı verildi\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Tanınmayan seçenek %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file DosyanınTamYolu] [--user KullanıcıAdı] [--reset[=n]] [--"
+#~ "quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Tüm kullanıcılara sıfır olmayan bir değer atanamadı\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Giriş Hatalar Son hata Kim\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f kök-dosya-adı] [--file kök-dosya-adı]\n"
+#~ " [-u kullanıcı-adı] [--user kullanıcı-adı]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/uk.gmo b/po/uk.gmo
new file mode 100644
index 0000000..9c69aa0
--- /dev/null
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..0dd7923
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,580 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>, 2006
+# Yuri Chornoivan <yurchor@ukr.net>, 2010,2012, 2020, 2021.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Yuri Chornoivan <yurchor@ukr.net>, 2016. #zanata, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-07-22 00:28+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <https://translate.fedoraproject.org/projects/linux-"
+"pam/master/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: Weblate 4.7.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Пароль: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "Поточний пароль %s: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "Поточний пароль: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Новий пароль %s: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Новий пароль: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Повторіть новий пароль %s: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Повторіть новий пароль: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Вибачте, паролі не збігаються."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Повторне введення %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "Зміну пароля перервано."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "користувач:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Успіх"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Критична помилка - негайна зупинка"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Не вдалося завантажити модуль"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Символ не знайдено"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Помилка в модулі служби"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Системна помилка"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Помилка буфера пам'яті"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Доступ заборонено"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Помилка розпізнавання"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Недостатньо прав для доступу до даних розпізнавання"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Службі розпізнавання не вдалося отримати інформацію щодо розпізнавання"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Невідомий користувач для модуля розпізнавання"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Використано максимальну кількість дозволених спроб для служби"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Лексема розпізнавання вже не чинна; потрібна нова"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Обліковий запис користувача вже застарів"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Не вдається створити / вилучити запис для вказаного сеансу"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Служба розпізнавання не може отримати права користувача"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Права користувача застаріли"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Помилка встановлення прав користувача"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Немає даних для певних модулів"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Неправильний елемент передано до pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Помилка обміну даними"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Помилка маніпуляції лексемою розпізнавання"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Не вдається відновити інформацію розпізнавання"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Лексему розпізнавання заблоковано, зайнято"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Застарівання лексеми розпізнавання вимкнено"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Невдача попередньої перевірки службою паролів"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Повернуте значення має бути проігноровано засобом розподілу PAM"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Невідомий модуль"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Застаріла лексема розпізнавання"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Обмін даними очікує на подію"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Програмі потрібно знов викликати libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Невідома помилка PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Час закінчується...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Вибачте, ваш час закінчився!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "помилкова розмова (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "Помилка %s: коди виходу %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "Помилка %s: отримано сигнал %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "Помилка %s: невідомий стан 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"Користування: %s [--dir /шлях/до/каталогу/tally] [--user ім'я користувача] "
+"[--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Обліковий запис заблоковано через %u помилок під час спроби входу."
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(лишилося %d хвилина до розблокування)"
+msgstr[1] "(лишилося %d хвилини до розблокування)"
+msgstr[2] "(лишилося %d хвилин до розблокування)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(лишилося %d хвилин до розблокування)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " з %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " на %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Останній вхід: %s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Ласкаво просимо до вашого нового запису!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Останній невдалий вхід: %s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Після останнього успішного входу було виконано %d спробу входу, яка "
+"завершилася помилкою."
+msgstr[1] ""
+"Після останнього успішного входу було виконано %d спроби входу, які "
+"завершилися помилками."
+msgstr[2] ""
+"Після останнього успішного входу було виконано %d спроб входу, які "
+"завершилися помилками."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Після останнього успішного входу було виконано %d спроби входу, які "
+"завершилися помилками."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Забагато входів в для «%s»."
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "Нових повідомлень немає."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Надійшла нова пошта."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Ви маєте стару пошту."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Надійшла пошта."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "У теці %s немає поштових повідомлень."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "У теці %s є нові поштові повідомлення."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "У теці %s є старі поштові повідомлення."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "У теці %s є поштові повідомлення."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Створення каталогу «%s»."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Не вдалося створити і ініціалізувати каталог «%s»."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Цей пароль вже використано. Виберіть інший."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "Пароль вже використовувався."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "Типовий контекст безпеки — %s."
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Бажаєте ввести іншу роль або рівень?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "роль:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "Для ролі %s не визначено типового типу."
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "рівень:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "Цей контекст безпеки є некоректним."
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "Не вдалося отримати коректний контекст для %s."
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "Призначено контекст безпеки %s."
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Призначено контекст створення ключів %s."
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "не вдалося ініціалізувати PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "помилка pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "вхід: помилка розгалуження: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Надано доступ (остання спроба доступу сталася %ld секунд тому)."
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Строк дії вашого облікового запису вичерпано — будь ласка, зверніться до "
+"вашого системного адміністратора."
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Вам слід негайно змінити пароль (вимога адміністратора)."
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"Вам необхідно негайно змінити пароль (строк дії поточного пароля вичерпано)."
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Попередження: строк дії вашого пароля буде вичерпано за %d день."
+msgstr[1] "Попередження: строк дії вашого пароля буде вичерпано за %d дні."
+msgstr[2] "Попередження: строк дії вашого пароля буде вичерпано за %d днів."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Попередження: строк дії вашого пароля буде вичерпано за %d днів."
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Не вдалося змінити пароль NIS."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "Не було надано жодного пароля."
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "Пароль не було змінено."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Необхідно вибрати коротший пароль."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "Вам слід вибрати довший пароль."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Зміна пароля %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "Ви слід ще трохи зачекати, щоб змінити ваш пароль."
+
+#~ msgid "is the same as the old one"
+#~ msgstr "такий самий, як і старий"
+
+#~ msgid "memory allocation error"
+#~ msgstr "помилка під час спроби отримання області у пам’яті"
+
+#~ msgid "is a palindrome"
+#~ msgstr "— це паліндром"
+
+#~ msgid "case changes only"
+#~ msgstr "тільки зміни в регістрі"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "занадто подібний до старого"
+
+#~ msgid "is too simple"
+#~ msgstr "занадто простий"
+
+#~ msgid "is rotated"
+#~ msgstr "чергується"
+
+#~ msgid "not enough character classes"
+#~ msgstr "недостатнє використання класів символів"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "містить забагато послідовних однакових символів"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "містить надто довгу монотонну послідовність символів"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "містить ім’я користувача з форми"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "ПОГАНИЙ ПАРОЛЬ: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Обліковий запис тимчасово заблоковано (ще на %ld секунд)."
+
+#~ msgid "Authentication error"
+#~ msgstr "Помилка розпізнавання"
+
+#~ msgid "Service error"
+#~ msgstr "Помилка служби"
+
+#~ msgid "Unknown user"
+#~ msgstr "Невідомий користувач"
+
+#~ msgid "Unknown error"
+#~ msgstr "Невідома помилка"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: вказано помилкове число --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: нерозпізнано параметр %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file назва-файла-користувача-root] [--user ім'я користувача] [--"
+#~ "reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: не вдається відновити ненульове значення для всіх користувачів\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Користувач Помилок Остання помилка З\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f назва-файла-користувача-root] [--file назва-файла-користувача-"
+#~ "root]\n"
+#~ " [-u користувач] [--user користувач]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/ur.gmo b/po/ur.gmo
new file mode 100644
index 0000000..777572a
--- /dev/null
+++ b/po/ur.gmo
Binary files differ
diff --git a/po/ur.po b/po/ur.po
new file mode 100644
index 0000000..2cb1caa
--- /dev/null
+++ b/po/ur.po
@@ -0,0 +1,482 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Urdu <trans-urdu@lists.fedoraproject.org>\n"
+"Language: ur\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "آپ کو ایک چھوٹا پاس ورڈ منتخب کرنا ہوگا."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "آپ کو ایک چھوٹا پاس ورڈ منتخب کرنا ہوگا."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "آپ کو ایک چھوٹا پاس ورڈ منتخب کرنا ہوگا."
diff --git a/po/vi.gmo b/po/vi.gmo
new file mode 100644
index 0000000..b7004db
--- /dev/null
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..db2839f
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,575 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# <mattheu.9x@gmail.com>, 2012.
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2012-11-30 06:03-0500\n"
+"Last-Translator: mattheu_9x <mattheu.9x@gmail.com>\n"
+"Language-Team: Vietnamese (http://www.transifex.com/projects/p/fedora/"
+"language/vi/)\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Mật khẩu : "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "Mật khẩu %s mới: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "Mật khẩu mới: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "Mật khẩu %s mới: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "Mật khẩu mới: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Nhập lại mật khẩu %s mới: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Nhập lại mật khẩu mới: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Xin lỗi, mật khẩu không khớp."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "Nhập lại %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Hủy bỏ việc thay đổi mật khẩu."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "Đăng nhập:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Thành công"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Lỗi nghiêm trọng - hủy bỏ ngay"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Không thể nạp mô-đun"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Không tìm thấy biểu tượng"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Lỗi trong mô-đun dịch vụ"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Lỗi hệ thống"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Lỗi bộ nhớ đệm"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Không có đủ quyền thực hiện"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Xác thực thất bại"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Không đủ quyền uỷ nhiệm để truy cập dữ liệu xác thực"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Dịch vụ chứng thực không thể lấy các thông tin xác thực"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Người dùng chưa biết đến mô-đun xác thực tiềm ẩn"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Đã hết số lần thử lại tối đa cho dịch vụ"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Dấu hiệu xác thực không còn hiệu lực; yêu cầu dấu hiệu xác thực mới"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "Tài khoản người dùng đã hết hiệu lực"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Không thể thực hiện hoặc loại bỏ một mục nhập cho phiên định"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Dịch vụ chứng thực không thể lấy các chứng chỉ người dùng"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Hết hạn ủy nhiệm người dùng"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Cài đặt ủy nhiệm người dùng thất bại"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Hiện tại không có mô-đun dữ liệu"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Tình trạng hàng được thông qua để pam_ * _item ()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Lỗi giao tiếp"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Thao tác xác thực token lỗi"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Xác thực thông tin không thể được phục hồi"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "authentication token lock busy"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "xác thực token già tàn tật"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Không thành công sơ bộ kiểm tra bằng mật khẩu dịch vụ"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "Giá trị trả về phải được bỏ qua bởi PAM công văn"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "chưa biết mô-đun"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Hết hạn xác thực"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Giao tiếp đang chờ kết quả"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Ứng dụng cần gọi libpam lần nữa"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Không biết lỗi PAM"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Thời gian đang dần hết...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Xin lỗi, đã hết thời gian!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "hội thoại sai (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s thất bại: lối ra mã %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s thất bại: bắt tín hiệu %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s thất bại: không rõ tình trạng 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [- tập bắt rễ-filename] [- người sử dụng tên người dùng] [- đặt lại [= "
+"n]] [- yên tĩnh]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, fuzzy, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "Tài khoản bị khóa do đăng nhập %u không thành công"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " từ %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " trên %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Lần đăng nhập:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Chào mừng bạn đến tài khoản mới của bạn!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "Lần đăng nhập thất bại trước:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+"Đã có %d lần đăng nhập thất bại kể từ lần đăng nhập thành công trước đó."
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+"Có %d lần đăng nhập không thành công kể từ lần đăng nhập thành công trước."
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Quá nhiều lần đăng nhập cho '%s'."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Bạn có thư mới."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Bạn có thư mới."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Bạn có thư cũ."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Bạn có thư."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Bạn không có thư trong thư mục %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Bạn có thư mới trong thư mục %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Bạn có thư cũ trong thư mục %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Bạn có thư trong thư mục %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "Tạo thư mục '%s'."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "Không thể khởi tạo thư mục '%s'."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Mật khẩu đã được dùng. Hãy chọn mật khẩu khác."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "Mật khẩu đã được dùng. Hãy chọn mật khẩu khác."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Bối cảnh an ninh mặc định %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "Bạn có muốn nhập một vai trò khác nhau hoặc cấp?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "Vai trò:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, fuzzy, c-format
+msgid "There is no default type for role %s."
+msgstr "Không có loại mặc định cho vai trò %s\n"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "trình độ:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Không phải là một bối cảnh an ninh hợp lệ"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Bối cảnh an ninh %s Giao"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Sáng tạo Context phím %s Giao"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "không thể khởi tạo PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "không pam_set_item ()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "đăng nhập: thất bại forking: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, fuzzy, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "Được phép truy cập (lần truy cập trước %ld giây trước)"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"Tài khoản của bạn đã hết hạn dùng: hãy liên lạc với nhà quản trị hệ thống"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "Bạn phải thay đổi ngay mật khẩu (người chủ ép buộc)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "Bạn phải thay đổi ngay mật khẩu (mật khẩu quá cũ)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "NIS mật khẩu không thể được thay đổi."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Không có mật khẩu được cung cấp"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "NIS mật khẩu không thể được thay đổi."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Bạn phải chọn một mật khẩu ngắn hơn."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Bạn phải chọn mật khẩu dài hơn"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "Thay đổi mật khẩu cho %s."
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Bạn phải đợi thêm nữa, để thay đổi mật khẩu"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "là giống như cũ"
+
+#~ msgid "memory allocation error"
+#~ msgstr "Lỗi cấp phát bộ nhớ"
+
+#~ msgid "is a palindrome"
+#~ msgstr "là một xâu palindrome"
+
+#~ msgid "case changes only"
+#~ msgstr "chỉ thay đổi chữ thường/hoa"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "quá giống cái cũ"
+
+#~ msgid "is too simple"
+#~ msgstr "quá đơn giản"
+
+#~ msgid "is rotated"
+#~ msgstr "được sử dụng lại"
+
+#~ msgid "not enough character classes"
+#~ msgstr "không đủ các lớp nhân vật"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "chứa quá nhiều kí tự giống nhau liên tiếp"
+
+#, fuzzy
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "chứa quá nhiều kí tự giống nhau liên tiếp"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "chứa tên user trong một số biểu mẫu"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "Mật khẩu không an toàn: %s"
+
+#, fuzzy
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "Tài khoản tạm thời bị khóa (%ld giây còn lại)"
+
+#~ msgid "Authentication error"
+#~ msgstr "Xác thực lỗi"
+
+#~ msgid "Service error"
+#~ msgstr "Lỗi dịch vụ"
+
+#~ msgid "Unknown user"
+#~ msgstr "Người dùng không rõ"
+
+#~ msgid "Unknown error"
+#~ msgstr "Lỗi không rõ"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Xấu số cho --cài lại=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Được thừa nhận lựa chọn%s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [- tập bắt rễ-filename] [- người sử dụng tên người dùng] [- đặt lại "
+#~ "[= n]] [- yên tĩnh]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: Không thể thiết lập lại tất cả các người dùng khác không\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Đang nhập Thất bại Thất bại cuốie Từ \n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/yo.gmo b/po/yo.gmo
new file mode 100644
index 0000000..6b420e7
--- /dev/null
+++ b/po/yo.gmo
Binary files differ
diff --git a/po/yo.po b/po/yo.po
new file mode 100644
index 0000000..52e753e
--- /dev/null
+++ b/po/yo.po
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the Linux-PAM package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM 1.2.1\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: Yoruba\n"
+"Language: yo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "O gbọdọ yan ọrọigbaniwọle kukuru."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "O gbọdọ yan ọrọigbaniwọle kukuru."
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "O gbọdọ yan ọrọigbaniwọle kukuru."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..8b45db8
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..4f8e040
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,561 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Christopher Meng <cickumqt@gmail.com>, 2012
+# Leah Liu <lliu@redhat.com>, 2008-2009
+# Tommy He <lovenemesis@gmail.com>, 2012
+# Xi HUANG <xhuang@redhat.com>, 2007
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+# Charles Lee <lchopn@gmail.com>, 2020.
+# Chenbo Pan <panchenbo@uniontech.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2021-08-02 02:19+0000\n"
+"Last-Translator: Chenbo Pan <panchenbo@uniontech.com>\n"
+"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
+"projects/linux-pam/master/zh_CN/>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.1.1\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "密码: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "当前的 %s 密码: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "当前的密码: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "新的 %s 密码: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "新的密码: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "重新输入新的 %s 密码: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "重新输入新的密码: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "抱歉,密码不匹配。"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "重新输入 %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "密码更改已取消。"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "登录:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "成功"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "严重错误 - 立即中止"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "装载模块失败"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "找不到符号"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "服务模块存在错误"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "系统错误"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "内存缓冲区错误"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "拒绝权限"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "鉴定故障"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "没有足够的身份凭证以访问鉴定数据"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "鉴定服务无法检索到鉴定信息"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "底层的鉴定模块无法识别用户"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "已经超出服务重试的最多次数"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "鉴定令牌不再有效;需要新的鉴定令牌"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "用户帐户已失效"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "无法为指定的会话创建/移除项"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "鉴定服务无法检索到用户身份凭证"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "用户身份凭证失效"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "设置用户身份凭证时出现故障"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "不存在特定于模块的数据"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "传递至 pam_*_item() 的项目无效"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "转换错误"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "鉴定令牌操作错误"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "无法恢复鉴定信息"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "鉴定令牌锁忙碌"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "已禁用鉴定令牌过期处理"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "密码服务初步检查失败"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "返回值应该被 PAM dispatch 忽略"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "模块未知"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "鉴定令牌失效"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "转换正在等待事件"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "应用程序需要再次调用 libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "未知的 PAM 错误"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...时间即将耗尽...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...对不起,您的时间已经耗尽!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "有错误的转换 (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s 失败:退出代码 %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s 失败:捕获的信号 %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s 失败:未知的状态 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"用法:%s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "由于 %u 次登录失败,此帐户已锁定。"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d 分钟后解锁)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d 分钟后解锁)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " 从 %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " %.*s 上"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "上一次登录:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "欢迎使用新帐户!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "最后一次失败的登录:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "自上次成功登录以来,有%d 次失败的登录尝试。"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "自上次成功登录以来,有%d 次失败的登录尝试。"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "'%s' 的登录次数过多。"
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "您没有新邮件。"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "您有新邮件。"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "您有旧邮件。"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "您有邮件。"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "您在文件夹 %s 中无邮件。"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "您在文件夹 %s 中有新邮件。"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "您在文件夹 %s 中有旧邮件。"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "您在文件夹 %s 中有邮件。"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "创建目录 '%s'。"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "无法创建和初始化目录 '%s'。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "密码已使用。请选择其他密码。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "密码已被使用。"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "默认的安全上下文是 %s。"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "您是否愿意进入不同的角色或者级别?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "角色:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "角色 %s 没有默认类型。"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "级别:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "这不是一个有效的安全上下文。"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "无法取得 %s 的有效上下文。"
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "安全上下文 %s 已指派。"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "密钥生成上下文 %s 已分配。"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "未能初始化 PAM\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "未能 pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "登录:故障派生:%m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "访问已被准许(上次访问是 %ld 秒之前)。"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "您的帐户已过期;请联系您的系统管理员。"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "您必须立即更改密码(管理员强制)。"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "您必须立即更改密码(密码已经过期)。"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "警告:您的密码将在 %d 天后过期。"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "警告:您的密码将在 %d 天后过期。"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "无法更改 NIS 密码。"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "未提供密码。"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "密码未被更改。"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "您必须选择较短的密码。"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "您必须选择一个更长的密码。"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "为 %s 更改 STRESS 密码。"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "您必须等待更长时间以更改密码。"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "与旧密码相同"
+
+#~ msgid "memory allocation error"
+#~ msgstr "内存分配错误"
+
+#~ msgid "is a palindrome"
+#~ msgstr "是回文"
+
+#~ msgid "case changes only"
+#~ msgstr "仅更改了大小写"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "与旧密码过于相似"
+
+#~ msgid "is too simple"
+#~ msgstr "过于简单"
+
+#~ msgid "is rotated"
+#~ msgstr "是旧密码的循环"
+
+#~ msgid "not enough character classes"
+#~ msgstr "没有足够的字符分类"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "包含过多连续相同的字符"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "包含过长的单一字符序列"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "以某些形式包含用户名"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "无效的密码: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "帐户暂时锁定(剩余 %ld 秒)。"
+
+#~ msgid "Authentication error"
+#~ msgstr "鉴定错误"
+
+#~ msgid "Service error"
+#~ msgstr "服务错误"
+
+#~ msgid "Unknown user"
+#~ msgstr "未知的用户"
+
+#~ msgid "Unknown error"
+#~ msgstr "未知的错误"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: 给定的数字无效 --重设置=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: 未识别的选项 %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr "%s: [--文件 根文件名] [--用户 用户名] [--重设置[=n]] [--安静]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: 无法将所有用户重设置为非零\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Failures Latest failure From\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
new file mode 100644
index 0000000..c90b23a
--- /dev/null
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644
index 0000000..2a37810
--- /dev/null
+++ b/po/zh_HK.po
@@ -0,0 +1,479 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2011-11-30 06:56-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Chinese (Hong Kong) <chinese@lists.fedoraproject.org>\n"
+"Language: zh_HK\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Zanata 3.8.3\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr ""
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr ""
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr ""
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr ""
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr ""
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr ""
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr ""
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr ""
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr ""
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr ""
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr ""
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr ""
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr ""
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr ""
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr ""
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr ""
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr ""
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr ""
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr ""
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr ""
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr ""
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr ""
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr ""
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr ""
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr ""
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr ""
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr ""
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr ""
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr ""
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr ""
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr ""
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr ""
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr ""
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr ""
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr ""
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr ""
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr ""
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr ""
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+#, fuzzy
+msgid "You must choose a shorter password."
+msgstr "您必須選擇較短的密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "您必須選擇較短的密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "您必須選擇較短的密碼。"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
new file mode 100644
index 0000000..40d376a
--- /dev/null
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..bff84bf
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,558 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Terry Chuang <tchuang@redhat.com>, 2008-2009
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+# Yi-Jyun Pan <pan93412@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-05-24 12:40+0000\n"
+"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
+"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/"
+"projects/linux-pam/master/zh_TW/>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.0.4\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "密碼: "
+
+#: libpam/pam_get_authtok.c:41
+#, c-format
+msgid "Current %s password: "
+msgstr "目前的 %s 密碼: "
+
+#: libpam/pam_get_authtok.c:42
+msgid "Current password: "
+msgstr "目前密碼: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "新 %s 密碼: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "新 密碼: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "再次輸入新的 %s 密碼: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "再次輸入新的 密碼: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "抱歉,密碼不符合。"
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr "重新輸入 %s"
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+msgid "Password change has been aborted."
+msgstr "已中止密碼變更作業。"
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "登入:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "成功"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "嚴重錯誤 - 立即終止"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "載入模組失敗"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "找不到符號"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "服務模組發生錯誤"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "系統錯誤"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "記憶體暫存區錯誤"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "許可權被拒絕"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "驗證失敗"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "憑證不足,無法存取驗證資料"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "驗證服務無法取出驗證資訊"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "底層的驗證模組無法識別使用者"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "服務的重試次數已超過最大數量"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "驗證記號已經失效;需要新的驗證記號"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "使用者帳戶已逾期"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "無法為指定的工作階段製作/移除項目"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "驗證服務無法取出使用者憑證"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "使用者憑證已逾期"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "無法設定使用者憑證"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "沒有模組的詳細資料"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "不良的項目傳送至 pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "交談錯誤"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "驗證記號處理錯誤"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "無法恢復驗證資訊"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "驗證記號鎖定忙碌"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "驗證記號計時已停用"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "密碼服務的初步檢查失敗"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "PAM 發送應忽略傳回值"
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "未知的模組"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "驗證記號已逾期"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "交談正在等候事件"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "應用程式需要再次呼叫 libpam"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "未知的 PAM 錯誤"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...時間已經超過...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...抱歉,您的時間已到!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "錯誤的交談 (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr "%s 失敗:退出編碼 %d"
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr "%s 失敗:捕捉到信號 %d%s"
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr "%s 失敗:不明狀態 0x%x"
+
+#: modules/pam_faillock/main.c:103
+#, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"用法:%s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr "因為 %u 次登入皆失敗,帳號已鎖定。"
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, fuzzy, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] "(%d 分鐘後解鎖)"
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr "(%d 分鐘後解鎖)"
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " 從 %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " 在 %.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "上一次登入:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "歡迎使用您的新帳號!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr "上一次失敗的登入:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] "自上次成功登入後,有 %d 次試圖登入但失敗的紀錄。"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr "自從上次成功登入後有 %d 次嘗試登入失敗。"
+
+#: modules/pam_limits/pam_limits.c:1164
+#, c-format
+msgid "There were too many logins for '%s'."
+msgstr "登入 '%s' 太多次。"
+
+#: modules/pam_mail/pam_mail.c:289
+msgid "You have no mail."
+msgstr "您沒有新郵件。"
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "您有新的郵件。"
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "您有舊的郵件。"
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "您有郵件。"
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "資料夾 %s 中沒有您的郵件。"
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "資料夾 %s 中有您的新郵件。"
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "資料夾 %s 中有您的舊郵件。"
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "資料夾 %s 中有您的郵件。"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr "建立目錄「%s」。"
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr "無法建立和初始化「%s」目錄。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "密碼已經由其他使用者使用。請選擇其他密碼。"
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+msgid "Password has been already used."
+msgstr "密碼已被使用過。"
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, c-format
+msgid "The default security context is %s."
+msgstr "預設的安全情境為 %s。"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr "您是否希望輸入不同的角色或層級?"
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr "角色:"
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr "%s 角色沒有預設類型。"
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr "層級:"
+
+#: modules/pam_selinux/pam_selinux.c:259
+msgid "This is not a valid security context."
+msgstr "此非有效的安全性情境。"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr "無法取得 %s 的有效情境。"
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, c-format
+msgid "Security context %s has been assigned."
+msgstr "已指定 %s 安全情境。"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "已指定 %s 金鑰建立情境。"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "起始 PAM 失敗\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "pam_set_item() 失敗\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "登入:失敗的分叉:%m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr "已賦予存取權限(最後一次存取為 %ld 秒前)。"
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+msgid "Your account has expired; please contact your system administrator."
+msgstr "您的帳戶已經過期;請洽詢您的系統管理員。"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr "您必須立刻變更您的密碼(管理員強制執行)。"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr "您必須立刻變更您的密碼(密碼已經過期)。"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] "警告:您的密碼將在 %d 天後過期。"
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr "警告:您的密碼將在 %d 天後過期。"
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "無法變更 NIS 密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+msgid "No password has been supplied."
+msgstr "未提供密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+msgid "The password has not been changed."
+msgstr "未變更密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "您必須選擇較短的密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+msgid "You must choose a longer password."
+msgstr "您的密碼必須更長。"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr "正在更改 %s 的 STRESS 密碼。"
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+msgid "You must wait longer to change your password."
+msgstr "請您稍等一陣子後再變更密碼。"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "與舊的密碼相同"
+
+#~ msgid "memory allocation error"
+#~ msgstr "記憶體分配錯誤"
+
+#~ msgid "is a palindrome"
+#~ msgstr "是一個回文"
+
+#~ msgid "case changes only"
+#~ msgstr "僅變更大小寫"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "與舊的密碼太相似"
+
+#~ msgid "is too simple"
+#~ msgstr "太簡單"
+
+#~ msgid "is rotated"
+#~ msgstr "已旋轉"
+
+#~ msgid "not enough character classes"
+#~ msgstr "字元類別不足"
+
+#~ msgid "contains too many same characters consecutively"
+#~ msgstr "包含了太多連續的相同字元"
+
+#~ msgid "contains too long of a monotonic character sequence"
+#~ msgstr "包含過多的單調字元序段"
+
+#~ msgid "contains the user name in some form"
+#~ msgstr "包含了某些格式的用戶名稱"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "不良的密碼: %s"
+
+#~ msgid "The account is temporarily locked (%ld seconds left)."
+#~ msgstr "帳號被暫時鎖定(剩餘 %ld 秒)。"
+
+#~ msgid "Authentication error"
+#~ msgstr "驗證錯誤"
+
+#~ msgid "Service error"
+#~ msgstr "服務錯誤"
+
+#~ msgid "Unknown user"
+#~ msgstr "未知的使用者"
+
+#~ msgid "Unknown error"
+#~ msgstr "未知的錯誤"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: 不良的號碼提供至 --reset=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: 未識別的選項 %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr "%s: 無法將所有使用者重新設定為非零\n"
+
+#~ msgid "Login Failures Latest failure From\n"
+#~ msgstr "Login Failures Latest failure From\n"
+
+#~ msgid ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [-f rooted-filename] [--file rooted-filename]\n"
+#~ " [-u username] [--user username]\n"
+#~ " [-r] [--reset[=n]] [--quiet]\n"
diff --git a/po/zu.gmo b/po/zu.gmo
new file mode 100644
index 0000000..8f70af4
--- /dev/null
+++ b/po/zu.gmo
Binary files differ
diff --git a/po/zu.po b/po/zu.po
new file mode 100644
index 0000000..023f065
--- /dev/null
+++ b/po/zu.po
@@ -0,0 +1,548 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Linux-PAM Project
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Tomáš Mráz <tmraz@fedoraproject.org>, 2016. #zanata
+# Dmitry V. Levin <ldv@altlinux.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: Linux-PAM\n"
+"Report-Msgid-Bugs-To: https://github.com/linux-pam/linux-pam/issues\n"
+"POT-Creation-Date: 2021-07-20 20:00+0000\n"
+"PO-Revision-Date: 2020-03-06 23:59+0000\n"
+"Last-Translator: Dmitry V. Levin <ldv@altlinux.org>\n"
+"Language-Team: Zulu <https://translate.fedoraproject.org/projects/linux-pam/"
+"master/zu/>\n"
+"Language: zu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 3.11.2\n"
+
+#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:181
+#: modules/pam_userdb/pam_userdb.c:53
+msgid "Password: "
+msgstr "Iphasiwedi: "
+
+#: libpam/pam_get_authtok.c:41
+#, fuzzy, c-format
+msgid "Current %s password: "
+msgstr "%s iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:42
+#, fuzzy
+msgid "Current password: "
+msgstr "iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:44
+#, c-format
+msgid "New %s password: "
+msgstr "%s iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:45
+msgid "New password: "
+msgstr "iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:47
+#, c-format
+msgid "Retype new %s password: "
+msgstr "Thayipha kabusha %s iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:48
+msgid "Retype new password: "
+msgstr "Thayipha kabusha iphasiwedi entsha: "
+
+#: libpam/pam_get_authtok.c:49
+msgid "Sorry, passwords do not match."
+msgstr "Uxolo, amaphasiwedi awahambelani."
+
+#: libpam/pam_get_authtok.c:142 libpam/pam_get_authtok.c:240
+#, c-format
+msgid "Retype %s"
+msgstr ""
+
+#: libpam/pam_get_authtok.c:178 libpam/pam_get_authtok.c:258
+#, fuzzy
+msgid "Password change has been aborted."
+msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye."
+
+#: libpam/pam_item.c:311
+msgid "login:"
+msgstr "ngena:"
+
+#: libpam/pam_strerror.c:40
+msgid "Success"
+msgstr "Impumelelo"
+
+#: libpam/pam_strerror.c:42
+msgid "Critical error - immediate abort"
+msgstr "Iphutha elibucayi - yeka ngokushesha"
+
+#: libpam/pam_strerror.c:44
+msgid "Failed to load module"
+msgstr "Ihlulekile ukunezela umkhiqizo owenezelwayo"
+
+#: libpam/pam_strerror.c:46
+msgid "Symbol not found"
+msgstr "Uphawu alutholakali"
+
+#: libpam/pam_strerror.c:48
+msgid "Error in service module"
+msgstr "Iphutha kwimoduli yesevisi"
+
+#: libpam/pam_strerror.c:50
+msgid "System error"
+msgstr "Iphutha lesistimu"
+
+#: libpam/pam_strerror.c:52
+msgid "Memory buffer error"
+msgstr "Iphutha lengobo yesikhashana yememori"
+
+#: libpam/pam_strerror.c:54
+msgid "Permission denied"
+msgstr "Imvume inqatshiwe"
+
+#: libpam/pam_strerror.c:56
+msgid "Authentication failure"
+msgstr "Ukwehluleka kokugunyaza"
+
+#: libpam/pam_strerror.c:58
+msgid "Insufficient credentials to access authentication data"
+msgstr "Izinhlamvu zamagama ezinganele zokungena ekwazisweni kokugunyaza"
+
+#: libpam/pam_strerror.c:60
+msgid "Authentication service cannot retrieve authentication info"
+msgstr "Isevisi yokugunyaza ayikwazi ukulanda ukwaziswa kokugunyaza"
+
+#: libpam/pam_strerror.c:62
+msgid "User not known to the underlying authentication module"
+msgstr "Umsebenzisi akaziwa kwimoduli yokugunyaza engabonakali"
+
+#: libpam/pam_strerror.c:64
+msgid "Have exhausted maximum number of retries for service"
+msgstr "Isifinyelele ekugcineni kwezikhathi ezivumelekile zokuzama le sevisi"
+
+#: libpam/pam_strerror.c:66
+msgid "Authentication token is no longer valid; new one required"
+msgstr "Isiqinisekiso sokugunyaza asisasebenzi, kudingeka esisha"
+
+#: libpam/pam_strerror.c:68
+msgid "User account has expired"
+msgstr "I-akhawunti yomsebenzisi iphelelwe isikhathi"
+
+#: libpam/pam_strerror.c:70
+msgid "Cannot make/remove an entry for the specified session"
+msgstr "Ayikwazi ukwakha/ukususa okufakiwe kohlelo olubonisiwe"
+
+#: libpam/pam_strerror.c:72
+msgid "Authentication service cannot retrieve user credentials"
+msgstr "Isevisi yokugunyaza ayikwazi ukulanda izinhlamvu zomsebenzisi"
+
+#: libpam/pam_strerror.c:74
+msgid "User credentials expired"
+msgstr "Izinhlamvu zomsebenzisi ziphelelwe isikhathi"
+
+#: libpam/pam_strerror.c:76
+msgid "Failure setting user credentials"
+msgstr "Ukwehluleka ukusetha izinhlamvu zomsebenzisi"
+
+#: libpam/pam_strerror.c:78
+msgid "No module specific data is present"
+msgstr "Akukho ukwaziswa okuthile kwemoduli okutholakalayo"
+
+#: libpam/pam_strerror.c:80
+msgid "Bad item passed to pam_*_item()"
+msgstr "Into embi idluliselwe kwi-pam_*_item()"
+
+#: libpam/pam_strerror.c:82
+msgid "Conversation error"
+msgstr "Iphutha lengxoxo"
+
+#: libpam/pam_strerror.c:84
+msgid "Authentication token manipulation error"
+msgstr "Iphutha lokufaka isiqinisekiso sokugunyaza"
+
+#: libpam/pam_strerror.c:86
+msgid "Authentication information cannot be recovered"
+msgstr "Ukwaziswa kokugunyaza akukwazi ukubuyiseka"
+
+#: libpam/pam_strerror.c:88
+msgid "Authentication token lock busy"
+msgstr "Isihluthulelo sesiqinisekiso sokugunyaza simatasa"
+
+#: libpam/pam_strerror.c:90
+msgid "Authentication token aging disabled"
+msgstr "Ukuphela kwesikhathi sesiqinisekiso sokugunyaza kucishiwe"
+
+#: libpam/pam_strerror.c:92
+msgid "Failed preliminary check by password service"
+msgstr "Ukuhlola kokuqala okuhlulekile ngesevisi yephasiwedi"
+
+#: libpam/pam_strerror.c:94
+msgid "The return value should be ignored by PAM dispatch"
+msgstr "I-value yokubuyisa kufanele inganakwa ukuthumela kwe-PAM "
+
+#: libpam/pam_strerror.c:96
+msgid "Module is unknown"
+msgstr "Imoduli ayaziwa"
+
+#: libpam/pam_strerror.c:98
+msgid "Authentication token expired"
+msgstr "Isiqinisekiso sokugunyaza siphelelwe isikhathi"
+
+#: libpam/pam_strerror.c:100
+msgid "Conversation is waiting for event"
+msgstr "Ingxoxo ilinde isenzakalo"
+
+#: libpam/pam_strerror.c:102
+msgid "Application needs to call libpam again"
+msgstr "Uhlelo ludinga ukubiza i-libpam futhi"
+
+#: libpam/pam_strerror.c:105
+msgid "Unknown PAM error"
+msgstr "Iphutha le-PAM elingaziwa"
+
+#: libpam_misc/misc_conv.c:33
+msgid "...Time is running out...\n"
+msgstr "...Isikhathi siyaphela...\n"
+
+#: libpam_misc/misc_conv.c:34
+msgid "...Sorry, your time is up!\n"
+msgstr "...Uxolo, isikhathi sakho sesiphelile!\n"
+
+#: libpam_misc/misc_conv.c:348
+#, c-format
+msgid "erroneous conversation (%d)\n"
+msgstr "ingxoxo enephutha (%d)\n"
+
+#: modules/pam_exec/pam_exec.c:279
+#, c-format
+msgid "%s failed: exit code %d"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:289
+#, c-format
+msgid "%s failed: caught signal %d%s"
+msgstr ""
+
+#: modules/pam_exec/pam_exec.c:299
+#, c-format
+msgid "%s failed: unknown status 0x%x"
+msgstr ""
+
+#: modules/pam_faillock/main.c:103
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [--dir /path/to/tally-directory] [--user username] [--reset]\n"
+msgstr ""
+"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#: modules/pam_faillock/pam_faillock.c:618
+#, c-format
+msgid "The account is locked due to %u failed logins."
+msgstr ""
+
+#: modules/pam_faillock/pam_faillock.c:627
+#: modules/pam_faillock/pam_faillock.c:633
+#, c-format
+msgid "(%d minute left to unlock)"
+msgid_plural "(%d minutes left to unlock)"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported.
+#: modules/pam_faillock/pam_faillock.c:636
+#, c-format
+msgid "(%d minutes left to unlock)"
+msgstr ""
+
+#. TRANSLATORS: "strftime options for date of last login"
+#: modules/pam_lastlog/pam_lastlog.c:318 modules/pam_lastlog/pam_lastlog.c:579
+msgid " %a %b %e %H:%M:%S %Z %Y"
+msgstr " %a %b %e %H:%M:%S %Z %Y"
+
+#. TRANSLATORS: " from <host>"
+#: modules/pam_lastlog/pam_lastlog.c:327 modules/pam_lastlog/pam_lastlog.c:588
+#, c-format
+msgid " from %.*s"
+msgstr " kusukela %.*s"
+
+#. TRANSLATORS: " on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:339 modules/pam_lastlog/pam_lastlog.c:600
+#, c-format
+msgid " on %.*s"
+msgstr " ku-%.*s"
+
+#. TRANSLATORS: "Last login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:349
+#, c-format
+msgid "Last login:%s%s%s"
+msgstr "Ukungena kokugcina:%s%s%s"
+
+#: modules/pam_lastlog/pam_lastlog.c:355
+msgid "Welcome to your new account!"
+msgstr "Uyamukelwa kwi-akhawunti yakho entsha!"
+
+#. TRANSLATORS: "Last failed login: <date> from <host> on <terminal>"
+#: modules/pam_lastlog/pam_lastlog.c:610
+#, c-format
+msgid "Last failed login:%s%s%s"
+msgstr ""
+
+#: modules/pam_lastlog/pam_lastlog.c:619 modules/pam_lastlog/pam_lastlog.c:626
+#, c-format
+msgid "There was %d failed login attempt since the last successful login."
+msgid_plural ""
+"There were %d failed login attempts since the last successful login."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_lastlog/pam_lastlog.c:631
+#, c-format
+msgid "There were %d failed login attempts since the last successful login."
+msgstr ""
+
+#: modules/pam_limits/pam_limits.c:1164
+#, fuzzy, c-format
+msgid "There were too many logins for '%s'."
+msgstr "Kuningi kakhulu ukungena kwi- '%s' osekwenziwe."
+
+#: modules/pam_mail/pam_mail.c:289
+#, fuzzy
+msgid "You have no mail."
+msgstr "Unemeyili entsha."
+
+#: modules/pam_mail/pam_mail.c:292
+msgid "You have new mail."
+msgstr "Unemeyili entsha."
+
+#: modules/pam_mail/pam_mail.c:295
+msgid "You have old mail."
+msgstr "Unemeyili endala."
+
+#: modules/pam_mail/pam_mail.c:299
+msgid "You have mail."
+msgstr "Unemeyili."
+
+#: modules/pam_mail/pam_mail.c:306
+#, c-format
+msgid "You have no mail in folder %s."
+msgstr "Akukho meyili onayo kwifolda %s."
+
+#: modules/pam_mail/pam_mail.c:310
+#, c-format
+msgid "You have new mail in folder %s."
+msgstr "Unemeyili entsha kwifolda %s."
+
+#: modules/pam_mail/pam_mail.c:314
+#, c-format
+msgid "You have old mail in folder %s."
+msgstr "Unemeyili endala kwifolda %s."
+
+#: modules/pam_mail/pam_mail.c:319
+#, c-format
+msgid "You have mail in folder %s."
+msgstr "Unemeyili kwifolda %s."
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:123
+#, c-format
+msgid "Creating directory '%s'."
+msgstr ""
+
+#: modules/pam_mkhomedir/pam_mkhomedir.c:206
+#, c-format
+msgid "Unable to create and initialize directory '%s'."
+msgstr ""
+
+#: modules/pam_pwhistory/pam_pwhistory.c:371
+#: modules/pam_unix/pam_unix_passwd.c:589
+msgid "Password has been already used. Choose another."
+msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye."
+
+#: modules/pam_pwhistory/pam_pwhistory.c:378
+#, fuzzy
+msgid "Password has been already used."
+msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye."
+
+#: modules/pam_selinux/pam_selinux.c:172
+#, fuzzy, c-format
+msgid "The default security context is %s."
+msgstr "Akuyona indawo yokuphepha esemthethweni"
+
+#: modules/pam_selinux/pam_selinux.c:176
+msgid "Would you like to enter a different role or level?"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:189
+msgid "role:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:193
+#, c-format
+msgid "There is no default type for role %s."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:225
+msgid "level:"
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:259
+#, fuzzy
+msgid "This is not a valid security context."
+msgstr "Akuyona indawo yokuphepha esemthethweni"
+
+#: modules/pam_selinux/pam_selinux.c:509
+#, c-format
+msgid "A valid context for %s could not be obtained."
+msgstr ""
+
+#: modules/pam_selinux/pam_selinux.c:640
+#, fuzzy, c-format
+msgid "Security context %s has been assigned."
+msgstr "Indawo %s Yokuphepha Yabelwe"
+
+#: modules/pam_selinux/pam_selinux.c:656
+#, fuzzy, c-format
+msgid "Key creation context %s has been assigned."
+msgstr "Indawo %s Yokuphepha Yabelwe"
+
+#: modules/pam_selinux/pam_selinux_check.c:99
+#, c-format
+msgid "failed to initialize PAM\n"
+msgstr "Ihlulekile ukulungiselela ukuqalisa i-PAM \n"
+
+#: modules/pam_selinux/pam_selinux_check.c:105
+#, c-format
+msgid "failed to pam_set_item()\n"
+msgstr "Ihlulekile ukwenza i-pam_set_item()\n"
+
+#: modules/pam_selinux/pam_selinux_check.c:133
+#, c-format
+msgid "login: failure forking: %m"
+msgstr "ngena: Ihlulekile ukuhlukanisa: %m"
+
+#: modules/pam_timestamp/pam_timestamp.c:361
+#, c-format
+msgid "Access has been granted (last access was %ld seconds ago)."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_acct.c:230 modules/pam_unix/pam_unix_acct.c:252
+#, fuzzy
+msgid "Your account has expired; please contact your system administrator."
+msgstr ""
+"I-akhawunti yakho isiphelelwe isikhathi, sicela uthintana nomqondisi "
+"wesistimu yakho"
+
+#: modules/pam_unix/pam_unix_acct.c:238
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (administrator "
+"enforced)."
+msgstr ""
+"Kudingeka ukuba ushintshe iphasiwedi yakho ngokushesha (iphoqelelwa "
+"ngumqondisi)"
+
+#: modules/pam_unix/pam_unix_acct.c:244
+#, fuzzy
+msgid ""
+"You are required to change your password immediately (password expired)."
+msgstr ""
+"Kudingeka ukuba ushintshe iphasiwedi yakho ngokushesha (iphasiwedi indala)"
+
+#: modules/pam_unix/pam_unix_acct.c:269 modules/pam_unix/pam_unix_acct.c:276
+#, c-format
+msgid "Warning: your password will expire in %d day."
+msgid_plural "Warning: your password will expire in %d days."
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not supported
+#: modules/pam_unix/pam_unix_acct.c:281
+#, c-format
+msgid "Warning: your password will expire in %d days."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:465
+msgid "NIS password could not be changed."
+msgstr "Iphasiwedi ye-NIS ayivumanga ukushintshwa."
+
+#: modules/pam_unix/pam_unix_passwd.c:563
+#, fuzzy
+msgid "No password has been supplied."
+msgstr "Ayikho iphasiwedi enikeziwe"
+
+#: modules/pam_unix/pam_unix_passwd.c:564
+#, fuzzy
+msgid "The password has not been changed."
+msgstr "Iphasiwedi ye-NIS ayivumanga ukushintshwa."
+
+#: modules/pam_unix/pam_unix_passwd.c:581
+msgid "You must choose a shorter password."
+msgstr "Kumele ukhethe iphasiwedi emifushane."
+
+#: modules/pam_unix/pam_unix_passwd.c:585
+#, fuzzy
+msgid "You must choose a longer password."
+msgstr "Kumelwe ukhethe iphasiwedi ethe ukuba yinjana"
+
+#: modules/pam_unix/pam_unix_passwd.c:692
+#, c-format
+msgid "Changing password for %s."
+msgstr ""
+
+#: modules/pam_unix/pam_unix_passwd.c:722
+#, fuzzy
+msgid "You must wait longer to change your password."
+msgstr "Kumelwe ulinde isikhashana ukuze ushintshe iphasiwedi yakho"
+
+#~ msgid "is the same as the old one"
+#~ msgstr "iyafana nendala"
+
+#~ msgid "is a palindrome"
+#~ msgstr "iyi-palindrome"
+
+#~ msgid "case changes only"
+#~ msgstr "kushintshe onobumba kuphela"
+
+#~ msgid "is too similar to the old one"
+#~ msgstr "ifana kakhulu nendala"
+
+#~ msgid "is too simple"
+#~ msgstr "ilula kakhulu"
+
+#~ msgid "is rotated"
+#~ msgstr "ijikelezisiwe"
+
+#~ msgid "BAD PASSWORD: %s"
+#~ msgstr "IPHASIWEDI ENGASEBENZI: %s"
+
+#~ msgid "Authentication error"
+#~ msgstr "Iphutha lokugunyaza"
+
+#~ msgid "Service error"
+#~ msgstr "Iphutha lesevisi"
+
+#~ msgid "Unknown user"
+#~ msgstr "Umsebenzisi ongaziwa"
+
+#~ msgid "Unknown error"
+#~ msgstr "Iphutha elingaziwa"
+
+#~ msgid "%s: Bad number given to --reset=\n"
+#~ msgstr "%s: Inombolo eyiphutha enikeziwe ukuba --uqale kabusha=\n"
+
+#~ msgid "%s: Unrecognised option %s\n"
+#~ msgstr "%s: Okukhethile okungaziwa %s\n"
+
+#~ msgid ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+#~ msgstr ""
+#~ "%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
+
+#~ msgid "%s: Can't reset all users to non-zero\n"
+#~ msgstr ""
+#~ "%s: Ayikwazi ukusetha kabusha bonke abasebenzisi ibase enombolweni "
+#~ "ongelona iqanda\n"