From 376ad627d0fa8ccea11f0c0ac2b748930eacdeb2 Mon Sep 17 00:00:00 2001
From: Emilio Herrera <ehespinosa57@gmail.com>
Date: Apr 26 2021 15:02:13 +0000
Subject: [PATCH 1/2] Translated using Weblate (Spanish)


Currently translated at 100.0% (58 of 58 strings)

Co-authored-by: Emilio Herrera <ehespinosa57@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/passwd/master/es/
Translation: passwd/master

---

diff --git a/po/es.po b/po/es.po
index e5588bc..e2021a5 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,20 +7,22 @@
 # Claudio Rodrigo Pereyra Diaz <elsupergomez@gmail.com>, 2012
 # Máximo Castañeda Riloba <mcrcctm@gmail.com>, 2015. #zanata
 # Alberto Castillo <acg@albertocg.com>, 2016. #zanata
+# Emilio Herrera <ehespinosa57@gmail.com>, 2021.
 msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
 "POT-Creation-Date: 2021-03-29 22:08+0200\n"
-"PO-Revision-Date: 2016-08-13 11:40-0400\n"
-"Last-Translator: Alberto Castillo <acg@albertocg.com>\n"
-"Language-Team: Spanish <trans-es@lists.fedoraproject.org>\n"
+"PO-Revision-Date: 2021-04-26 15:02+0000\n"
+"Last-Translator: Emilio Herrera <ehespinosa57@gmail.com>\n"
+"Language-Team: Spanish <https://translate.fedoraproject.org/projects/passwd/"
+"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: Zanata 4.6.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6\n"
 
 #: libuser.c:91
 #, c-format
@@ -53,7 +55,7 @@ msgstr "Contraseña establecida, cifrado MD5."
 
 #: libuser.c:296
 msgid "Password set, blowfish crypt."
-msgstr "Contraseña establecida, cifrado blowfish"
+msgstr "Contraseña establecida, cifrado blowfish."
 
 #: libuser.c:299
 msgid "Password set, SHA256 crypt."
@@ -80,6 +82,8 @@ msgid ""
 "There is a password information set in /etc/shadow, but the password field "
 "in /etc/passwd is empty."
 msgstr ""
+"Hay información de contraseña establecida en /etc/shadow, pero el campo "
+"contraseña en /etc/passwd está vacío."
 
 #: libuser.c:335
 #, c-format
@@ -271,7 +275,7 @@ msgstr "%s: error al leer de stdin: %s\n"
 #: passwd.c:496
 #, c-format
 msgid "%s: password too long, maximum is %zu"
-msgstr ""
+msgstr "%s: contraseña demasiado larga, el máximo es %zu"
 
 #: passwd.c:515
 #, c-format

From 60a3a0911fbc810e431ce2895a2de7bedcfe6602 Mon Sep 17 00:00:00 2001
From: Weblate <noreply@weblate.org>
Date: Apr 26 2021 15:02:13 +0000
Subject: [PATCH 2/2] Update translation files


Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/passwd/master/
Translation: passwd/master

---

diff --git a/po/be.po b/po/be.po
index b43aa7a..6ba5918 100644
--- a/po/be.po
+++ b/po/be.po
@@ -3,17 +3,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2019-01-28 04:56-0500\n"
 "Last-Translator: Viktar Siarheichyk <veq@fedoraproject.org>\n"
 "Language-Team: Belarusian\n"
 "Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\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"
+"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"
 
 #: libuser.c:91
 #, c-format
@@ -28,215 +28,221 @@ msgstr "Папярэджанне: разблакаваны пароль стан
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Заўвага: выдаленне пароля таксама разблакуе яго."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Пашкоджаны запіс passwd."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Пусты пароль."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Пароль заблакаваны."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Пароль зададзены, шыфр MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Пароль зададзены, шыфр blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Пароль зададзены, шыфр SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Пароль зададзены, шыфр SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Пароль зададзены, невядомы варыянт шыфравання."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr ""
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr ""
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr ""
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr ""
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr ""
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr ""
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr ""
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr ""
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr ""
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr ""
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr ""
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr ""
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr ""
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr ""
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr ""
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr ""
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr ""
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr ""
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr ""
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr ""
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr ""
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr ""
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr ""
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr ""
@@ -246,27 +252,32 @@ msgstr ""
 msgid "%s: error reading from stdin: %s\n"
 msgstr ""
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr ""
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr ""
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr ""
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/fi.po b/po/fi.po
index b29265c..5fa52c4 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2021-04-20 10:42+0000\n"
 "Last-Translator: Jan Kuparinen <copper_fin@hotmail.com>\n"
 "Language-Team: Finnish <https://translate.fedoraproject.org/projects/passwd/"
@@ -140,8 +140,8 @@ msgstr "salasanan pienin elinaika (vain root)"
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"kuinka monena päivänä ennen salasanan vanhentumista käyttäjää varoitetaan ("
-"vain root)"
+"kuinka monena päivänä ennen salasanan vanhentumista käyttäjää varoitetaan "
+"(vain root)"
 
 #: passwd.c:180
 msgid ""
diff --git a/po/fur.po b/po/fur.po
index 9858610..d81c2f2 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -3,14 +3,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2019-08-12 02:11-0400\n"
 "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
 "Language-Team: Friulian\n"
 "Language: fur\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
@@ -27,66 +27,72 @@ msgstr "Atenzion: la password sblocade e sarà vueide."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Note: eliminant une password, cheste e ven sblocade."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Vôs passwd ruvinade."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Password vueide."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Password blocade."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Password stabilide, cifradure MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Password stabilide, cifradure blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Password stabilide, cifradure SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Password stabilide, cifradure SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Password stabilide, variante di cifradure no cognossude."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Scheme di autenticazion alternatîf in ûs."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Password stabilide, cifradure DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nissune password stabilide.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Utent no cognossût.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: l'account utent nol à il supuart pe scjadince de password.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "ten i token di autenticazion no-scjadûts"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -94,38 +100,38 @@ msgstr ""
 "elimine la password pal account (dome root); se al esist, al gjave ancje il "
 "bloc de password"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "bloche la password pal account selezionât (dome root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "sbloche la password pal account selezionât (dome root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "fâs scjadê la password pal account selezionât (dome root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "sfuarce operazion"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "durade massime de password (dome root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "durade minime de password (dome root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "numar di dîs che i utents a ricevin avertiments prime che la password e "
 "scjadi (dome root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -133,116 +139,116 @@ msgstr ""
 "numar di dîs dopo de scjadince de password che un account al devente "
 "disabilitât (dome root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "segnale il stât de password sul account selezionât (dome root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "lei i token gnûfs dal stdin (dome root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPZION...] <nonAccount>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: argoment sbaliât %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Dome un tra -l, -u, -d, -S al pues jessi specificât.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Impussibil miscliçâ un tra -l, -u, -d, -S e un tra -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Dome root al pues fâlu.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Dome root al pues specificâ un non utent.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Il non utent furnît al è masse lunc.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Dome un non utent al pues jessi specificât.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Cheste opzion e à bisugne di un non utent.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Impussibil identificâti!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Non utent no cognossût '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux al dinee l'acès par vie di politichis di sigurece.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Si bloche la password pal utent %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Sucès"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Erôr (password no stabilide?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Si sbloche la password pal utent %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operazion no sigure (dopre -f par sfuarçâ)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Si fâs scjadê la password pal utent %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Erôr"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Si gjave la password pal utent %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Si juste i dâts di invecjament pal utent %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Si cambie la password pal utent %s.\n"
@@ -252,28 +258,33 @@ msgstr "Si cambie la password pal utent %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: erôr tal lei dal stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: impussibil inviâ pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: impussibil stabilî il tty par pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: impussibil stabilî il ritart di faliment: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 "%s: i token di autenticazion scjadûts a son stâts inzornâts cun sucès.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: ducj i token di autenticazion a son stâts inzornâts cun sucès.\n"
diff --git a/po/ia.po b/po/ia.po
index 6db1219..de565ce 100644
--- a/po/ia.po
+++ b/po/ia.po
@@ -1,21 +1,21 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Nik Kalach <nik.kalach@inbox.ru>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:33-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\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 4.6.2\n"
 
@@ -32,104 +32,110 @@ msgstr "Advertimento: le contrasigno disserrate serea vacue."
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Entrata de contrasigno corrupte."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Contrasigno vacue."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Contrasigno serrate."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Contrasigno definite, MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Contrasigno definite, blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Contrasigno definite, SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Contrasigno definite, SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Contrasigno definite, variante incognite."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Schema de authentication alternative in uso."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Contrasigno definite, DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Necun contrasigno definite.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Usator incognite.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
 "%s: conto de usator non ha necun supporto pro inveterar le contrasigno.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "retener tokens de authentication non perempte"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "serrar le contrasigno pro le conto indicate (solmente root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "disserrar le contrasigno pro le conto indicate (solmente root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "perimer le contrasigno pro le conto indicate (solmente root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "fortiar le operation"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "duration de vita maxime del contrasigno (solmente root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "duration de vita minime del contrasigno (solmente root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "numero de dies durante que usatores recipe advertimentos ante le expiration "
 "de contrasigno (solmente root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -137,117 +143,117 @@ msgstr ""
 "numero de dies post le expiration de contrasigno quando un conto deveni "
 "disactivate (solmente root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "reportar le stato de contrasigno del conto indicate (solmente root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "leger nove tokens de stdin (solmente root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPTION…] <conto>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: mal argumento %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Solmente un de -l, -u, -d, -S pote ser specificate.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Il non es permittite usar un de -l, -u, -d, -S e un de -i, -n, -w, -x "
 "insimul.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Solmente root pote facer lo.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Solmente root pote specificar un nomine de usator.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Le nomine de usator fornite es troppo longe.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Solmente un nomine de usator pote ser specificate.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Iste option necessita un nomine de usator.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Impossibile de identificar te!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Nomine de usator '%s' incognite.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux nega le accesso a causa del regulamento de securitate.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Le serrar del contrasigno pro le usator %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Successo"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Error (contrasigno non definite?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Le disserrar del contrasigno pro le usator %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operation insecur (usa -f pro fortiar)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Le perimer del contrasigno pro le usator %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Error"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Elimination del contrasigno pro le usator %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Adjustamento de datos a inveterar pro le usator %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Cambiamento de contrasigno pro le usator %s.\n"
@@ -257,28 +263,33 @@ msgstr "Cambiamento de contrasigno pro le usator %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: error al leger de stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: impossibile de initiar pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: impossibile de configurar tty pro pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: impossibile de configurar le retardo de fallimento: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 "%s: tokens perempte de authentication ha essite actualisate con successo.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/kk.po b/po/kk.po
index 1096ec0..022839d 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -3,14 +3,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2017-04-11 12:06-0400\n"
 "Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
 "Language-Team: Kazakh\n"
 "Language: kk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
@@ -27,215 +27,221 @@ msgstr ""
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr ""
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr ""
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr ""
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr ""
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr ""
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr ""
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr ""
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr ""
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr ""
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr ""
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Пароль орнатылмаған.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Белгісіз пайдаланушы.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr ""
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr ""
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr ""
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr ""
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr ""
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr ""
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr ""
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr ""
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr ""
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr ""
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr ""
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr ""
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr ""
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr ""
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr ""
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr ""
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr ""
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr ""
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr ""
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr ""
@@ -245,27 +251,32 @@ msgstr ""
 msgid "%s: error reading from stdin: %s\n"
 msgstr ""
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr ""
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr ""
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr ""
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/km.po b/po/km.po
index 1f26900..155043e 100644
--- a/po/km.po
+++ b/po/km.po
@@ -4,14 +4,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-10-31 06:08-0400\n"
 "Last-Translator: Kuylim Tith <kuylim.tith@gmail.com>\n"
 "Language-Team: Khmer\n"
 "Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
@@ -28,219 +28,222 @@ msgstr "ព្រមានការដោះសោលេខសម្ងាត់
 msgid "Note: deleting a password also unlocks the password."
 msgstr "សំគាល់៖ ការលុបលេខសំងាត់ព្រមទាំងដេាះសោរសំងាត់"
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "ធាតុនៃលេខសម្ងាត់ខូច ។"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "លេខសម្ងាត់ទទេរ ។"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "លេខសម្ងាត់ត្រូវបានចាក់សោរ"
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "កំណត់លេខសម្ងាត់, MD5 គ្រីប ។"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "ការកំណត់លេខសម្ងាត់, blowfish គ្រីប ។"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "ការកំណត់លេខសម្ងាត់, SHA256 គ្រីប ។"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "ការកំណត់លេខសម្ងាត់, SHA512 គ្រីប ។"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "ការកំណត់លេខសម្ងាត់, មិនស្គាល់ គ្រីប វ៉ារ្យ៉ង់ ។"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "ជំនួសការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវចម្រុះក្នុងការប្រើប្រាស់ ។"
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "ការកំណត់លេខសម្ងាត់, DES គ្រីប ។"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "គ្មានលេខសម្ងាត់ត្រូវបានកំណត់ ។\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "មិនស្គាល់អ្នកប្រើប្រាស់ ។\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: គណនីយអ្នកប្រើប្រាស់គ្មានការគាំទ្រសម្រាប់លេខសម្ងាត់ចាស់ ។\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "ត្រូវរក្សាមិនឱ្យផុតកំំណត់នូវការផ្ទៀតផ្ទាត់ដែលត្រូវទទួលយក"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
-"ការលុបលេខសម្ងាត់សម្រាប់ឈ្មោះគណនីយ (តែ root ប៉ុនោះ); "
-"វានឹងលុបលេខសម្ងាត់ចាក់សោផងដែរប្រសិនបើមាន "
+"ការលុបលេខសម្ងាត់សម្រាប់ឈ្មោះគណនីយ (តែ root ប៉ុនោះ); វានឹងលុបលេខសម្ងាត់ចាក់សោផងដែរប្រសិនបើមាន "
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr " ការចាក់សោលេខសម្ងាត់សម្រាប់ឈ្មោះគណនីយ  (តែ root ប៉ុនោះ)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "ការដោះសោលេខសម្ងាត់សម្រាប់ឈ្មោះគណនីយ (តែ root ប៉ុនោះ)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "លេខសម្ងាត់ផុតកំណត់សម្រាប់ឈ្មោះគណនីយ (តែ root ប៉ុនោះ)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "បង្ខំឱ្យមានប្រតិបត្ដិការ"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "លេខសម្ងាត់អតិបរមាជារៀងរហូត (តែ root ប៉ុនោះ)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "លេខសម្ងាត់អប្បរមាជារៀងរហូត (តែ root ប៉ុនោះ)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
-msgstr ""
-"ចំនួនថ្ងៃព្រមានអ្នកប្រើប្រាស់ទទួលមុនពេលលេខសម្ងាត់ផុតកំណត់ (តែ root ប៉ុនោះ)"
+msgstr "ចំនួនថ្ងៃព្រមានអ្នកប្រើប្រាស់ទទួលមុនពេលលេខសម្ងាត់ផុតកំណត់ (តែ root ប៉ុនោះ)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
-msgstr ""
-"ចំនួនថ្ងៃបន្ទាប់ពីលេខសម្ងាត់ផុតកំណត់ នៅពេលគណនីយត្រូវបានបិទ (តែ root ប៉ុនោះ)"
+msgstr "ចំនួនថ្ងៃបន្ទាប់ពីលេខសម្ងាត់ផុតកំណត់ នៅពេលគណនីយត្រូវបានបិទ (តែ root ប៉ុនោះ)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "របាយការណ៍ស្ថានភាពលេខសម្ងាត់ នៅលើឈ្មោះគណនីយ (តែ root ប៉ុនោះ)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "អានការទទួលយកថ្មីពី stdin (តែ root ប៉ុនោះ)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ជំរើស...]<ឈ្មោះគណនីយ>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: អាគុយម៉ង់អាក្រក់ %s:%s "
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: មានតែមួយប៉ុនោះនៃ -l, -u, -d, -S ប្រហែលជាបានបញ្ចក់ ។"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: មិនអាចលាយចូលគ្នានូវ -l, -u, -d, -S និង -i, -n, -w, -x ។\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "មានតែ root  ប៉ុនោះដែលអាចធ្វើរឿងនេះបាន ។\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: មានតែ root ប៉ុនោះដែលអាចបញ្ចក់ឈ្មោះអ្នកប្រើប្រាស់ ។\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: ឈ្មោះអ្នកប្រើប្រាស់ដែលបានផ្ដល់ឱ្យមានវែងពេក ។\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: មានតែឈ្មោះអ្នកប្រើប្រាស់ម្នាក់ប៉ុនោះដែលបានបញ្ចក់ ។\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: ជំរើសនេះត្រូវការឈ្មោះអ្នកប្រើប្រាស់ ។\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: មិនអាចកំណត់អត្តសញ្ញាណអ្នក!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: មិនស្គាល់ឈ្មោះអ្នកប្រើប្រាស់ '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux បដិសេខការចូលដំណើរការ មូលហេតុគោលការណ៍សន្ដិសុខ ។\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "កំពុងចាក់សោលេខសម្ងាត់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "ជោគជ័យ"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "កំហុស (លេខសម្ងាត់មិនបានកំណត់?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "កំពុងដោះសោលេខសម្ងាត់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "ប្រតិបត្ដិការមិនមានសុវត្ថិភាព (ប្រើប្រាស់ -f ដើម្បីបង្ខំ)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "លេខសម្ងាត់កំពុងផុតកំណត់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "មានកំហុស"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "កំពុងលុបលេខសម្ងាត់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "កែសម្រួលទិន្នន័យចាស់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "កំពុងផ្លាស់ប្ដូរលេខសម្ងាត់សម្រាប់អ្នកប្រើប្រាស់ %s ។\n"
@@ -250,28 +253,32 @@ msgstr "កំពុងផ្លាស់ប្ដូរលេខសម្ងា
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: កំហុសកំពុងអានពី stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: មិនអាចចាប់ផ្ដើម pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: មិនអាចកំណត់ tty សម្រាប់ pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: មិនអាចពន្យាពេលកំណត់ការបរាជ័យ : %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
-msgstr ""
-"%s: ផុតកំណត់ការផ្ទៀងផ្ទាត់ត្រឹមត្រូវ ទទួលយកការធ្វើឱ្យទាន់សម័យបានជោគជ័យ ។\n"
+msgstr "%s: ផុតកំណត់ការផ្ទៀងផ្ទាត់ត្រឹមត្រូវ ទទួលយកការធ្វើឱ្យទាន់សម័យបានជោគជ័យ ។\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: ការផ្ទៀតផ្ទាត់ត្រឹមត្រូវ ទទួលយកធ្វើឱ្យទាន់សម័យបានជោគជ័យ ។\n"
diff --git a/po/ko.po b/po/ko.po
index bbf1645..bd67745 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2021-04-04 05:01+0000\n"
 "Last-Translator: simmon <simmon@nplob.com>\n"
 "Language-Team: Korean <https://translate.fedoraproject.org/projects/passwd/"
@@ -81,7 +81,9 @@ msgstr "비밀번호가 설정되어 있습니다, DES 암호화."
 msgid ""
 "There is a password information set in /etc/shadow, but the password field "
 "in /etc/passwd is empty."
-msgstr "/etc/shadow에 비밀번호 정보 설정이 있으며, /etc/passwd에 있는 비밀번호 부분은 비워져 있습니다."
+msgstr ""
+"/etc/shadow에 비밀번호 정보 설정이 있으며, /etc/passwd에 있는 비밀번호 부분"
+"은 비워져 있습니다."
 
 #: libuser.c:335
 #, c-format
@@ -106,7 +108,9 @@ msgstr "만기되지 않는 인증 토큰 사용"
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
-msgstr "이름이 지정된 계정의 비밀 번호를 삭제하기 (root로만 실행 가능); 존재하는 비밀번호 잠금도 해제됩니다"
+msgstr ""
+"이름이 지정된 계정의 비밀 번호를 삭제하기 (root로만 실행 가능); 존재하는 비밀"
+"번호 잠금도 해제됩니다"
 
 #: passwd.c:162
 msgid "lock the password for the named account (root only)"
diff --git a/po/lt.po b/po/lt.po
index 4cbcc89..d222170 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -3,17 +3,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2018-10-08 07:15-0400\n"
 "Last-Translator: Moo <hazap@hotmail.com>\n"
 "Language-Team: Lithuanian\n"
 "Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\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"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2)\n"
 
 #: libuser.c:91
 #, c-format
@@ -28,215 +28,221 @@ msgstr "Įspėjimas: atrakintas slaptažodis būtų tuščias."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Pastaba: slaptažodžio ištrynimas tuo pačiu atrakina slaptažodį."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Pažeistas passwd įrašas."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Tuščias slaptažodis."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Slaptažodis užrakintas."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr ""
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr ""
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr ""
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr ""
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr ""
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr ""
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr ""
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nenustatytas joks slaptažodis.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Nežinomas naudotojas.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr ""
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr ""
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr ""
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr ""
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr ""
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr ""
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr ""
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr ""
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr ""
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr ""
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr ""
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr ""
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr ""
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr ""
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr ""
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr ""
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr ""
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr ""
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr ""
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr ""
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr ""
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr ""
@@ -246,27 +252,32 @@ msgstr ""
 msgid "%s: error reading from stdin: %s\n"
 msgstr ""
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr ""
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr ""
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr ""
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/or.po b/po/or.po
index af41a73..2438b2a 100644
--- a/po/or.po
+++ b/po/or.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Manoj Kumar Giri <mgiri@redhat.com>, 2009
@@ -10,15 +10,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:35-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
-"Language-Team: Oriya (http://www.transifex.com/projects/p/fedora/language/or/"
-")\n"
+"Language-Team: Oriya (http://www.transifex.com/projects/p/fedora/language/"
+"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: Zanata 4.6.2\n"
 
@@ -35,220 +35,223 @@ msgstr "ଚେତାବନୀ: ତାଲା ଦିଆଯାଇ ନ ଥିବା 
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "ତୃଟିଯୁକ୍ତ ପ୍ରବେଶ ସଙ୍କେତ ପ୍ରବିଷ୍ଟି"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "ଖାଲି ପ୍ରବେଶ ସଙ୍କେତ।"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତକୁ ତାଲା ଦେଇ ରଖାଯାଇଛି।"
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ବିନ୍ଯାସ କରନ୍ତୁ, MD5 ଗୋପନୀୟତା"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ବିନ୍ଯାସ କରନ୍ତୁ, blowfish ଗୋପନୀୟତା"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ସେଟ, SHA256 ଗୋପନୀୟତା।"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ସେଟ, SHA512 ଗୋପନୀୟତା।"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ବିନ୍ଯାସ କରନ୍ତୁ, ଅଜଣା ଗୋପନୀୟତା ଚଳ"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "ବ୍ଯବହୃତ ପର୍ଯ୍ଯାୟକ୍ରମିକ ବୈଧିକରଣ ବିବରଣିକା।"
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "ପ୍ରବେଶ ସଙ୍କେତ ବିନ୍ଯାସ କରନ୍ତୁ, DES ଗୋପନୀୟତା"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "କୌଣସି ପ୍ରବେଶ ସଙ୍କେତ ବିନ୍ଯାସ କରାଯାଇ ନାହିଁ।\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "ଅଜଣା ଚାଳକ।\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: ଚାଳକ ହିସାବ ଖାତାରେ ପ୍ରବେଶ ସଙ୍କେତ ବର୍ଦ୍ଧନ ପାଇଁ କୌଣସି ସମର୍ଥନ ନାହିଁ।\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "ଅକାମି ହୋଇ ନ ଥିବା ବୈଧିକରଣ ଟୋକେନ ମାନଙ୍କୁ ରଖନ୍ତୁ"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "ବଳପୂର୍ବକ କାର୍ଯ୍ଯ"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "ସର୍ବାଧିକ ପ୍ରବେଶ ସଙ୍କେତ ଆୟୁକାଳ (କେବଳ ରୁଟ)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "ସର୍ବନିମ୍ନ ପ୍ରବେଶ ସଙ୍କେତ ଆୟୁକାଳ (କେବଳ ରୁଟ)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପୂର୍ବରୁ କେତେ ଦିନ ପର୍ଯ୍ଯନ୍ତ ଚାଳକ ଚେତାବନୀ ପ୍ରାପ୍ତ "
-"କରିବ (କେବଳ ରୁଟ)"
+"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପୂର୍ବରୁ କେତେ ଦିନ ପର୍ଯ୍ଯନ୍ତ ଚାଳକ ଚେତାବନୀ ପ୍ରାପ୍ତ କରିବ (କେବଳ ରୁଟ)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
-msgstr ""
-"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପରେ କେତେ ଦିନ ପରେ ଖାତାଟି ନିଷ୍କ୍ରିୟ ହୋଇଯିବ (କେବଳ ରୁଟ)"
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପରେ କେତେ ଦିନ ପରେ ଖାତାଟି ନିଷ୍କ୍ରିୟ ହୋଇଯିବ (କେବଳ ରୁଟ)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "ନାମିତ ଖାତାରେ ପ୍ରବେଶ ସଙ୍କେତର ସ୍ଥିତକୁ ଦାଖଲ ଜଣାନ୍ତୁ (କେବଳ ରୁଟ)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "stdin ରୁ ନୂତନ ଟୋକେନ ମାନଙ୍କୁ ପଢନ୍ତୁ (କେବଳ ରୁଟ)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ବିକଳ୍ପ...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: ଖରାପ ସ୍ବତନ୍ତ୍ରଚର %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: -l, -u, -d, -S ମଧ୍ଯରୁ କେବଳ ଗୋଟିଏ ବିକଳ୍ପକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରିହେବ।\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
-"%s: -l, -u, -d, -S ମଧ୍ଯରୁ ଗୋଟିଏ ଏବଂ  -i, -n, -w, -x ମଧ୍ଯରୁ ଗୋଟିଏକୁ ମିଶାଇ ହେବ "
-"ନାହିଁ।\n"
+"%s: -l, -u, -d, -S ମଧ୍ଯରୁ ଗୋଟିଏ ଏବଂ  -i, -n, -w, -x ମଧ୍ଯରୁ ଗୋଟିଏକୁ ମିଶାଇ ହେବ ନାହିଁ।\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "କେବଳ ରୁଟ ତାହା କରିପାରିବ।\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: କେବଳ ରୁଟ ଗୋଟିଏ ଚାଳକ ନାମ ନିର୍ଦ୍ଦିଷ୍ଟ କରିପାରିବ।\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: ଉଲ୍ଲେଖ କରାଯାଇଥିବା ଚାଳକ ନାମଟି ଖୁବ ବଡ ଅଟେ।\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: କେବଳ ଗୋଟିଏ ଚାଳକ ନାମ ଉଲ୍ଲେଖ କରାଯିବା ଉଚିତ।\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: ଏହି ବିକଳ୍ପ ଗୋଟିଏ ଚାଳକ ନାମ ଆବଶ୍ଯକ କରିଥାଏ।\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: ଆପଣଙ୍କୁ ଚିହ୍ନି ପାରିବ ନାହିଁ!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: ଅଜଣା ଚାଳକ ନାମ '%s'।\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "%s ଚାଳକ ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ ତାଲା ଦେଇ ରଖୁଛି।\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "ସଫଳତା"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "ତୃଟି (ପ୍ରବେଶ ସଙ୍କେତକୁ ବିନ୍ଯାସ କରାଯାଇ ନାହିଁ?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "%s ଚାଳକ ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତର ତାଲା ଖୋଲୁଅଛି।\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "ଅସୁରକ୍ଷିତ କାର୍ଯ୍ଯ (ବାଧ୍ଯ କରିବା ପାଇଁ -f ବ୍ଯବହାର କରନ୍ତୁ)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "ତୃଟି"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "%s ଚାଳକ ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ ଅପସାରଣ କରୁଅଛି।\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "%s ଚାଳକ ପାଇଁ ବର୍ଦ୍ଧିତ ତଥ୍ଯକୁ ନିୟନ୍ତ୍ରଣ କରୁଅଛି।\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "%s ଚାଳକ ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଉଛି।\n"
@@ -258,28 +261,32 @@ msgstr "%s ଚାଳକ ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: stdin ରୁ ପଢିବା ସମୟରେ ତୃଟି: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: pam କୁ ପ୍ରାରମ୍ଭ କରିବାରେ ଅସମର୍ଥ: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: pam ପାଇଁ tty ବିନ୍ଯାସ କରିବାରେ ଅସମର୍ଥ: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: ବିଫଳ ବିଳମ୍ବତା ବିନ୍ଯାସ କରିବାରେ ଅସମର୍ଥ: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
-msgstr ""
-"%s: ଅକାମ ହୋଇଯାଇଥିବା ବୈଧିକୃତ ଟୋକେନ ମାନଙ୍କୁ ସଫଳତାର ସହିତ ଅଦ୍ଯତିତ କରାଯାଇଛି।\n"
+msgstr "%s: ଅକାମ ହୋଇଯାଇଥିବା ବୈଧିକୃତ ଟୋକେନ ମାନଙ୍କୁ ସଫଳତାର ସହିତ ଅଦ୍ଯତିତ କରାଯାଇଛି।\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: ସମସ୍ତ ବୈଧିକୃତ ଟୋକେନ ମାନଙ୍କୁ ସଫଳତାର ସହିତ ଅଦ୍ଯତିତ କରାଯାଇଛି।\n"
diff --git a/po/pa.po b/po/pa.po
index 9e9588f..9ffbd52 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2020-12-21 07:35+0000\n"
 "Last-Translator: A S Alam <amanpreet.alam@gmail.com>\n"
 "Language-Team: Punjabi <https://translate.fedoraproject.org/projects/passwd/"
@@ -37,219 +37,223 @@ msgstr "ਚੇਤਾਵਨੀ: ਖੋਲ੍ਹਣ ਪਾਸਵਰਡ ਖਾਲ�
 msgid "Note: deleting a password also unlocks the password."
 msgstr "ਨੋਟ: ਪਾਸਵਰਡ ਹਟਾਉਣ ਨਾਲ ਪਾਸਵਰਡ ਅਣ-ਲਾਕ ਵੀ ਹੁੰਦਾ ਹੈ।"
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "ਨਿਕਾਰਾ ਪਾਸਵਰਡ ਐਂਟਰੀ ਹੈ।"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "ਖਾਲੀ ਪਾਸਵਰਡ"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "ਪਾਸਵਰਡ ਲਾਕ ਹੈ।"
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, MD੫ ਇੰਕ੍ਰਿਪਟ"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, blowfish ਇੰਕ੍ਰਿਪਟ"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "ਪਾਸਵਰਡ ਸੈੱਟ, SHA੨੫੬ ਕ੍ਰਿਪਟ।"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "ਪਾਸਵਰਡ ਸੈੱਟ, SHA੫੧੨ ਕ੍ਰਿਪਟ।"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, ਅਣਜਾਣ ਇੰਕ੍ਰਿਪਟ ਗੁਣ ਹੈ।"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "ਬਦਲਵਾਂ ਪਰਮਾਣਕਿਤਾ ਸਕੀਮ ਵਰਤੀ ਗਈ ਹੈ।"
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ DES ਦਿੱਤਾ"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "ਕੋਈ ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ।\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "ਅਣਪਛਾਤਾ ਵਰਤੋਂਕਾਰ।"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s ਵਰਤੋਂਕਾਰ ਅਕਾਊਂਟ ਪਾਸਵਰਡ ਉਮਰ ਨਾਲ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "ਨਾ-ਮਿਆਦ ਪੱਗੇ ਪਰਮਾਣਿਕਤਾ ਟੋਕਣ ਰੱਖੋ"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
-msgstr ""
-"ਖਾਸ ਖਾਤੇ (ਸਿਰਫ਼ ਰੂਟ) ਲਈ ਪਾਸਵਰਡ ਹਟਾਓ; ਜੇ ਕੋਈ ਪਾਸਵਰਡ ਲਾਕ ਹੋਵੇ ਤਾਂ ਉਹ ਵੀ ਹਟਾਓ"
+msgstr "ਖਾਸ ਖਾਤੇ (ਸਿਰਫ਼ ਰੂਟ) ਲਈ ਪਾਸਵਰਡ ਹਟਾਓ; ਜੇ ਕੋਈ ਪਾਸਵਰਡ ਲਾਕ ਹੋਵੇ ਤਾਂ ਉਹ ਵੀ ਹਟਾਓ"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "ਖਾਸ ਖਾਤੇ (ਸਿਰਫ਼ ਰੂਟ) ਲਈ ਪਾਸਵਰਡ ਲਾਕ ਕਰੋ"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "ਨਾਮੀ ਅਕਾਊਂਟ ਲਈ ਪਾਸਵਰਡ ਅਣਲਾਕ ਕਰੋ (root ਲਈ)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "ਖਾਸ ਖਾਤੇ (ਸਿਰਫ਼ ਰੂਟ) ਲਈ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗੀ"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "ਧੱਕੇ ਨਾਲ"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਪਾਸਵਰਡ ਉਮਰ (root ਹੀ)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "ਘੱਟੋ-ਘੱਟ ਪਾਸਵਰਡ ਉਮਰ  (root ਹੀ)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
-msgstr ""
-"ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗਣ (root ਲਈ) ਤੋਂ ਪਹਿਲਾਂ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਚੇਤਾਵਨੀ ਦੇਣ ਲਈ ਦਿਨ"
+msgstr "ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗਣ (root ਲਈ) ਤੋਂ ਪਹਿਲਾਂ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਚੇਤਾਵਨੀ ਦੇਣ ਲਈ ਦਿਨ"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr "ਅਕਾਊਂਟ ਬੰਦ ਕਰਨ (ਸਿਰਫ਼ root) ਲਈ ਮਿਆਦ ਪੁੱਗਣ ਬਾਰੇ ਦਿਨ ਬਾਰੇ ਦੱਸ ਜੀ"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "ਨਾਮੀ ਅਕਾਊਂਟ (root ਲਈ) ਲਈ ਪਾਸਵਰਡ ਹਾਲਤ ਰਿਪੋਰਟ ਕਰੋ"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "stdin (root only) ਤੋਂ ਨਵੇਂ ਟੋਕਨ ਪੜ੍ਹੋ"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPTION...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: ਗਲਤ ਮੁੱਲ %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: -l, -u, -d, -S ਵਿੱਚੋਂ ਕੇਵਲ ਇੱਕ ਹੀ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
-"%s:  -l, -u, -d, -S ਵਿੱਚੋਂ ਕੋਈ ਇੱਕ ਤੇ -i, -n, -w, -x ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਮਿਲਾ"
-"ਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ\n"
+"%s:  -l, -u, -d, -S ਵਿੱਚੋਂ ਕੋਈ ਇੱਕ ਤੇ -i, -n, -w, -x ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਮਿਲਾਇਆ ਨਹੀਂ ਜਾ "
+"ਸਕਦਾ\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "ਸਿਰਫ root ਹੀ ਕਰ ਸਕਦਾ ਹੈ।\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: root ਹੀ ਵਰਤੋਂਕਾਰ ਨਾਂ ਦੇ ਸਕਦਾ ਹੈ।\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: ਵਰਤੋਂਕਾਰ ਨਾਂ ਬਹੁਤ ਲੰਮਾ ਹੈ।\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: ਸਿਰਫ਼ ਵਰਤੋਂਕਾਰ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: ਵਰਤੋਂਕਾਰ ਨਾਂ ਨਾਲ ਇਹ ਚੋਣ ਲੋੜੀਦੀ ਹੈ।\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: ਤੁਹਾਨੂੰ ਪਛਾਣ ਨਹੀਂ ਦੇ ਸਕਦਾ!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: ਅਣਪਛਾਤਾ ਵਰਤੋਂਕਾਰ ਨਾਂ '%s' ਹੈ।\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux ਨੇ ਸੁਰੱਖਿਆ ਪਾਲਸੀ ਕਰਕੇ ਪਹੁੰਚ ਉੱਤੇ ਰੋਕ ਲਾਈ।\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "ਵਰਤੋਂਕਾਰ %s ਲਈ ਪਾਸਵਰਡ ਲਾਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "ਕਾਮਯਾਬ ਹੈ"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "ਗਲਤੀ (ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "%s ਵਰਤੋਂਕਾਰ ਲਈ ਲਾਕ ਖੋਲ੍ਹਿਆ ਜਾਂਦਾ ਹੈ।\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "ਅਸੁਰੱਖਿਅਤ ਕਾਰਵਾਈ (ਧੱਕੇ ਲਈ -f ਵਰਤੋਂ)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "ਵਰਤੋਂਕਾਰ %s ਲਈ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗ ਰਹੀ ਹੈ।"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "ਗਲਤੀ"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "ਵਰਤੋਂਕਾਰ %s ਲਈ ਪਾਸਵਰਡ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ।\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "%s ਵਰਤੋਂਕਾਰ ਉਮਰ ਡਾਟਾ ਠੀਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "%s ਲਈ ਪਾਸਵਰਡ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ।\n"
@@ -259,27 +263,32 @@ msgstr "%s ਲਈ ਪਾਸਵਰਡ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ�
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: stdin ਤੋਂ ਪੜ੍ਹਨ ਲਈ ਅਸਫ਼ਲ: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: ਪੈਮ ਸੁਰੂ ਕਰਨ ਲਈ ਫੇਲ੍ਹ: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: pam ਲਈ tty ਦੇਣ ਲਈ ਫੇਲ੍ਹ: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: ਫੇਲ੍ਹ ਅੰਤਰਾਲ ਦੇਣ ਲਈ ਅਸਫ਼ਲ: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s ਮਿਆਦ ਪੁੱਗੇ ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ।\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: ਸਭ ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ ਹਨ\n"
diff --git a/po/pl.po b/po/pl.po
index fa4f2b9..e280bc7 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Piotr Drąg <piotrdrag@gmail.com>, 2006, 2012
 # Piotr Drąg <piotrdrag@gmail.com>, 2015. #zanata
@@ -10,14 +10,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2016-09-01 09:22-0400\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\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: Zanata 4.6.2\n"
@@ -35,66 +35,72 @@ msgstr "Ostrzeżenie: niezablokowane hasło może być puste."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Uwaga: usunięcie hasła spowoduje także jego odblokowanie."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Uszkodzony wpis passwd."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Puste hasło."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Hasło jest zablokowane."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Hasło zostało ustawione, szyfrowane MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Hasło zostało ustawione, szyfrowane blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Hasło zostało ustawione, szyfrowane SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Hasło zostało ustawione, szyfrowane SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Hasło zostało ustawione, nieznany wariant szyfrowania."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Używany jest alternatywny schemat uwierzytelniania."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Hasło zostało ustawione, szyfrowane DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nie ustawiono hasła.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Nieznany użytkownik.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: konto użytkownika nie obsługuje wygasania hasła.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "zatrzymuje niewygasłe tokeny uwierzytelniania"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -102,154 +108,154 @@ msgstr ""
 "usuwa hasło dla danego konta (tylko root); usuwa także blokadę hasła, jeśli "
 "taka istnieje"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "zablokowuje hasło danego konta (tylko root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "odblokowuje hasło danego konta (tylko root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "wygasza hasło dla danego konta (tylko root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "wymusza działanie"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "maksymalny czas ważności hasła (tylko root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "minimalny czas ważności hasła (tylko root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "liczba dni ostrzegania użytkownika przed wygaśnięciem hasła (tylko root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 "liczba dni po wygaśnięciu hasła, kiedy konto zostanie wyłączone (tylko root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "zgłasza stan hasła dla danego konta (tylko root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "odczytuje nowe tokeny ze standardowego wejścia (tylko root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPCJA…] <nazwaKonta>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: błędny parametr %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: może być podany tylko jeden z -l, -u, -d lub -S.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: nie można łączyć jednego z -l, -u, -d i -S oraz jednego z -i, -n, -w i -"
 "x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Tylko root może to zrobić.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: tylko root może podać nazwę konta.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: podana nazwa użytkownika jest za długa.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: może zostać podana tylko jedna nazwa użytkownika.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: ta opcja wymaga nazwy użytkownika.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: nie można zidentyfikować użytkownika.\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: nieznana nazwa użytkownika „%s”.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux odmawia dostępu z powodu polityki bezpieczeństwa.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Blokowanie hasła użytkownika %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Powodzenie"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Błąd (hasło nie jest ustawione?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Odblokowywanie hasła użytkownika %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Niebezpieczne działanie (użycie -f wymusza)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Wygaszanie hasła użytkownika %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Błąd"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Usuwanie hasła użytkownika %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Przystosowywanie danych wygasania użytkownika %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Zmienianie hasła użytkownika %s.\n"
@@ -259,27 +265,32 @@ msgstr "Zmienianie hasła użytkownika %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: błąd podczas odczytywania ze standardowego wejścia: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: nie można uruchomić PAM: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: nie można ustawić TTY dla PAM: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: nie można ustawić opóźnienia odmowy: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: zaktualizowanie wygasłych tokenów uwierzytelniania się powiodło.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/pt.po b/po/pt.po
index 55c3373..f4957b6 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Rui Gouveia <rui.gouveia@gmail.com>, 2012
@@ -10,14 +10,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2019-08-23 11:14-0400\n"
 "Last-Translator: Manuela Silva <mmsrs@sky.com>\n"
 "Language-Team: Portuguese <trans-pt@lists.fedoraproject.org>\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: Zanata 4.6.2\n"
 
@@ -34,67 +34,73 @@ msgstr "Aviso: a palavra-passe desbloqueada ficaria em branco."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Nota: eliminar uma palavra-passe também desbloqueia a palavra-passe."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "componente da palavra-passe corrompido."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Palavra-passe em branco."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Palavra-passe bloqueada."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Palavra-passe definida, cripta MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Palavra-passe definida, cripta blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Palavra-passe definida, cripta SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Palavra-passe definida, cripta SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Palavra-passe definida, variante de cripta desconhecida."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Esquema de autenticação alternativo em utilização."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Palavra-passe definida, cripta DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nenhuma palavra-passe definida.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Utilizador desconhecido.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
 "%s: a conta do utilizador não tem suporte para prazos de palavras-passe.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "manter os códigos de autenticação não expirados"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -102,38 +108,38 @@ msgstr ""
 "eliminar a palavra-passe para a conta nomeada (apenas \"root\"); também "
 "remove o bloqueio da palavra-passe, se qualquer"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "bloquear a palavra-passe para a conta nomeada (apenas \"root\")"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "desbloquear a palavra-passe para a conta nomeada (apenas \"root\")"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "Expirar a palavra-passe para a conta nomeada (apenas \"root\")"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "forçar a operação"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "tempo de vida máximo da palavra-passe (apenas com \"root\")"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "tempo de vida mínimo da palavra-passe (apenas com \"root\")"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "número de dias de aviso que os utilizadores recebem antes da expiração da "
 "palavra-passe (apenas com \"root\")"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -141,116 +147,116 @@ msgstr ""
 "número de dias depois da expiração da palavra-passe quando uma conta passa a "
 "desativada (apenas com \"root\")"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 "devolver o estado a palavra-passe na conta nomeada (apenas com \"root\")"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "ler os novos códigos de stdin (apenas com \"root\")"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPÇÂO...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: argumento inválido %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: só poderá indicar uma das opções -l, -u, -d, -S.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: não pode misturar uma de -l, -u, -d, -S e uma de -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Só pode fazer isso como \"root\".\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: só o \"root\" pod especificar um nome de utilizador.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: o nome de utilizador indicado é muito grande.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: só poderá especificar um nome de utilizador.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: esta opção requer um nome de utilizador.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: não é possível identificá-lo!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: o nome de utilizador '%s' é desconhecido.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux a negar acesso devido à politica de segurança.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "A bloquear a palavra-passe para o utilizador %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Sucesso"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Erro (palavra-passe não definida?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "A desbloquear a palavra-passe para o utilizador %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operação insegura (utilize o '-f' para forçar)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "A expirar palavra-passe para o utilizador %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Erro"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "A remover a palavra-passe para o utilizador %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "A ajustar os dados de prazos para o utilizador %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "A alterar a palavra-passe para o utilizador %s.\n"
@@ -260,28 +266,33 @@ msgstr "A alterar a palavra-passe para o utilizador %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: erro ao ler do 'stdin': %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: não é possível iniciar pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: não é possível atribuir tty para pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: não é possível definir o atraso entre falhas: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 "%s: os itens de autenticação expirados foram atualizados com sucesso.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: todos os itens de autenticação foram atualizados com sucesso.\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f61b944..4274e64 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2020-12-09 20:36+0000\n"
 "Last-Translator: Henrique Roberto Gattermann Mittelstaedt <henrique."
 "roberto97@gmail.com>\n"
@@ -38,66 +38,72 @@ msgstr "Aviso: a senha desbloqueada ficaria vazia."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Nota: excluir uma senha também destrava a senha."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Entrada de senha corrompida."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Senha vazia."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Senha bloqueada."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Definição de senha, criptografia MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Definição de senha, criptografia blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Definição de senha, criptografia SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Definição de senha, criptografia SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Definição de senha, variação desconhecida de criptografia."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Alternar esquema de autenticação em uso."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Definição de senha, criptografia DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Sem definição de senha.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Usuário desconhecido.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: a conta do usuário não tem suporte à expiração de senha.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "manter tokens de autenticação não-expirados"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -105,38 +111,38 @@ msgstr ""
 "excluir a senha para a conta chamada (somente root); também remove a senha "
 "de bloqueio se houver"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "Bloqueando a senha para a conta escolhida ( somente para o root )"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "desbloqueia a senha para a conta escolhida (somente para o root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "expira a senha para a conta escolhida (somente para o root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "forçar operação"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "tempo máximo de vida útil da senha (somente root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "tempo mínimo de vida útil da senha (somente root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "número de dias para avisar o usuário antes da expiração da senha (somente "
 "root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -144,115 +150,115 @@ msgstr ""
 "número de dias após a expiração da senha para que a conta se torne "
 "desabilitada (somente root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "reportar status da senha na conta mencionada (somente root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "ler novos tokens a partir do stdin (somente root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPÇÃO...] <Nome_da_conta>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: argumento inválido %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Apenas um -l, -u, -d, - S pode ser especificado.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: Não é possível misturar um -l, -u, -d, -S e um -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Apenas o root pode fazer isso.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Somente o root pode especificar um nome de usuário.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: O nome de usuário fornecido é muito longo.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Somente um nome de usuário pode ser especificado.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Esta opção requer um nome de usuário.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Não foi possível identificar você!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Nome de usuário \"%s\" desconhecido.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux negando acesso por uma política de segurança. \n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Bloqueando senha para o usuário %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Sucesso"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Erro (senha não definida?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Desbloqueando senha para o usuário %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operação insegura (use -f para forçar)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Expirando a senha para o usuário %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Erro"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Removendo senha para o usuário %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Ajustando dados de expiração para o usuário %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Mudando senha para o usuário %s.\n"
@@ -262,27 +268,32 @@ msgstr "Mudando senha para o usuário %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: erro ao ler do stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: não foi possível iniciar o pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: não foi possível definir um tty para o pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: não foi possível definir o atraso de falha: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: tokens de autenticações expiradas atualizados com sucesso.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: todos os tokens de autenticações foram atualizados com sucesso.\n"
diff --git a/po/ro.po b/po/ro.po
index f12d626..dd13182 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2020-12-26 07:36+0000\n"
 "Last-Translator: Vlad <milovlad@outlook.com>\n"
 "Language-Team: Romanian <https://translate.fedoraproject.org/projects/passwd/"
@@ -37,66 +37,72 @@ msgstr "Avertisment: parola deblocată va fi goală."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Notă: ștergerea unei parolei o deblochează."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Câmpul conține parolă coruptă."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Parolă goală."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Parolă blocată."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Parolă setată, criptare MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Parolă setată, criptare blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Parolă setată, criptare SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Parolă setată, criptare SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Parolă setată, tip de criptare necunoscut."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Schemă alternativă de autentificare în folosinţă."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Parolă setată, criptare DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nicio parolă setată.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Utilizator necunoscut.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: contul utilizatorului nu are suport pentru expirarea parolei.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "păstrează caracteristicile de autentificare neexpirate"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -104,38 +110,39 @@ msgstr ""
 "ștergeți parola pentru contul ales (doar de către administrator); de "
 "asemenea se elimină blocarea parolei"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "blocați parola pentru contul specificat (doar de către administrator)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
-msgstr "deblocați parola pentru contul specificat (doar de către administrator)"
+msgstr ""
+"deblocați parola pentru contul specificat (doar de către administrator)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "expirați parola pentru contul specificat (doar de către administrator)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "forţează operaţie"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "durata maximă a parolei (doar de către administrator)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "durata minimă a parolei (doar de către administrator)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"numărul de zile până când utilizatorii sunt avertizați că parola expiră ("
-"doar de către administrator)"
+"numărul de zile până când utilizatorii sunt avertizați că parola expiră "
+"(doar de către administrator)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -143,115 +150,115 @@ msgstr ""
 "numărul de zile de la expirarea parolei când un cont devine dezactivat (doar "
 "de către administrator)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "raportează starea parolei pentru un cont (doar de către administrator)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "citeşte simboluri noi din stdin (doar de către administrator)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[opţiune...] <numeCont>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: argumente incorecte %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Numai unul din -l, -u, -d, -S poate fi specificat.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: Nu se pot amesteca -l, -u, -d, -S cu unul din -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Numai administratorul poate face asta.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Numai administratorul poate specifica un nume de utilizator.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Numele de utilizator furnizat este prea lung.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Poate fi specificat numai un nume de utilizator.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Această opţiune necesită un nume de utilizator.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Nu te pot identifica!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Nume de utilizator necunoscut '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux interzice accesul din cauza politicii de securitate.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Blochez parola pentru utilizatorul %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Succes"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Eroare (parola nu este setată?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Deblochez parola pentru utilizatorul %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operaţiune nesigură (folosiţi -f pentru a forţa)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Expiră parola pentru utilizatorul %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Eroare"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Elimin parola pentru utilizatorul %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Ajustez data de expirare pentru utilizatorul %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Schimb parola pentru utilizatorul %s.\n"
@@ -261,28 +268,33 @@ msgstr "Schimb parola pentru utilizatorul %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: eroare la citirea din stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: nu pot porni pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: nu pot seta tty pentru pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: nu pot seta durata de întârziere a erorii: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 "%s: caracteristicile de autentificare expirate sunt actualizate cu succes.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr ""
diff --git a/po/ru.po b/po/ru.po
index f797f86..02aab5f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Andrew Martynov <andrewm@inventa.ru>, 2006
 # Automatically generated, 2006
@@ -14,16 +14,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2016-03-29 08:21-0400\n"
 "Last-Translator: yuliya <ypoyarko@redhat.com>\n"
 "Language-Team: Russian <trans-ru@lists.fedoraproject.org>\n"
 "Language: ru\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"
+"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 4.6.2\n"
 
 #: libuser.c:91
@@ -39,103 +39,109 @@ msgstr "Предупреждение. После разблокирования 
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Примечание. Удаление пароля вызовет его разблокирование."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Поврежденная запись в passwd."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Пустой пароль."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Пароль заблокирован."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Пароль задан, шифр MD5"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Пароль задан, шифр blowfish"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Пароль задан, шифр SHA256"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Пароль задан, шифр SHA512"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Пароль задан, шифр неизвестен"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Используется альтернативная схема проверки подлинности."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Пароль задан, шифр DES"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Пароль не задан\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Неизвестный пользователь.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: учетная запись не поддерживает устаревание пароля.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "хранить действующие данные авторизации (пароли)"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr "удалить пароль, сняв блокировку (только root) "
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "заблокировать пароль пользователя (только root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "разблокировать пароль пользователя (только root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "просрочить пароль пользователя (только root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "принудительное выполнение"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "максимальный срок действия пароля (только root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "минимальный срок действия пароля (только root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "период предупреждений (в днях) до окончания срока действия пароля (только "
 "root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -143,118 +149,118 @@ msgstr ""
 "период ожидания после окончания действия пароля, по истечении которого "
 "учетная запись будет заблокирована (только root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "сообщить состояние пароля для пользователя (только root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "получить новое значение из stdin (только root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ПАРАМЕТРЫ...] <пользователь>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: неверный аргумент %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: ожидается только один параметр: -l, -u, -d или -S.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: ключи -l, -u, -d, -S не могут использоваться совместно с ключами -i, -n, "
 "-w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Для выполнения этой операции необходимы права root.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: только root может выбрать имя учетной записи.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: имя пользователя слишком длинное.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: необходимо указать только одно имя.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: для этого параметра необходимо имя пользователя.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: не могу вас идентифицировать!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: неизвестное имя «%s».\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: отказано в  доступе согласно политике безопасности SELinux.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Блокируется пароль для пользователя %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Успешно"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Ошибка (пароль не задан?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Снимается блокировка пароля для %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Небезопасная операция (используйте -f для принудительного выполнения)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Срок действия пароля пользователя %s заканчивается.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Ошибка"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Удаляется пароль для пользователя %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr ""
 "Устанавливаются параметры истечения срока действия для пользователя %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Изменение пароля пользователя %s.\n"
@@ -264,27 +270,32 @@ msgstr "Изменение пароля пользователя %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: ошибка чтения из stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: небезопасно запускать pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: невозможно задать tty для pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: невозможно задать задержку при сбое: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: устаревшие данные аутентификации были обновлены.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: данные аутентификации успешно обновлены.\n"
diff --git a/po/si.po b/po/si.po
index 950ffc8..2edbd4d 100644
--- a/po/si.po
+++ b/po/si.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2018-04-01 02:30+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2021-03-04 21:00+0000\n"
 "Last-Translator: Hela Basa <r45xveza@pm.me>\n"
 "Language-Team: Sinhala <https://translate.fedoraproject.org/projects/passwd/"
@@ -34,57 +34,63 @@ msgstr ""
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr ""
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr ""
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr ""
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr ""
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr ""
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr ""
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr ""
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr ""
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr ""
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr ""
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr ""
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "නොදන්නා පරිශීලකයෙකි\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
diff --git a/po/sk.po b/po/sk.po
index dca3c00..8725251 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Dušan Kazik <prescott66@gmail.com>, 2011
@@ -10,15 +10,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2016-09-12 04:30-0400\n"
 "Last-Translator: feonsu <feonsu@gmail.com>\n"
 "Language-Team: Slovak (http://www.transifex.com/projects/p/fedora/language/"
 "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: Zanata 4.6.2\n"
 
@@ -35,66 +35,72 @@ msgstr "Varovanie: odomknuté heslo bude prázdne."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Poznámka: vymazanie hesla tiež odomkne heslo."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Poškodená položka passwd."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Prázdne heslo."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Heslo zamknuté."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Heslo nastavené, MD5 šifrovanie."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Heslo nastavené, blowfish šifrovanie."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Heslo nastavené, SHA256 šifrovanie."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Heslo nastavené, SHA512 šifrovanie."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Heslo nastavené, neznámy variant šifry."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Použitá alternatívna autentifikačná schéma."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Heslo nastavené, DES šifrovanie."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Žiadne heslo nebolo nastavené.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Neznámy užívateľ.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: užívateľský účet nemá podporu pre starnutie hesla.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "ponechať nevypršané autentifikačné kľúče"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -102,152 +108,152 @@ msgstr ""
 "zmazať heslo pre zadaný účet (iba správca); tiež odstráni prípadné zamknutie "
 "hesla"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "zamknúť heslo pre zadaný účet (iba správca)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "odomknúť heslo pre zadaný účet (iba správca)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "vypršať platnosť hesla pre zadaný účet (iba správca)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "vynútiť operáciu"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "najdlhšia životnosť hesla (iba správca)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "najkratšia životnosť hesla (iba správca)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "počet dní pred vypršaním hesla kedy začať varovať užívateľov (iba správca)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr "počet dní po vypršaní hesla kedy bude konto zablokované (iba správca)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "zobraziť stav hesla pre zadaný účet (iba správca)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "načítať nové kľúče z stdin (iba správca)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[VOĽBA...] <názovÚčtu>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: nesprávny argument %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Iba jedno z -l, -u, -d, -S môže byť zadané.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Nemožno použiť jedno z -l, -u, -d, -S spolu s jedným z -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Toto môže vykonať iba správca.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Meno užívateľa smie zadať iba správca.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Zadané meno užívateľa je príliš dlhé.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Môže byť zadané iba jedno meno užívateľa.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Táto voľba vyžaduje meno užívateľa.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Nemožno vás identifikovať!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Neznáme meno užívateľa '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux zamietol prístup kvôli bezpečnostnej politike.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Zamykanie hesla pre užívateľa %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Úspešné"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Chyba (heslo nie je nastavene?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Odomykanie hesla pre užívateľa %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Nebezpečná operácia (použite -f pre vynútenie)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Vypršanie hesla pre užívateľa %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Chyba"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Odstránenie hesla pre užívateľa %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Úprava dát stárnutia hesla pre užívateľa %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Zmena hesla pre užívateľa %s.\n"
@@ -257,27 +263,32 @@ msgstr "Zmena hesla pre užívateľa %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: chyba pri čítaní zo vstupu: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: nepodarilo sa spustiť pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: nepodarilo sa nastaviť tty pre pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: nepodarilo sa nastaviť čakanie po zlyhaní: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: vypršané autentifikačné kľúče úspešne aktualizované.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: všetky autentifikačné kľúče úspešne aktualizované.\n"
diff --git a/po/sl.po b/po/sl.po
index 05a0ad4..0d8b3bb 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Andrej Znidarsic <andrej.znidarsic@gmail.com>, 2013
 # Automatically generated, 2006
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:35-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Slovenian (http://www.transifex.com/projects/p/fedora/"
 "language/sl/)\n"
 "Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
-"n%100==4 ? 2 : 3);\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 4.6.2\n"
 
 #: libuser.c:91
@@ -37,216 +37,222 @@ msgstr "Opozorilo: odklenjeno geslo bo prazno."
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Okvarjen vnos gesla."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Prazno geslo."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Geslo je zaklenjeno."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Geslo je nastavljeno in šifrirano z MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Geslo je nastavljeno in šifrirano z blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Geslo je nastavljeno in šifrirano s SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Geslo je nastavljeno in šifrirano s SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Geslo je nastavljeno, neznana izvedba šifriranja."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "V veljavi je druga shema overjanja."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Geslo je nastavljeno in šifrirano z DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Geslo ni nastavljeno.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Neznan uporabnik.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: uporabniški račun ne podpira zastaranja gesla.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "obdrži nezastarane žetone overjanja"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "zakleni geslo za imenovani račun (samo skrbnik)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "odkleni geslo za imenovani račun (samo skrbnik)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "naj preteče geslo za imenovani račun (samo skrbnik)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "prisili opravilo"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "največja življenska doba gesla (samo skrbnik)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "najmanjša življenska doba gesla (samo skrbnik)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr "število dni opozarjanja, preden poteče geslo (samo skrbnik)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr "število dni opozarjanja, preden se račun onemogoči (samo skrbnik)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "poročilo o stanju gesla za omenjeni račun (samo skrbnik)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "preberi nove žetone iz standardnega vhoda (samo skrbnik)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[MOŽNOST ...] <imeRačuna>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: slab argument %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: samo eno stikalo od -l, -u, -d, -S sme biti nastavljeno.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: -l, -u, -d, -S  se ne smejo mešati s katerimkoli izmed -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "To lahko stori samo skrbnik.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: samo skrbnik sme podati uporabniško ime.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: navedeno uporabniško ime je predolgo.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: dovoljeno je navesti le eno uporabniško ime.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Ta možnost zahteva navedbo uporabniškega imena.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: ni vas mogoče prepoznati!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: neznano uporabniško ime '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux zavrača dostop zaradi pravilnika varnosti.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Zaklepanje gesla za uporabnika %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Uspešno"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Napaka (geslo ni nastavljeno?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Odklepanje gesla za uporabnika %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Nevarno opravilo (uporabite -f za prisilo)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Pretek gesla za uporabnika %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Napaka"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Odstranjevanje gesla za uporabnika %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Prilagajanje podatkov o zastaranju za uporabnika %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Spreminjanje gesla uporabnika %s.\n"
@@ -256,27 +262,32 @@ msgstr "Spreminjanje gesla uporabnika %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: napaka med branjem s standardnega vhoda: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: pam ni bilo mogoče začeti: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: ni bilo mogoče nastaviti tty za pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: ni bilo mogoče nastaviti zakasnitve ob napaki: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: pretečeni žetoni overitve so bili uspešno posodobljeni.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: vsi overitveni žetoni so bili uspešno posodobljeni.\n"
diff --git a/po/sq.po b/po/sq.po
index 9ded4a6..a866ecb 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -3,14 +3,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2017-04-13 01:44-0400\n"
 "Last-Translator: Enea Jahollari <jahollarienea14@gmail.com>\n"
 "Language-Team: Albanian\n"
 "Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Zanata 4.6.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
@@ -27,68 +27,74 @@ msgstr "Kujdes: fjalëkalimi i shkyçur mund të jetë bosh."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Shënim: fshirja e një fjalëkalimi gjithashtu e shkyç fjalëkalimin."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Hyrje e korruptuar fjalëkalimi."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Fjalëkalim bosh."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Fjalëkalimi u kyç."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Fjalëkalimi u vendos, kyçje MD5. "
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Fjalëkalimi u vendos, kyçje Blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Fjalëkalimi u vendos, kyçje SHA256. "
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Fjalëkalimi u vendos, kyçje SHA512. "
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Fjalëkalimi u vendos, variant i panjohur kyçjeje."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Skemë e ndryshme vërtetimi në përdorim."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Fjalëkalimi u vendos, kyçje DES. "
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Nuk është vendosur asnjë fjalëkalim.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Përdoruesi i panjohur.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr ""
-"%s: llogaria e përdoruesit nuk ka asnjë asistencë për stazhin e fjalëkalimit."
-"\n"
+"%s: llogaria e përdoruesit nuk ka asnjë asistencë për stazhin e "
+"fjalëkalimit.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "mbani  token identifikimi jo të skaduar"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -96,41 +102,40 @@ msgstr ""
 "fshini fjalëkalimin për llogarinë e emëruar (vetëm për administratorin); "
 "gjithashtu hiqni kyçjen me fjalëkalim "
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
-msgstr ""
-"kyçni fjalëkalimin për llogarinë e emëruar (vetëm për administratorin)"
+msgstr "kyçni fjalëkalimin për llogarinë e emëruar (vetëm për administratorin)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 "shkyçni fjalëkalimin për llogarinë e emëruar (vetëm për administratorin)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 "skadoni fjalëkalimin për llogarinë e emëruar (vetëm për administratorin)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "operacion i forcuar"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "jetëgjatësi maksimale e fjalëkalimit (vetëm për administratorin)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "jetëgjatësi minimale e fjalëkalimit (vetëm për administratorin)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "numri i ditëve për njoftimin e përdoruesve përpara skadimit të fjalëkalimit  "
 "(vetëm për administratorin)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -138,121 +143,122 @@ msgstr ""
 "numri i ditëve pas skadimit të fjalëkalimit që një llogari të çaktivizohet "
 "(vetëm për administratorin)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 "raportoni statusin e fjalëkalimit në llogarinë e emëruar (vetëm për "
 "administratorin)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "lexoni tokenët e rinj nga stdin (vetëm për administratorin)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[Opsion...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: argument i keq %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Vetëm një nga -l, -u, -d, -S mund të specifikohet.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Nuk mund të miksojë një nga-l, -u, -d, -S dhe një nga -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Vetëm administratori mund ta bëj atë.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
-msgstr "%s: Vetëm administratori mund të specifikojë një emër përdoruesi.\n"
+msgstr ""
+"%s: Vetëm administratori mund të specifikojë një emër përdoruesi.\n"
 "\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Emri i përdoruesit i vendosur është shumë i gjatë.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Mund të specifikohet vetëm një emër përdoruesi.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Ky opsion kërkon një emër përdoruesi.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Nuk mund t'ju identifikojë!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Emër përdoruesi i panjohur '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 "%s: SELinux nuk e lejon aksesimin për shkak të një politike sigurie.\n"
 "\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Duke kyçur fjalëkalimin për përdoruesin %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Me Sukses"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Gabim (fjalëkalimi nuk është vendosur? )"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Duke shkyçur fjalëkalimin për përdoruesin %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Operacion i pasigurt (përdorni -f për ta forcuar)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Fjalëkalim duke skaduar për përdoruesin %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Gabim"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Duke hequr fjalëkalimin për përdoruesin %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Duke rregulluar të dhënat e moshës për përdoruesin %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Duke ndryshuar fjalëkalimin për përdoruesin %s.\n"
@@ -262,27 +268,32 @@ msgstr "Duke ndryshuar fjalëkalimin për përdoruesin %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: gabim në lexim nga stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: pamundësi për të nisur pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: pamundësi për të vendosur tty për pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: pamundësi për të vendosur vonesën në dështim: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: tokenët e verifikimit të skaduar u përditësuan me sukses.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: të gjithë tokenët e verifikimit u përditësuan me sukses.\n"
diff --git a/po/sr.po b/po/sr.po
index b5e38a9..b4e3770 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Igor Miletic <grejigl-gnomeprevod@yahoo.ca>, 2007
 # Momcilo Medic <medicmomcilo@gmail.com>, 2015. #zanata
@@ -9,16 +9,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-05-23 11:06-0400\n"
 "Last-Translator: Momcilo Medic <medicmomcilo@gmail.com>\n"
 "Language-Team: Serbian <trans-sr@lists.fedoraproject.org>\n"
 "Language: sr\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"
+"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 4.6.2\n"
 
 #: libuser.c:91
@@ -34,66 +34,72 @@ msgstr "Упозорење: откључана лозинка ће бити пр
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Напомена: брисање лозинке такође откључава лозинку."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Оштећена ставка лозинке."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Празна лозинка."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Лозинка закључана."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Лозинка је постављена, MD5 шифрирање."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Лозинка је постављена, Blowfish шифрирање."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Лозинка је постављена, SHA256 шифрирање."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Лозинка је постављена, SHA512 шифрирање."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Лозинка је постављена, врста шифрирања није позната."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Алтернативна шема за аутентификацију се користи."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Лозинка је постављена, DES шифрирање."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Лозинка није постављена.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Непознати корисник.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: кориснички налог нема подршку за застаревање важења лозинке.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "задржи изразе за аутентификацију који нису истекли"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -101,155 +107,153 @@ msgstr ""
 "обриши лозинку за именовани налог (само root); ово такође уклања закључавање "
 "лозинке ако постоји"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "закључај лозинку за именовани налог (само root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "откључај лозинку за именовани налог (само root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "учини лозинку истеклом за именовани налог (само root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "присили операцију"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "најдужи рок трајања лозинке (само root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "најкраћи рок трајања лозинке (само root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"број дана током којих корисник прима упозорења пре истека лозинке (само "
-"root)"
+"број дана током којих корисник прима упозорења пре истека лозинке (само root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
-msgstr ""
-"број дана после истека лозинке када налог постаје искључен (само root)"
+msgstr "број дана после истека лозинке када налог постаје искључен (само root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "извести о стању лозинке именованог налога (само root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "читање нових израза са stdin (само root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ОПЦИЈА...] <имеНалога>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: лош аргумент %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Само једна од -l, -u, -d, -S опција сме бити наведена.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Не могу се мешати једна од -l, -u, -d, -S опција са једном од -i, -n, -"
 "w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Само root може то да уради.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Само root може навести корисничко име.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Наведено корисничко име је предуго.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Само једно корисничко име може бити наведено.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Ова опција захтева корисничко име.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Није вас могуће препознати!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Непознато корисничко име „%s“.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux је одбио приступ због сигурносне полисе.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Закључавање лозинке за корисника %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Успех"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Грешка (лозинка није постављена?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Откључавање лозинке за корисника %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Несигурна операција (користите -f за присиљавање)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Истицање лозинке за корисника %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Грешка"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Уклањање лозинке за корисника %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Прилагођавање података о застаревању за корисника %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Измена лозинке за корисника %s.\n"
@@ -259,27 +263,32 @@ msgstr "Измена лозинке за корисника %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: грешка при читању са stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: није могуће покренути pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: није могуће поставити tty за pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: није могуће поставити одлагање неуспеха: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: изрази за аутентификацију који су истекли су успешно ажурирани.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: сви изрази за аутентификацију су успешно ажурирани.\n"
diff --git a/po/sr@latin.po b/po/sr@latin.po
index 2b733de..2300f65 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -1,24 +1,24 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Igor Miletic <grejigl-gnomeprevod@yahoo.ca>, 2007
 msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:35-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/fedora/"
 "language/sr@latin/)\n"
 "Language: sr@latin\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"
+"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 4.6.2\n"
 
 #: libuser.c:91
@@ -34,220 +34,226 @@ msgstr "Upozorenje: otključana lozinka će biti prazna."
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Oštećena stavka lozinke."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Prazna lozinka."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Lozinka zaključana."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Lozinka je postavljena, MD5 šifriranje."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Lozinka je postavljena, Blowfish šifriranje."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Lozinka je postavljena, SHA256 šifriranje."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Lozinka je postavljena, SHA512 šifriranje."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Lozinka je postavljena, vrsta šifriranja nije poznata."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Alternativna šema za autentifikaciju se koristi."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Lozinka je postavljena, DES šifriranje."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Lozinka nije postavljena.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Nepoznati korisnik.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: korisnički nalog nema podršku za zastarevanje važenja lozinke.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "zadrži izraze za autentifikaciju koji nisu istekli"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "prisili operaciju"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "najduži rok trajanja lozinke (samo root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "najkraći rok trajanja lozinke (samo root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "broj dana tokom kojih korisnik prima upozorenja pre isteka lozinke (samo "
 "root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 "broj dana posle isteka lozinke kada nalog postaje isključen (samo root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "izvesti o stanju lozinke imenovanog naloga (samo root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "čitanje novih izraza sa stdin (samo root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPCIJA...] <imeNaloga>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: loš argument %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Samo jedna od -l, -u, -d, -S opcija sme biti navedena.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Ne mogu se mešati jedna od -l, -u, -d, -S opcija sa jednom od -i, -n, -"
 "w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Samo root može to da uradi.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Samo root može navesti korisničko ime.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Navedeno korisničko ime je predugo.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Samo jedno korisničko ime može biti navedeno.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Ova opcija zahteva korisničko ime.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Nije vas moguće prepoznati!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Nepoznato korisničko ime „%s“.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Zaključavanje lozinke za korisnika %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Uspeh"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Greška (lozinka nije postavljena?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Otključavanje lozinke za korisnika %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Nesigurna operacija (koristite -f za prisiljavanje)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Greška"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Uklanjanje lozinke za korisnika %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Prilagođavanje podataka o zastarevanju za korisnika %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Izmena lozinke za korisnika %s.\n"
@@ -257,27 +263,32 @@ msgstr "Izmena lozinke za korisnika %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: greška pri čitanju sa stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: nije moguće pokrenuti pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: nije moguće postaviti tty za pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: nije moguće postaviti odlaganje neuspeha: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: izrazi za autentifikaciju koji su istekli su uspešno ažurirani.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: svi izrazi za autentifikaciju su uspešno ažurirani.\n"
diff --git a/po/sv.po b/po/sv.po
index 7f9b2c8..31c7793 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Copyright Magnus Larsson, <fedoratrans@gmail.com>, 2007
@@ -12,15 +12,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-08-02 09:52-0400\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish (http://www.transifex.com/projects/p/fedora/language/"
 "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: Zanata 4.6.2\n"
 
@@ -37,66 +37,72 @@ msgstr "Varning: olåst lösenord ska vara tomt."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Obs: att radera ett lösenord låser också upp lösenordet."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Korrupt passwd-rad."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Tomt lösenord."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Lösenord låst."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Lösenord satt, MD5-krypt."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Lösenord satt, blowfish-krypt."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Lösenord satt, SHA256-kryptering."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Lösenord satt, SHA512-kryptering."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Lösenord satt, okänd krypt-variant."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Alternativ autentiseringsschema används."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Lösenord satt, DES-krypt."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Inget lösenord satt.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Okänd användare.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: användarkonto har inget sröd för lösenordsåldring.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "behåll ej utgångna autentisieringspoletter"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -104,154 +110,152 @@ msgstr ""
 "radera lösenordet för det namngivna kontot (endast root); tar också bort "
 "eventuella lösenordslås"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "lås lösenordet för det namngivna kontot (endast root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "lås upp lösenordet för det namngivna kontot (endast root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
-msgstr ""
-"markera lösenordet för det namngivna kontot som utgånget (endast root)"
+msgstr "markera lösenordet för det namngivna kontot som utgånget (endast root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "tvinga åtgärd"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "maximal livstid för lösenord (endast root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "minimal livstid för lösenord (endast root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"antal dagar med varningar användare får innan lösenordet går ut (endast "
-"root)"
+"antal dagar med varningar användare får innan lösenordet går ut (endast root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
 "antal dagar efter lösenordet gått ut som kontot inaktiveras (endast root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "rapportera lösenordstatus för det namngivna kontot (endast root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "läs nya poletter från stdin (endast root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[FLAGGA...] <kontoNamn>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: dåligt argument %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Endast en av -l, -u, -d, -S får anges.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: Kan inte blanda en av -l, -u, -d, -S med en av -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Endast root kan göra det.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Endast root kan ange ett användarnamn.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Angivet användarnamn är för långt.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Endast en användare kan anges.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Denna flagga kräver ett användarnamn.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Kan inte identifiera dig!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Okänt användarnamn '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux nekar åtkomst på grund av säkerhetspolicyn.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Låser lösenord för användare %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Lyckades"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Fel (lösenord inte satt?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Låser upp lösenord för användare %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Osäker operation (använd -f för att tvinga)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Markerar lösenordet för användaren %s som utgånget.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Fel"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Tar bort lösenord för användare %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Justerar för åldringsdata för användare %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Ändrar lösenord för användare %s.\n"
@@ -261,27 +265,32 @@ msgstr "Ändrar lösenord för användare %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: fel vid läsning från stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: kan inte starta pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: kan inte sätta tty för pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: kan inte sätta felfördröjning: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: utgångna autentiseringspoletter uppdaterades.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: alla autentiseringpoletter uppdaterades.\n"
diff --git a/po/ta.po b/po/ta.po
index cab3c24..eb5a001 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Felix <ifelix@redhat.com>, 2006
@@ -10,14 +10,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:36-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Tamil <tamil-users@lists.fedoraproject.org>\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: Zanata 4.6.2\n"
 
@@ -34,221 +34,223 @@ msgstr "எச்சரிக்கை: பூட்டப்படாத கட
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "அழிக்கப்பட்ட கடவுச்சொல் உள்ளீடு"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "வெற்று கடவுச்சொல்"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "கடவுச்சொல் பூட்டப்பட்டது."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "கடவுச்சொல் அமைத்தல், MD5 crypt."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "கடவுச்சொல் அமைத்தல், blowfish crypt."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "கடவுச்சொல் அமைத்தல், SHA256 crypt."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "கடவுச்சொல் அமைத்தல், SHA512 crypt."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "கடவுச்சொல் அமைத்தல், தெரியாத crypt மாறி."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "மாற்று அங்கீகார திட்டம் பயனில் உள்ளது."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "கடவுச்சொல் அமைத்தல், DES crypt."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "கடவுச்சொல் அமைக்கப்படவில்லை.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "தெரியாத பயனர்.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: பயனர் கணக்கு கடவுச்சொல் மூப்படைதலுக்கு துணையில்லை.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "முடிவுறாத அங்கீகார டோக்கன்களை வைத்திருக்கவும்"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr ""
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "செயல்பாட்டை வலியுறுத்தவும்"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "அதிகபட்ச கடவுச்சொல் வாழ்நாள் (ரூட்டுக்கு மட்டும்)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "குறைந்தபட்ச கடவுச்சொல் வாழ்நாள் (ரூட்டுக்கு மட்டும்)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
-"கடவுச்சொல் முடிவுறுவதற்கு முன் பயனர்கள் பெறும் எச்சரிக்கை நாட்களின் "
-"எண்ணிக்கை (ரூட் மட்டும்)"
+"கடவுச்சொல் முடிவுறுவதற்கு முன் பயனர்கள் பெறும் எச்சரிக்கை நாட்களின் எண்ணிக்கை (ரூட் மட்டும்)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
-msgstr ""
-"கடவுச்சொல் முடிந்த பின் கணக்கு செயல்நீக்கப்படும் நாட்களின் எண்ணிக்கை (ரூட் "
-"மட்டும்)"
+msgstr "கடவுச்சொல் முடிந்த பின் கணக்கு செயல்நீக்கப்படும் நாட்களின் எண்ணிக்கை (ரூட் மட்டும்)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "பெயரிடப்பட்ட கணக்கில் கடவுச்சொல் நிலையை அறிக்கையிடவும் (ரூட் மட்டும்)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "stdin இலிருந்து புதிய டோக்கன்களை வாசிக்கவும் (ரூட் மட்டும்)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPTION...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: தவறான அளவுரு %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: -l, -u, -d, -S இல் ஏதாவது ஒன்று மட்டுமே குறிப்பிடப்படலாம்.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
-"%s: -l, -u, -d, -S இல் ஒன்று மற்றும்  -i, -n, -w, -x இல் ஒன்றை கலக்க "
-"முடியாது.\n"
+"%s: -l, -u, -d, -S இல் ஒன்று மற்றும்  -i, -n, -w, -x இல் ஒன்றை கலக்க முடியாது.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "ரூட் மட்டுமே செய்ய முடியும்.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: ரூட் மட்டுமே ஒரு பயனர் பெயரை குறிப்பட முடியும்.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: கொடுக்கப்பட்ட பயனர் பெயர் நீளமானது.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: ஒரே ஒரு பயனர் பெயரை மட்டுமே குறிப்பிடலாம்.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: இந்த விருப்பத்திற்கு ஒரு பயனர் பெயர் தேவை.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: உங்களை அடையாளப்படுத்த முடியவில்லை!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: தெரியாத பயனர் பெயர் '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr ""
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "பயனர் %sக்கு கடவுச்சொல்லை பூட்டுகிறது.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "வெற்றி"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "பிழை (கடவுச்சொல்லை அமைக்கப்படவில்லையா?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "பயனர் %sக்கு கடவுச்சொல்லை திறக்கிறது.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "பாதுகாப்பற்ற செயல் (-f ஐ வலியுறுத்த பயன்படுத்தவும்)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr ""
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "பிழை"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "பயனர் %sக்கு கடவுச்சொல்லை நீக்கவும்.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "பயனர் %sக்கு மூப்படையும் தரவுகளை சரி செய்கிறது.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "பயனர் %sக்கு கடவுச்சொல்லை மாற்றுகிறது.\n"
@@ -258,27 +260,32 @@ msgstr "பயனர் %sக்கு கடவுச்சொல்லை ம�
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: stdin இலிருந்து வாசிக்கும் போது பிழை: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: pamஐ துவக்க முடியவில்லை: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: ttyஐ pamக்கு அமைக்க முடியவில்லை: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: செயலிழப்பு தாமதத்தை அமைக்க முடியவில்லை: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: முடிவுற்ற அங்கீகார டோக்கன்கள் வெற்றிகரமாக மேம்படுத்தப்பட்டன.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: அனைத்து அங்கீகார டோக்கன்களும் வெற்றிகரமாக மேம்படுத்தப்பட்டன.\n"
diff --git a/po/te.po b/po/te.po
index 27c59b6..65cbc04 100644
--- a/po/te.po
+++ b/po/te.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Automatically generated, 2006
 # Krishnababu Krothapalli <kkrothap@redhat.com>, 2007, 2009
@@ -10,15 +10,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:36-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\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 4.6.2\n"
 
@@ -35,221 +35,222 @@ msgstr "హెచ్చరిక:అన్‌లాక్ చేసిన సం
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "చెడిపోయిన సంకేతపదం ప్రవేశం."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "ఖాళీ సంకేతపదం."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "సంకేతపదం లాక్ చేయబడింది."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "MD5 క్రిప్ట్ లో,సంకేతపదం అమర్చబడింది."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "బ్లోఫిష్ క్రిప్ట్ లో, సంకేతపదం అమర్చబడింది."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr " SHA256 క్రిప్ట్ లో, సంకేతపదము అమర్చబడింది."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "SHA512 క్రిప్ట్ లో, సంకేతపదము అమర్చబడింది."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "సంకేతపదం అమర్చబడింది, తెలియని క్రిప్ట్  వేరియంట్ తో."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "తత్సంభంధ దృవీకరణ స్కీమ్ ఉపయోగంలో ఉంది."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "DES క్రిప్టు నందు,సంకేతపదం అమర్చబడింది."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "ఏ సంకేతపదం అమర్చబడలేదు.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "తెలియని వినియోగదారి.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: వినియోగదారుని ఖాతా సంకేతపదం ఏజింగ్ కు ఏ మద్దతు కలిగిలేదు.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "కాలము-తీరని దృవీకరణ టోకెన్ లను ఉంచండి"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "పేరువున్న ఖాతాకు సంకేతపదంను లాక్ చేయి (root మాత్రమే)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "పేరువున్న ఖాతాకు సంకేతపదంను అన్‌లాక్ చేయి (root మాత్రమే)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "పేరువున్న ఖాతాకు సంకేతపదం గడువుముగించు (root మాత్రమే)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "బలవంతపు ఆపరేషన్"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "గరిష్ఠ సంకేతపదం జీవితకాలం(root మాత్రమే)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "గరిష్ఠ సంకేతపదం జీవితకాలం(root మాత్రమే)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
-msgstr ""
-"సంకేతపదం కాలము తీరుటకు ముందు వినియోగదారులు పొందు రోజులసంఖ్య హెచ్చరిక(root "
-"మాత్రమే)"
+msgstr "సంకేతపదం కాలము తీరుటకు ముందు వినియోగదారులు పొందు రోజులసంఖ్య హెచ్చరిక(root మాత్రమే)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
-msgstr ""
-"సంకేతపదం కాలము తీరిన తర్వాత ఖాతా అచేతనం చేయబోవుటకు మునుపు రోజులసంఖ్య(root "
-"మాత్రమే)"
+msgstr "సంకేతపదం కాలము తీరిన తర్వాత ఖాతా అచేతనం చేయబోవుటకు మునుపు రోజులసంఖ్య(root మాత్రమే)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "నామపు ఖాతా పై సంకేతపదం స్థితిని నివేదించు(root మాత్రమే)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "stdin నుండి కొత్త టోకెన్ల ను చదువుము(root మాత్రమే)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPTION...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: చెడ్డ ఆర్గుమెట్ %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: వీటిలో ఏదో ఒక -l, -u, -d, -S మాత్రమే తెలుపవచ్చు.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
-"%s: వీటిలో ఒకటి గాని -l, -u, -d, -S మరియు వీటిలో ఒకటి గాని -i, -n, -w, -x "
-"మిళితం చేయలేము.\n"
+"%s: వీటిలో ఒకటి గాని -l, -u, -d, -S మరియు వీటిలో ఒకటి గాని -i, -n, -w, -x మిళితం చేయలేము.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "root మాత్రమే అది చేయగలడు.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s:root మాత్రమే వినియోగదారుని నామము ను తెలుపగలడు.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: ఇవ్వబడినటువంటి వినియోగదారుని నామము బాగా పొడవైనది.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: ఒక వినియోగదారుని నామము ను మాత్రమే తెలుపగలము.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: ఈ ఐచ్చికం కు వినియోగదారుని నామము కావలెను.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: నిన్ను గుర్తించలేదు!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: తెలియని వినియోగదారుని నామము '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: రక్షణ విధానం కారణంగా SELinux యాక్సెస్‌ను తిరస్కరిస్తోంది.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "%s వినియోగదారుని కొరకు సంకేతపదాన్ని లాకింగ్ చేస్తోంది\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "సఫలం"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "దోషం(సంకేతపదం అమర్చలేదు?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "%s వినియోగదారుని కొరకు సంకేతపదాన్ని అన్‌లాకింగ్ చేస్తోంది.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "భధ్రకాని ఆపరేషన్ (బలవంతమునకు -f ని ఉపయోగించండి)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "వాడుకరి %s కొరకు సంకేతపదం గుడువు ముగిస్తోంది.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "దోషం"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "%s వినియోగదారుని కొరకు సంకేతపదాన్ని తీసివేయుచున్నది.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "%s వినియోగాదారుని కొరకు ఏజింగ్ డాటా ను సర్దుబాటు చేస్తోంది.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "%s వినియోగదారుని కొరకు సంకేతపదాన్ని మార్చుతున్నది.\n"
@@ -259,27 +260,32 @@ msgstr "%s వినియోగదారుని కొరకు సంకే�
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s:దోషం stdin నుండి చదువుటలో: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: పామ్ ను ప్రారంభించ లేక పోతోంది: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: పామ్ కొరకు tty అమర్చ లేక పోతోంది: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: వైఫల్యం ఆలస్యాన్ని అమర్చలేక పోతోంది: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: కాలముతీరిన దృవీకరణ టొకెన్లు సమర్ధవంతంగా నవీకరించబడినవి.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: అన్ని దృవీకరణ టోకెన్లు సమర్ధవంతంగా నవీకరించబడినవి.\n"
diff --git a/po/tg.po b/po/tg.po
index 49cabcd..d0adcb8 100644
--- a/po/tg.po
+++ b/po/tg.po
@@ -1,21 +1,21 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-03-13 11:36-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
-"Language-Team: Tajik (http://www.transifex.com/projects/p/fedora/language/tg/"
-")\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 4.6.2\n"
 
@@ -32,103 +32,109 @@ msgstr "Огоҳӣ: пароли кушодашуда холӣ мешавад."
 msgid "Note: deleting a password also unlocks the password."
 msgstr ""
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Вориди пароли вайроншуда."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Парол холӣ аст."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Парол баста шуд."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Парол сабт шуд, рамзгузории MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Парол сабт шуд, рамзгузории blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Парол сабт шуд, рамзгузории SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Парол сабт шуд, рамзгузории SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Парол сабт шуд, рамзгузории варианти номаълум."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Нақшаи аслшиносии эҳтиётӣ дар истифода аст."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Парол сабт шуд, рамзгузории DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Парол танзим нашудааст.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Корбари номаълум.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: ҳисоби корбар кӯҳнашавии паролро дастгирӣ намекунад.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "рамзҳои санҷиши аслияти бе муддатро нигоҳ доред"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr ""
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "паролро барои ҳисоби номбаршуда қулф кунед (танҳо root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "пароли корбари номбаршударо кушоед (танҳо root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "мӯҳлати пароли корбари номбаршударо ба итмом расед (танҳо root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "амалиёти маҷбурӣ"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "вақти аксари мавҷудияти парол(танҳо root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "вақти ақали мавҷудияти парол (танҳо root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "миқдори рӯзҳои огоҳие, ки корбарон қабл аз ба охир расидани муддати парол "
 "(танҳо root) қабул мекунанд"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -136,117 +142,117 @@ msgstr ""
 "миқдори рӯзҳои баъди ба охир расидани муддати парол вақте, ки ҳисоб бекор "
 "карда мешавад (танҳо root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "ҳолати паролро дар ҳисоби номбаршуда (танҳо root) ҳисобот диҳед"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "рамзҳои навро аз stdin хонед (танҳо root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ИМКОНОТ...] <Номи ҳисоб>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: далели бад %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Танҳо яке аз -l, -u, -d, -S метавонед таъин кунед.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: Яке аз  -l, -u, -d, -S ва дигаре аз -i, -n, -w, -x омехта карда "
 "намешавад.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Танҳо root метавонад ин амалро иҷро кунад.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Танҳо root метавонад номи корбарро таъин кунад.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Номи корбари пешниҳодшуда аз ҳад дароз аст.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Танҳо як номи корбар метавонад таъин карда шавад.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Барои имконоти зерин номи корбар лозим аст.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Шуморо муайян накард!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Номи корбари номаълум '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: Бинобар аз сиёсати амният SELinux дастрасиро қатъ мекунад.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Бастани парол барои корбари %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Муваффақият"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Хато (паролро сабт кардед?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Кушодани парол барои корбари %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Амалиёти беэътибор (истифодаи -f барои тарзи маҷбурӣ)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Мӯҳлати пароли корбари %s ба итмом мерасад.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Хато"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Тозакунии парол барои корбари %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Танзими санаи муддат барои корбари %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Ивазкунии парол барои корбари %s.\n"
@@ -256,29 +262,34 @@ msgstr "Ивазкунии парол барои корбари %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: хатогии хониш аз stdin: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: оғоз кардани pam имкон нест: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: ба pam танзим додани tty имкон нест: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: танзими рад кардани монондан дастрас нест: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
-"%s: рамзҳои аз муддат гузаштаи санҷиши аслият бо муввафақият танзим шудаанд."
-"\n"
+"%s: рамзҳои аз муддат гузаштаи санҷиши аслият бо муввафақият танзим "
+"шудаанд.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: ҳама рамзҳои санҷиши аслият бо муввафқият танзим дода шудаанд.\n"
diff --git a/po/tr.po b/po/tr.po
index 16a6d51..98a6739 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2020-12-09 20:36+0000\n"
 "Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
 "Language-Team: Turkish <https://translate.fedoraproject.org/projects/passwd/"
@@ -38,66 +38,72 @@ msgstr "Uyarı: kilidi açılan parola boş olacak."
 msgid "Note: deleting a password also unlocks the password."
 msgstr "Not: parolanın silinmesi, parolanın kilidini de açacaktır."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Bozuk passwd girdisi."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Boş parola."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Parola kilitli."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Parola ayarlandı, MD5 şifrelemeli."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Parola ayarlandı, Blowfish şifrelemeli."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Parola ayarlandı, SHA256 şifrelemeli."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Parola ayarlandı, SHA512 şifrelemeli."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Parola ayarlandı, bilinmeyen şifreleme türü."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Alternatif kimlik doğrulama şeması kullanımda."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Parola ayarlandı, DES şifrelemeli."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Parola ayarlanmadı.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Bilinmeyen kullanıcı.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: kullanıcı hesabında parola yaşlandırma desteği yok.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "süresi sona ermemiş kimlik belirteçlerini tut"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -105,156 +111,156 @@ msgstr ""
 "verilen hesabın parolasını sil (yalnızca root); eğer varsa parola kilidini "
 "de kaldırır"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "verilen hesabın parolasını kilitle (yalnızca root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "verilen hesabın parolasının kilidini aç (yalnızca root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "verilen hesabın parolasının süresini sona erdir (yalnızca root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "işlemi zorla"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "gün olarak en uzun parola ömrü (yalnızca root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "gün olarak en kısa parola ömrü (yalnızca root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "parola zaman aşımı öncesi kullanıcıların uyarı alacağı gün sayısı (yalnızca "
 "root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr ""
-"bir hesabın devre dışı olacağı parola zaman aşımı sonrası gün sayısı ("
-"yalnızca root)"
+"bir hesabın devre dışı olacağı parola zaman aşımı sonrası gün sayısı "
+"(yalnızca root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "verilen hesabın parola durumunu bildir (yalnızca root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "stdin'den yeni belirteçleri oku (yalnızca root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[SEÇENEK...] <hesap_adı>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: hatalı argüman %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: -l, -u, -d, -S seçeneklerinden yalnızca biri belirtilebilir.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr ""
 "%s: -l, -u, -d, -S seçeneklerinden birisi ile -i, -n, -w, -x seçeneklerinden "
 "birisi beraber kullanılamaz.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Bunu yalnızca root yapabilir.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Yalnızca root bir kullanıcı adı belirtebilir.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Verilen kullanıcı adı çok uzun.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Yalnızca bir kullanıcı adı belirtilebilir.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Bu seçenek bir kullanıcı adı gerektirir.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Kimliğiniz teşhis edilemedi!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Bilinmeyen kullanıcı adı '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux, güvenlik politikası nedeniyle erişimi engelliyor.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "%s kullanıcısı için parola kilitleniyor.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Başarılı"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Hata (parola ayarlanmadı mı?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "%s kullanıcısı için parolanın kilidi açılıyor.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Güvenli olmayan işlem (zorlamak için -f kullanın)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "%s kullanıcısı için parolanın süresi sona erdiriliyor.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Hata"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "%s kullanıcısı için parola kaldırılıyor.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "%s kullanıcısı için yaşlanma verisi ayarlanıyor.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "%s kullanıcısı için parola değiştiriliyor.\n"
@@ -264,27 +270,32 @@ msgstr "%s kullanıcısı için parola değiştiriliyor.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: stdin'den okuma hatası: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: pam başlatılamıyor: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: pam için tty ayarlanamıyor: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: başarısızlık gecikmesi ayarlanamıyor: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s: süresi dolmuş kimlik belirteçleri başarıyla güncellendi.\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: tüm kimlik doğrulama belirteçleri başarıyla güncellendi.\n"
diff --git a/po/uk.po b/po/uk.po
index f991c10..1771070 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Maxim Dziumanenko <dziumanenko@gmail.com>, 2007
 # Yuri Chornoivan <yurchor@ukr.net>, 2012
@@ -10,16 +10,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-05-24 02:44-0400\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\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"
+"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 4.6.2\n"
 
 #: libuser.c:91
@@ -33,69 +33,74 @@ msgstr "Попередження: розблокований пароль буд
 
 #: libuser.c:203
 msgid "Note: deleting a password also unlocks the password."
-msgstr ""
-"Зауваження: вилучення пароля призводить до розблокування цього пароля."
+msgstr "Зауваження: вилучення пароля призводить до розблокування цього пароля."
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "Пошкоджений запис у passwd."
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "Порожній пароль."
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "Пароль заблоковано."
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "Пароль заданий, шифр MD5."
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "Пароль заданий, шифр blowfish."
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "Пароль заданий, шифр SHA256."
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "Пароль заданий, шифр SHA512."
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "Пароль заданий, шифр невідомий."
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "Використовується альтернативна схема перевірки автентичності."
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "Пароль заданий, шифр DES."
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "Пароль не заданий.\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "Невідомий користувач.\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s: обліковий запис не підтримує закінчення терміну дії паролю.\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "зберегти не застарілі ознаки перевірки автентичності (паролі)"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
@@ -103,38 +108,38 @@ msgstr ""
 "вилучити пароль для вказаного облікового запису (лише root); також знімає "
 "блокування з пароля, якщо його було встановлено"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "заблокувати пароль до облікового запису (лише root)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "розблокувати пароль до облікового запису (лише root)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "завершити строк дії пароля до облікового запису (лише root)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "примусове виконання"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "максимальний термін дії паролю (дозволено лише користувачу root)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "мінімальний термін дії паролю (дозволено лише користувачу root)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr ""
 "за скільки днів до дати закінчення терміну дії паролю почати попереджувати "
 "користувача (дозволено лише користувачу root)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
@@ -142,118 +147,118 @@ msgstr ""
 "через скільки днів після закінчення терміну дії паролю блокувати обліковий "
 "запис (дозволено лише користувачу root)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr ""
 "зберегти стан паролю для облікового запису (дозволено лише користувачу root)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr ""
 "прочитати нове значення зі стандартного потоку вводу (дозволено лише "
 "користувачу root)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[ПАРАМЕТРИ...] <обліковий_запис>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s: неправильний аргумент %s: %s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s: Допускається вказувати лише один з параметрів: -l, -u, -d чи -S.\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s: Не допускається змішувати ключі -l, -u, -d, -S и -i, -n, -w, -x.\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "Операція дозволена лише користувачу root.\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s: Лише root може вказувати назву облікового запису.\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s: Вказана назва користувача надто довга.\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s: Допускається вказувати лише одну назву.\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s: Для цього параметра необхідне ім'я користувача.\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s: Не вдається вас ідентифікувати!\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s: Невідоме ім'я '%s'.\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: доступ заборонено правилами безпеки SELinux.\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "Блокується пароль для користувача %s.\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "Успішно виконано"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "Помилка (пароль не заданий?)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "Знімається блокування паролю для користувача %s.\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "Операція небезпечна (використовуйте -f для примусового виконання)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "Завершення строку дії пароля для користувача %s.\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "Помилка"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "Видаляється пароль для користувача %s.\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "Встановлюються параметри закінчення терміну дії для користувача %s.\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "Заміна паролю для користувача %s.\n"
@@ -263,28 +268,33 @@ msgstr "Заміна паролю для користувача %s.\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s: помилка читання зі стандартного потоку вводу: %s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s: небезпечно запускати pam: %s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s: не вдається задати tty для pam: %s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s: не вдається вказати затримку при помилці: %s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr ""
 "%s: успішно оновлено застарілу ознаку перевірки автентичності (пароль).\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s: всі ознаки перевірки автентичності (паролі) успішно оновлені.\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 5682217..427937a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Aron Xu <happyaron.xu@gmail.com>, 2010
 # Automatically generated, 2006
@@ -13,14 +13,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2015-09-22 07:32-0400\n"
 "Last-Translator: Leah Liu <lliu@redhat.com>\n"
 "Language-Team: Chinese (China) <trans-zh_cn@lists.fedoraproject.org>\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: Zanata 4.6.2\n"
 
@@ -37,215 +37,222 @@ msgstr "警告：未锁定的密码将是空的。"
 msgid "Note: deleting a password also unlocks the password."
 msgstr "注：删除密码也就是将该密码解锁。"
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "已损坏的 passwd 条目。"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "密码为空。"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "密码已被锁定。"
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "密码已设置，使用 MD5 算法。"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "密码已设置，使用 blowfish 算法。"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "密码已设置，使用 SHA256 算法。"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "密码已设置，使用 SHA512 算法。"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "密码已设置，加密算法未知。"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "更改当前使用的认证方案。"
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "密码已设置，使用 DES 算法。"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "密码未设置。\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "未知用户。\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s：用户帐号不支持密码老化功能。\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "保持身份验证令牌不过期"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr "删除命名帐户的密码（仅限 root 用户）；也删除密码锁（如果有）"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "锁定指名帐户的密码(仅限 root 用户)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "解锁指名帐户的密码(仅限 root 用户)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "终止指名帐户的密码(仅限 root 用户)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "强制执行操作"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "密码的最长有效时限(只有 root 用户才能进行此操作)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "密码的最短有效时限(只有 root 用户才能进行此操作)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr "在密码过期前多少天开始提醒用户(只有 root 用户才能进行此操作)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr "当密码过期后经过多少天该帐号会被禁用(只有 root 用户才能进行此操作)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "报告已命名帐号的密码状态(只有 root 用户才能进行此操作)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "从标准输入读取令牌(只有 root 用户才能进行此操作)"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[选项...] <帐号名称>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s：错误的参数 %s：%s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s：参数 -l，-u，-d，-S 只能指定其中的一个。\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
-msgstr "%s：参数 -l，-u，-d，-S 不能和参数 -i，-n，-w，-x 中的任一个选项合用。\n"
+msgstr ""
+"%s：参数 -l，-u，-d，-S 不能和参数 -i，-n，-w，-x 中的任一个选项合用。\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "只有 root 用户才能进行此操作。\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s：只有 root 用户才能指定用户名。\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s：提供的用户名称长度太长。\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s：只能指定一个用户的名称。\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s：该选项需要使用用户名称。\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s：无法确认您的身份！\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s：未知的用户名 %s。\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s: SELinux 安全策略阻止了访问。\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "锁定用户 %s 的密码 。\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "操作成功"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "错误(密码未设置？)"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "解锁用户 %s 的密码。\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "不安全的操作(使用 -f 参数强制进行该操作)"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "正在终止用户 %s 的密码。\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "错误"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "清除用户的密码 %s。\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "调整用户密码老化数据%s。\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "更改用户 %s 的密码 。\n"
@@ -255,27 +262,32 @@ msgstr "更改用户 %s 的密码 。\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s：从标准输入：%s 读取时发生错误。 \n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s：不能启动 pam：%s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s：不能为 pam 设置tty：%s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s：不能够设置失败延迟：%s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s：过期的身份验证令牌已经成功更新。\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s：所有的身份验证令牌已经成功更新。\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 7ca1704..bfdede0 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1,7 +1,7 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Red Hat, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# 
+#
 # Translators:
 # Terry Chuang <tchuang@redhat.com>, 2008, 2009
 # Cheng-Chia Tseng <pswo10680@gmail.com>, 2017. #zanata
@@ -9,14 +9,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: passwd 0.79\n"
 "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-05-23 07:02+0200\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2021-03-29 22:08+0200\n"
 "PO-Revision-Date: 2017-09-06 04:35-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Chinese (Taiwan) <trans-zh_TW@lists.fedoraproject.org>\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: Zanata 4.6.2\n"
 
@@ -33,215 +33,221 @@ msgstr "警告：未鎖定的密碼將會空白。"
 msgid "Note: deleting a password also unlocks the password."
 msgstr "備註：刪除密碼也會解除密碼鎖定。"
 
-#: libuser.c:267
+#: libuser.c:268
 msgid "Corrupted passwd entry."
 msgstr "損毀的 passwd 條目。"
 
-#: libuser.c:284
+#: libuser.c:286 libuser.c:319
 msgid "Empty password."
 msgstr "空白密碼。"
 
-#: libuser.c:287
+#: libuser.c:289
 msgid "Password locked."
 msgstr "密碼已鎖定。"
 
-#: libuser.c:291
+#: libuser.c:293
 msgid "Password set, MD5 crypt."
 msgstr "密碼已設定，MD5 加密法。"
 
-#: libuser.c:294
+#: libuser.c:296
 msgid "Password set, blowfish crypt."
 msgstr "密碼已設定，blowfish 加密法。"
 
-#: libuser.c:297
+#: libuser.c:299
 msgid "Password set, SHA256 crypt."
 msgstr "密碼已設定，SHA256 加密法。"
 
-#: libuser.c:300
+#: libuser.c:302
 msgid "Password set, SHA512 crypt."
 msgstr "密碼已設定，SHA512 加密法。"
 
-#: libuser.c:302
+#: libuser.c:304
 msgid "Password set, unknown crypt variant."
 msgstr "密碼已設定，不明的加密類型。"
 
-#: libuser.c:305
+#: libuser.c:307
 msgid "Alternate authentication scheme in use."
 msgstr "其它驗證格式正使用中。"
 
-#: libuser.c:310
+#: libuser.c:312
 msgid "Password set, DES crypt."
 msgstr "密碼已設定，DES 加密法。"
 
-#: libuser.c:323
+#: libuser.c:317
+msgid ""
+"There is a password information set in /etc/shadow, but the password field "
+"in /etc/passwd is empty."
+msgstr ""
+
+#: libuser.c:335
 #, c-format
 msgid "No password set.\n"
 msgstr "密碼未設定。\n"
 
-#: libuser.c:328
+#: libuser.c:340
 #, c-format
 msgid "Unknown user.\n"
 msgstr "未知使用者。\n"
 
-#: libuser.c:403
+#: libuser.c:415
 #, c-format
 msgid "%s: user account has no support for password aging.\n"
 msgstr "%s：使用者帳號不支援密碼限期。\n"
 
-#: passwd.c:158
+#: passwd.c:157
 msgid "keep non-expired authentication tokens"
 msgstr "保留未過期的驗證代符"
 
-#: passwd.c:160
+#: passwd.c:159
 msgid ""
 "delete the password for the named account (root only); also removes password "
 "lock if any"
 msgstr "刪除已有命名帳號的密碼（僅限 root 執行）；若有的話也移除密碼鎖定"
 
-#: passwd.c:163
+#: passwd.c:162
 msgid "lock the password for the named account (root only)"
 msgstr "鎖住已命名帳號的密碼 (僅限 root 執行)"
 
-#: passwd.c:166
+#: passwd.c:165
 msgid "unlock the password for the named account (root only)"
 msgstr "解開已命名帳號的密碼鎖定 (僅限 root 執行)"
 
-#: passwd.c:169
+#: passwd.c:168
 msgid "expire the password for the named account (root only)"
 msgstr "讓已命名帳號的密碼過期 (僅限 root 執行)"
 
-#: passwd.c:172
+#: passwd.c:171
 msgid "force operation"
 msgstr "強制作業"
 
-#: passwd.c:174
+#: passwd.c:173
 msgid "maximum password lifetime (root only)"
 msgstr "最大密碼有效期限 (僅限 root 執行)"
 
-#: passwd.c:176
+#: passwd.c:175
 msgid "minimum password lifetime (root only)"
 msgstr "最小密碼有效期限 (僅限 root 執行)"
 
-#: passwd.c:178
+#: passwd.c:177
 msgid ""
 "number of days warning users receives before password expiration (root only)"
 msgstr "使用者在密碼過期前收到警告的天數 (僅限 root 執行)"
 
-#: passwd.c:181
+#: passwd.c:180
 msgid ""
 "number of days after password expiration when an account becomes disabled "
 "(root only)"
 msgstr "帳號在密碼過期後即將被停用前的天數 (僅限 root 執行)"
 
-#: passwd.c:184
+#: passwd.c:183
 msgid "report password status on the named account (root only)"
 msgstr "回報已命名帳號上的密碼狀態 (僅限 root 執行)"
 
-#: passwd.c:187
+#: passwd.c:186
 msgid "read new tokens from stdin (root only)"
 msgstr "由 stdin 讀取新的代符（僅限 root 執行）"
 
-#: passwd.c:194
+#: passwd.c:193
 msgid "[OPTION...] <accountName>"
 msgstr "[OPTION...] <accountName>"
 
-#: passwd.c:197
+#: passwd.c:196
 #, c-format
 msgid "%s: bad argument %s: %s\n"
 msgstr "%s：無效的引數 %s：%s\n"
 
-#: passwd.c:258
+#: passwd.c:257
 #, c-format
 msgid "%s: Only one of -l, -u, -d, -S may be specified.\n"
 msgstr "%s：只可指定 -l、-u、-d、-S 中的其中一個。\n"
 
-#: passwd.c:267
+#: passwd.c:266
 #, c-format
 msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n"
 msgstr "%s：無法同時使用一個 -l、-u、-d、-S 以及一個 -i、-n、-w、-x。\n"
 
-#: passwd.c:286
+#: passwd.c:282
 #, c-format
 msgid "Only root can do that.\n"
 msgstr "只有 root 可這麼作。\n"
 
-#: passwd.c:299
+#: passwd.c:295
 #, c-format
 msgid "%s: Only root can specify a user name.\n"
 msgstr "%s：只有 root 可指定使用者名稱。\n"
 
-#: passwd.c:308
+#: passwd.c:304
 #, c-format
 msgid "%s: The user name supplied is too long.\n"
 msgstr "%s：使用者名稱過長。\n"
 
-#: passwd.c:318
+#: passwd.c:314
 #, c-format
 msgid "%s: Only one user name may be specified.\n"
 msgstr "%s：只可指定一組使用者名稱。\n"
 
-#: passwd.c:328
+#: passwd.c:324
 #, c-format
 msgid "%s: This option requires a user name.\n"
 msgstr "%s：此選項需要一組使用者名稱。\n"
 
-#: passwd.c:339
+#: passwd.c:335
 #, c-format
 msgid "%s: Can not identify you!\n"
 msgstr "%s：無法辨識出您！\n"
 
-#: passwd.c:348 passwd.c:383
+#: passwd.c:344 passwd.c:379
 #, c-format
 msgid "%s: Unknown user name '%s'.\n"
 msgstr "%s：不明的使用者名稱「%s」。\n"
 
-#: passwd.c:392
+#: passwd.c:388
 #, c-format
 msgid "%s: SELinux denying access due to security policy.\n"
 msgstr "%s：SELinux 由於安全方針拒絕存取。\n"
 
-#: passwd.c:402
+#: passwd.c:398
 #, c-format
 msgid "Locking password for user %s.\n"
 msgstr "鎖定使用者 %s 的密碼。\n"
 
-#: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:402 passwd.c:414 passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Success"
 msgstr "成功"
 
-#: passwd.c:406 passwd.c:421
+#: passwd.c:402 passwd.c:417
 msgid "Error (password not set?)"
 msgstr "錯誤（密碼是否尚未設定？）"
 
-#: passwd.c:414
+#: passwd.c:410
 #, c-format
 msgid "Unlocking password for user %s.\n"
 msgstr "解開使用者 %s 的密碼。\n"
 
-#: passwd.c:420
+#: passwd.c:416
 msgid "Unsafe operation (use -f to force)"
 msgstr "不安全的作業（使用 -f 強制執行）"
 
-#: passwd.c:429
+#: passwd.c:425
 #, c-format
 msgid "Expiring password for user %s.\n"
 msgstr "正在讓使用者 %s 的密碼過期。\n"
 
-#: passwd.c:433 passwd.c:444 passwd.c:464
+#: passwd.c:429 passwd.c:440 passwd.c:458
 msgid "Error"
 msgstr "錯誤"
 
-#: passwd.c:441
+#: passwd.c:437
 #, c-format
 msgid "Removing password for user %s.\n"
 msgstr "移除使用者 %s 的密碼。\n"
 
-#: passwd.c:461
+#: passwd.c:455
 #, c-format
 msgid "Adjusting aging data for user %s.\n"
 msgstr "調整使用者 %s 的期限資料。\n"
 
-#: passwd.c:477
+#: passwd.c:471
 #, c-format
 msgid "Changing password for user %s.\n"
 msgstr "更改使用者 %s 的密碼。\n"
@@ -251,27 +257,32 @@ msgstr "更改使用者 %s 的密碼。\n"
 msgid "%s: error reading from stdin: %s\n"
 msgstr "%s：由 stdin 讀取時發生錯誤：%s\n"
 
-#: passwd.c:506
+#: passwd.c:496
+#, c-format
+msgid "%s: password too long, maximum is %zu"
+msgstr ""
+
+#: passwd.c:515
 #, c-format
 msgid "%s: unable to start pam: %s\n"
 msgstr "%s：無法啟用 pam：%s\n"
 
-#: passwd.c:519
+#: passwd.c:528
 #, c-format
 msgid "%s: unable to set tty for pam: %s\n"
 msgstr "%s：無法為 pam 設定 tty：%s\n"
 
-#: passwd.c:530
+#: passwd.c:539
 #, c-format
 msgid "%s: unable to set failure delay: %s\n"
 msgstr "%s：無法設定失敗延遲：%s\n"
 
-#: passwd.c:548
+#: passwd.c:553
 #, c-format
 msgid "%s: expired authentication tokens updated successfully.\n"
 msgstr "%s：已成功更新過期的核對代符。\n"
 
-#: passwd.c:554
+#: passwd.c:556
 #, c-format
 msgid "%s: all authentication tokens updated successfully.\n"
 msgstr "%s：所有核對代符都已成功更新。\n"

