summaryrefslogtreecommitdiffstats
path: root/src/bin/pg_waldump/po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:15:05 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:15:05 +0000
commit46651ce6fe013220ed397add242004d764fc0153 (patch)
tree6e5299f990f88e60174a1d3ae6e48eedd2688b2b /src/bin/pg_waldump/po
parentInitial commit. (diff)
downloadpostgresql-14-46651ce6fe013220ed397add242004d764fc0153.tar.xz
postgresql-14-46651ce6fe013220ed397add242004d764fc0153.zip
Adding upstream version 14.5.upstream/14.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/bin/pg_waldump/po')
-rw-r--r--src/bin/pg_waldump/po/cs.po338
-rw-r--r--src/bin/pg_waldump/po/de.po307
-rw-r--r--src/bin/pg_waldump/po/el.po310
-rw-r--r--src/bin/pg_waldump/po/es.po311
-rw-r--r--src/bin/pg_waldump/po/fr.po362
-rw-r--r--src/bin/pg_waldump/po/ja.po308
-rw-r--r--src/bin/pg_waldump/po/ko.po313
-rw-r--r--src/bin/pg_waldump/po/ru.po363
-rw-r--r--src/bin/pg_waldump/po/sv.po305
-rw-r--r--src/bin/pg_waldump/po/tr.po306
-rw-r--r--src/bin/pg_waldump/po/uk.po293
-rw-r--r--src/bin/pg_waldump/po/zh_CN.po307
12 files changed, 3823 insertions, 0 deletions
diff --git a/src/bin/pg_waldump/po/cs.po b/src/bin/pg_waldump/po/cs.po
new file mode 100644
index 0000000..70ae649
--- /dev/null
+++ b/src/bin/pg_waldump/po/cs.po
@@ -0,0 +1,338 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-10-31 16:14+0000\n"
+"PO-Revision-Date: 2021-09-16 09:15+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Poedit 2.4.1\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatal: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "error: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "warning: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "nelze otevřít soubor \"%s\": %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale hlavička WAL souboru \"%s\" udává %d byte"
+msgstr[1] "velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale hlavička WAL souboru \"%s\" udává %d byty"
+msgstr[2] "velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale hlavička WAL souboru \"%s\" udává %d bytů"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "nelze číst soubor \"%s\": %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "nelze číst soubor \"%s\": načteno %d z %zu"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "nelze najít WAL soubor \"%s\""
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "nelze najít žádný WAL soubor"
+
+#: pg_waldump.c:318
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "nelze najít soubor \"%s\": %m"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "nelze číst ze souboru %s, offset %u : %m"
+
+#: pg_waldump.c:371
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "nelze číst ze souboru %s, offset %u, načteno %d z %zu"
+
+#: pg_waldump.c:720
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s dekóduje a zobrazuje PostgreSQL write-ahead logy pro účely debugování.\n"
+"\n"
+
+#: pg_waldump.c:722
+#, c-format
+msgid "Usage:\n"
+msgstr "Použití:\n"
+
+#: pg_waldump.c:723
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details output detailed information about backup blocks\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR přestane číst WAL na pozici RECPTR\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow dále to zkoušet po dosažení konce WAL\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N počet záznamů pro zobrazení\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH adresář ve kterém hledat log segmenty nebo\n"
+" adresář s ./pg_wal který tyto soubory obsahuje\n"
+" (implicitní: aktuální adresář, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet nevypisovat žádné zprávy, s výjimkou chyb\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR zobrazí pouze záznamy generované resource managerem RMGR;\n"
+" použijte --rmgr=list pro seznam platných jmen resource managerů\n"
+
+#: pg_waldump.c:735
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR začne číst WAL na pozici RECPTR\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI timeline ze které číst log záznamy\n"
+" (implicitní: 1 nebo hodnota v STARTSEG)\n"
+
+#: pg_waldump.c:738
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version vypiš informace o verzi, potom skonči\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID zobrazí pouze záznamy pro transakci s ID XID\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] zobrazí statistiky namísto záznamů\n"
+" (volitelně, zobrazí per-record statistiky)\n"
+
+#: pg_waldump.c:742
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help ukaž tuto nápovědu, potom skonči\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Chyby hlašte na <%s>.\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s domácí stránka: <%s>\n"
+
+#: pg_waldump.c:821
+#, c-format
+msgid "no arguments specified"
+msgstr "nezadán žádný argument"
+
+#: pg_waldump.c:836
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "nelze naparsovat koncovou WAL pozici \"%s\""
+
+#: pg_waldump.c:848
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "nelze naparsovat limit \"%s\""
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "resource manager \"%s\" neexistuje"
+
+#: pg_waldump.c:888
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "nelze naparsovat počáteční WAL pozici \"%s\""
+
+#: pg_waldump.c:898
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "nelze naparsovat timeline \"%s\""
+
+#: pg_waldump.c:905
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "nelze naparsovat \"%s\" jako ID transakce"
+
+#: pg_waldump.c:920
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "nerozpoznaný argument pro --stats: %s"
+
+#: pg_waldump.c:933
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "příliš mnoho argumentů v příkazové řádce (první je \"%s\")"
+
+#: pg_waldump.c:943 pg_waldump.c:963
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "nelze otevřít adresář \"%s\": %m"
+
+#: pg_waldump.c:969 pg_waldump.c:1000
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "nelze otevřít soubor \"%s\""
+
+#: pg_waldump.c:979
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "počátační WAL pozice %X/%X není v souboru \"%s\""
+
+#: pg_waldump.c:1007
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s je před STARTSEG %s"
+
+#: pg_waldump.c:1022
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "koncová WAL pozice %X/%X není v souboru \"%s\""
+
+#: pg_waldump.c:1035
+#, c-format
+msgid "no start WAL location given"
+msgstr "není zadána žádná WAL pozice"
+
+#: pg_waldump.c:1049
+#, c-format
+msgid "out of memory"
+msgstr "nedostatek paměti"
+
+#: pg_waldump.c:1055
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "nelze najít platný záznam po %X/%X"
+
+#: pg_waldump.c:1066
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "první záznam po %X/%X, na %X/%X, přeskakuji %u bytů\n"
+msgstr[1] "první záznam po %X/%X, na %X/%X, přeskakuji %u byty\n"
+msgstr[2] "první záznam po %X/%X, na %X/%X, přeskakuji %u bytů\n"
+
+#: pg_waldump.c:1117
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "chyba ve WAL záznamu na %X/%X: %s"
+
+#: pg_waldump.c:1127
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Zkuste \"%s --help\" pro více informací.\n"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s: FATAL: "
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "nedostatek dat v souboru \"%s\""
+
+#~ msgid "could not open directory \"%s\": %s"
+#~ msgstr "nelze otevřít adresář \"%s\": %s"
+
+#~ msgid "path \"%s\" could not be opened: %s"
+#~ msgstr "cestu \"%s\" nelze otevřít: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Chyby hlaste na adresu <pgsql-bugs@postgresql.org>.\n"
+
+#~ msgid "could not seek in log file %s to offset %u: %s"
+#~ msgstr "nelze nastavit pozici (seek) v log souboru %s na offset %u: %s"
+
+#~ msgid "could not read file \"%s\": %s"
+#~ msgstr "nelze číst soubor \"%s\": %s"
+
+#~ msgid "could not open file \"%s\": %s"
+#~ msgstr "nelze otevřít soubor \"%s\": %s"
diff --git a/src/bin/pg_waldump/po/de.po b/src/bin/pg_waldump/po/de.po
new file mode 100644
index 0000000..99f2fd1
--- /dev/null
+++ b/src/bin/pg_waldump/po/de.po
@@ -0,0 +1,307 @@
+# German message translation file for pg_waldump
+# Copyright (C) 2020 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Peter Eisentraut <peter@eisentraut.org>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 13\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-04-21 05:14+0000\n"
+"PO-Revision-Date: 2020-04-21 19:02+0200\n"
+"Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
+"Language-Team: German <pgsql-translators@postgresql.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "Fatal: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "Fehler: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "Warnung: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht öffnen: %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber der Kopf der WAL-Datei »%s« gibt %d Byte an"
+msgstr[1] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber der Kopf der WAL-Datei »%s« gibt %d Bytes an"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht lesen: %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "konnte WAL-Datei »%s« nicht finden"
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "konnte keine WAL-Datei finden"
+
+#: pg_waldump.c:319
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht finden: %m"
+
+#: pg_waldump.c:359
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "konnte nicht aus Datei %s, Position %u lesen: %m"
+
+#: pg_waldump.c:363
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "konnte nicht aus Datei %s, Position %u lesen: %d von %zu gelesen"
+
+#: pg_waldump.c:712
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s dekodiert und zeigt PostgreSQL-Write-Ahead-Logs zum Debuggen.\n"
+"\n"
+
+#: pg_waldump.c:714
+#, c-format
+msgid "Usage:\n"
+msgstr "Aufruf:\n"
+
+#: pg_waldump.c:715
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:716
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Optionen:\n"
+
+#: pg_waldump.c:717
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details detaillierte Informationen über Backup-Blöcke ausgeben\n"
+
+#: pg_waldump.c:718
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR bei WAL-Position RECPTR zu lesen aufhören\n"
+
+#: pg_waldump.c:719
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow am Ende des WAL weiter versuchen\n"
+
+#: pg_waldump.c:720
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N Anzahl der anzuzeigenden Datensätze\n"
+
+#: pg_waldump.c:721
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH Verzeichnis mit den Logsegmentdateien oder Verzeichnis\n"
+" mit ./pg_wal mit solchen Dateien (Vorgabe: aktuelles\n"
+" Verzeichnis, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet keine Ausgabe, außer Fehler\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR nur Datensätze erzeugt von Resource-Manager RMGR zeigen;\n"
+" --rmgr=list zeigt gültige Resource-Manager-Namen\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR bei WAL-Position RECPTR zu lesen anfangen\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=ZAHL Zeitleiste aus der Datensätze gelesen werden sollen\n"
+" (Vorgabe: 1 oder der in STARTSEG verwendete Wert)\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID nur Datensätze mit Transaktions-ID XID zeigen\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] Statistiken statt Datensätzen anzeigen\n"
+" (optional Statistiken pro Datensatz zeigen)\n"
+
+#: pg_waldump.c:734
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n"
+
+#: pg_waldump.c:735
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Berichten Sie Fehler an <%s>.\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s Homepage: <%s>\n"
+
+#: pg_waldump.c:813
+#, c-format
+msgid "no arguments specified"
+msgstr "keine Argumente angegeben"
+
+#: pg_waldump.c:828
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "konnte WAL-Endposition »%s« nicht parsen"
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "konnte Limit »%s« nicht parsen"
+
+#: pg_waldump.c:871
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "Resouce-Manager »%s« existiert nicht"
+
+#: pg_waldump.c:880
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "konnte WAL-Startposition »%s« nicht parsen"
+
+#: pg_waldump.c:890
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "konnte Zeitleiste »%s« nicht parsen"
+
+#: pg_waldump.c:897
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "konnte »%s« nicht als gültige Transaktions-ID parsen"
+
+#: pg_waldump.c:912
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "unbekanntes Argument für --stats: %s"
+
+#: pg_waldump.c:925
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)"
+
+#: pg_waldump.c:935 pg_waldump.c:955
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
+
+#: pg_waldump.c:961 pg_waldump.c:992
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "konnte Datei »%s« nicht öffnen"
+
+#: pg_waldump.c:971
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "WAL-Startposition %X/%X ist nicht innerhalb der Datei »%s«"
+
+#: pg_waldump.c:999
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s kommt vor STARTSEG %s"
+
+#: pg_waldump.c:1014
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "WAL-Endposition %X/%X ist nicht innerhalb der Datei »%s«"
+
+#: pg_waldump.c:1027
+#, c-format
+msgid "no start WAL location given"
+msgstr "keine WAL-Startposition angegeben"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "out of memory"
+msgstr "Speicher aufgebraucht"
+
+#: pg_waldump.c:1043
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "konnte keinen gültigen Datensatz nach %X/%X finden"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "erster Datensatz kommt nach %X/%X, bei %X/%X, %u Byte wurde übersprungen\n"
+msgstr[1] "erster Datensatz kommt nach %X/%X, bei %X/%X, %u Bytes wurden übersprungen\n"
+
+#: pg_waldump.c:1105
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "Fehler in WAL-Eintrag bei %X/%X: %s"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
diff --git a/src/bin/pg_waldump/po/el.po b/src/bin/pg_waldump/po/el.po
new file mode 100644
index 0000000..a5d10d6
--- /dev/null
+++ b/src/bin/pg_waldump/po/el.po
@@ -0,0 +1,310 @@
+# Greek message translation file for pg_waldump
+# Copyright (C) 2021 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# Georgios Kokolatos <gkokolatos@pm.me>, 2021.
+#
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 14\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2021-07-16 08:15+0000\n"
+"PO-Revision-Date: 2021-07-16 10:50+0200\n"
+"Last-Translator: Georgios Kokolatos <gkokolatos@pm.me>\n"
+"Language-Team: \n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 3.0\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "κρίσιμο: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "σφάλμα: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "προειδοποίηση: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "η τιμή του μεγέθους τμήματος WAL πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά η κεφαλίδα «%s» του αρχείου WAL καθορίζει %d byte"
+msgstr[1] "η τιμή του μεγέθους τμήματος WAL πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά η κεφαλίδα «%s» του αρχείου WAL καθορίζει %d bytes"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: ανέγνωσε %d από %zu"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "δεν ήταν δυνατός ο εντοπισμός του αρχείου WAL «%s»"
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "δεν ήταν δυνατή η εύρεση οποιουδήποτε αρχείου WAL"
+
+#: pg_waldump.c:318
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "δεν ήταν δυνατή η εύρεση του αρχείου «%s»: %m"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %u: %m"
+
+#: pg_waldump.c:371
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %u: ανέγνωσε %d από %zu"
+
+#: pg_waldump.c:724
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s αποκωδικοποιεί και εμφανίζει αρχεία καταγραφής εμπρόσθιας-εγγραφής PostgreSQL για αποσφαλμάτωση.\n"
+"\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid "Usage:\n"
+msgstr "Χρήση:\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [ΕΠΙΛΟΓΗ]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Επιλογές:\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details πάραγε λεπτομερείς πληροφορίες σχετικά με τα μπλοκ αντιγράφων ασφαλείας\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR σταμάτησε την ανάγνωση στη τοποθεσία WAL RECPTR\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow εξακολούθησε την προσπάθεια μετά την επίτευξη του τέλους του WAL\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N αριθμός των εγγραφών για εμφάνιση\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH κατάλογος στον οποίο βρίσκονται αρχεία τμήματος καταγραφής ή\n"
+" ένα κατάλογο με ./pg_wal που περιέχει τέτοια αρχεία\n"
+" (προεπιλογή: τρέχων κατάλογος, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet να μην εκτυπωθεί καμία έξοδος, εκτός από σφάλματα\n"
+
+#: pg_waldump.c:737
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR εμφάνισε μόνο εγγραφές που δημιουργούνται από τον διαχειριστή πόρων RMGR·\n"
+" χρησιμοποίησε --rmgr=list για την παράθεση έγκυρων ονομάτων διαχειριστών πόρων\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR άρχισε την ανάγνωση WAL από την τοποθεσία RECPTR\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI χρονογραμή από την οποία να αναγνωστούν εγγραφές καταγραφής\n"
+" (προεπιλογή: 1 ή η τιμή που χρησιμοποιήθηκε στο STARTSEG)\n"
+
+#: pg_waldump.c:742
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID εμφάνισε μόνο εγγραφές με ID συναλλαγής XID\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] εμφάνισε στατιστικά στοιχεία αντί για εγγραφές\n"
+" (προαιρετικά, εμφάνισε στατιστικά στοιχεία ανά εγγραφή)\n"
+
+#: pg_waldump.c:746
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n"
+
+#: pg_waldump.c:747
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Υποβάλετε αναφορές σφάλματων σε <%s>.\n"
+
+#: pg_waldump.c:748
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s αρχική σελίδα: <%s>\n"
+
+#: pg_waldump.c:825
+#, c-format
+msgid "no arguments specified"
+msgstr "δεν καθορίστηκαν παράμετροι"
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "δεν ήταν δυνατή η ανάλυση της τελικής τοποθεσίας WAL «%s»"
+
+#: pg_waldump.c:852
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "δεν ήταν δυνατή η ανάλυση του ορίου «%s»"
+
+#: pg_waldump.c:883
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "ο διαχειριστής πόρων «%s» δεν υπάρχει"
+
+#: pg_waldump.c:892
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "δεν ήταν δυνατή η ανάλυση της αρχικής τοποθεσίας WAL «%s»"
+
+#: pg_waldump.c:902
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "δεν ήταν δυνατή η ανάλυση της χρονογραμμής «%s»"
+
+#: pg_waldump.c:909
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "δεν ήταν δυνατή η ανάλυση του «%s» ως ID συναλλαγής"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "μη αναγνωρισμένη παράμετρος για --stats: %s"
+
+#: pg_waldump.c:937
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)"
+
+#: pg_waldump.c:947 pg_waldump.c:967
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m"
+
+#: pg_waldump.c:973 pg_waldump.c:1003
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»"
+
+#: pg_waldump.c:983
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "τοποθεσία εκκίνησης WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+
+#: pg_waldump.c:1010
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s βρίσκεται πριν από STARTSEG %s"
+
+#: pg_waldump.c:1025
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "η τελική τοποθεσία WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "no start WAL location given"
+msgstr "δεν δόθηκε καμία τοποθεσία έναρξης WAL"
+
+#: pg_waldump.c:1051
+#, c-format
+msgid "out of memory"
+msgstr "έλλειψη μνήμης"
+
+#: pg_waldump.c:1057
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "δεν ήταν δυνατή η εύρεση έγκυρης εγγραφής μετά %X/%X"
+
+#: pg_waldump.c:1067
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u byte\n"
+msgstr[1] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u bytes\n"
+
+#: pg_waldump.c:1118
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "σφάλμα στην εγγραφή WAL στο %X/%X: %s"
+
+#: pg_waldump.c:1127
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες.\n"
diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po
new file mode 100644
index 0000000..f582a75
--- /dev/null
+++ b/src/bin/pg_waldump/po/es.po
@@ -0,0 +1,311 @@
+# Spanish message translation file for pg_waldump
+#
+# Copyright (c) 2017-2021, PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+#
+# Carlos Chapi <carlos.chapi@2ndquadrant.com>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 14\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-08-07 20:33+0000\n"
+"PO-Revision-Date: 2021-09-16 09:26+0200\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
+"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "fatal: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "error: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "precaución: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d byte"
+msgstr[1] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d bytes"
+
+#: pg_waldump.c:208
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: pg_waldump.c:211
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
+
+#: pg_waldump.c:272
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "no se pudo ubicar el archivo WAL «%s»"
+
+#: pg_waldump.c:274
+#, c-format
+msgid "could not find any WAL file"
+msgstr "no se pudo encontrar ningún archivo WAL"
+
+#: pg_waldump.c:315
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "no se pudo encontrar el archivo «%s»: %m"
+
+#: pg_waldump.c:364
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "no se pudo leer desde el archivo «%s» en la posición %u: %m"
+
+# XXX why talk about "log segment" instead of "file"?
+#: pg_waldump.c:368
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "no se pudo leer del archivo %s, posición %u: leídos %d de %zu"
+
+#: pg_waldump.c:721
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s decodifica y muestra segmentos de WAL de PostgreSQL para depuración.\n"
+"\n"
+
+#: pg_waldump.c:723
+#, c-format
+msgid "Usage:\n"
+msgstr "Empleo:\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPCIÓN]... [SEGINICIAL [SEGFINAL]]\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Opciones:\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details mostrar información detallada sobre bloques de respaldo\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR detener la lectura del WAL en la posición RECPTR\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow seguir reintentando después de alcanzar el final del WAL\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N número de registros a mostrar\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=RUTA directorio donde buscar los archivos de segmento de WAL\n"
+" o un directorio con un ./pg_wal que contenga tales archivos\n"
+" (por omisión: directorio actual, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet no escribir ningún mensaje, excepto errores\n"
+
+#: pg_waldump.c:734
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=GREC sólo mostrar registros generados por el gestor de\n"
+" recursos GREC; use --rmgr=list para listar nombres válidos\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR empezar a leer el WAL en la posición RECPTR\n"
+
+#: pg_waldump.c:737
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI timeline del cual leer los registros de WAL\n"
+" (por omisión: 1 o el valor usado en SEGINICIAL)\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version mostrar información de versión, luego salir\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID sólo mostrar registros con el id de transacción XID\n"
+
+#: pg_waldump.c:741
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=registro] mostrar estadísticas en lugar de registros\n"
+" (opcionalmente, mostrar estadísticas por registro)\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help mostrar esta ayuda, luego salir\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Reporte errores a <%s>.\n"
+
+#: pg_waldump.c:745
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Sitio web de %s: <%s>\n"
+
+#: pg_waldump.c:822
+#, c-format
+msgid "no arguments specified"
+msgstr "no se especificó ningún argumento"
+
+#: pg_waldump.c:837
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "no se pudo interpretar la posición final de WAL «%s»"
+
+#: pg_waldump.c:849
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "no se pudo interpretar el límite «%s»"
+
+#: pg_waldump.c:880
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "el gestor de recursos «%s» no existe"
+
+#: pg_waldump.c:889
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "no se pudo interpretar la posición inicial de WAL «%s»"
+
+#: pg_waldump.c:899
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "no se pudo interpretar el timeline «%s»"
+
+#: pg_waldump.c:906
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "no se pudo interpretar «%s» como un id de transacción"
+
+#: pg_waldump.c:921
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "parámetro no reconocido para --stats: %s"
+
+#: pg_waldump.c:934
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
+
+#: pg_waldump.c:944 pg_waldump.c:964
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: pg_waldump.c:970 pg_waldump.c:1000
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "no se pudo abrir el archivo «%s»"
+
+#: pg_waldump.c:980
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "la posición inicial de WAL %X/%X no está en el archivo «%s»"
+
+#: pg_waldump.c:1007
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SEGFINAL %s está antes del SEGINICIAL %s"
+
+#: pg_waldump.c:1022
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "la posición final de WAL %X/%X no está en el archivo «%s»"
+
+#: pg_waldump.c:1034
+#, c-format
+msgid "no start WAL location given"
+msgstr "no se especificó posición inicial de WAL"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "no se pudo encontrar un registro válido después de %X/%X"
+
+#: pg_waldump.c:1064
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u byte\n"
+msgstr[1] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u bytes\n"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "error en registro de WAL en %X/%X: %s"
+
+#: pg_waldump.c:1124
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Pruebe «%s --help» para mayor información.\n"
diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po
new file mode 100644
index 0000000..12e26ca
--- /dev/null
+++ b/src/bin/pg_waldump/po/fr.po
@@ -0,0 +1,362 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-04-16 06:15+0000\n"
+"PO-Revision-Date: 2020-04-16 14:09+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.3\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatal : "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "erreur : "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "attention : "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet"
+msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier « %s » : %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "n'a pas pu trouver le fichier WAL « %s »"
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "n'a pas pu trouver un seul fichier WAL"
+
+#: pg_waldump.c:319
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "n'a pas pu trouver le fichier « %s » : %m"
+
+#: pg_waldump.c:359
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "n'a pas pu lire à partir du fichier « %s », décalage %u : %m"
+
+#: pg_waldump.c:363
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "n'a pas pu lire à partir du fichier %s, décalage %u : %d lu sur %zu"
+
+#: pg_waldump.c:712
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s décode et affiche les journaux de transactions PostgreSQL pour du\n"
+"débogage.\n"
+"\n"
+
+#: pg_waldump.c:714
+#, c-format
+msgid "Usage:\n"
+msgstr "Usage :\n"
+
+#: pg_waldump.c:715
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [SEG_DEBUT [SEG_FIN]]\n"
+
+#: pg_waldump.c:716
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Options :\n"
+
+#: pg_waldump.c:717
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr ""
+" -b, --bkp-details affiche des informations détaillées sur les\n"
+" blocs de sauvegarde\n"
+
+#: pg_waldump.c:718
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr ""
+" -e, --end=RECPTR arrête la lecture des journaux de transactions à\n"
+" l'emplacement RECPTR\n"
+
+#: pg_waldump.c:719
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr ""
+" -f, --follow continue après avoir atteint la fin des journaux\n"
+" de transactions\n"
+
+#: pg_waldump.c:720
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N nombre d'enregistrements à afficher\n"
+
+#: pg_waldump.c:721
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=CHEMIN répertoire où trouver les fichiers des segments\n"
+" de journaux de transactions ou un répertoire\n"
+" avec ./pg_wal qui contient ces fichiers (par\n"
+" défaut : répertoire courant, ./pg_wal,\n"
+" $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet n'écrit aucun message, sauf en cas d'erreur\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR affiche seulement les enregistrements générés\n"
+" par le gestionnaire de ressources RMGR, utilisez\n"
+" --rmgr=list pour avoir une liste des noms valides\n"
+" de gestionnaires de ressources\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr ""
+" -s, --start=RECPTR commence à lire à l'emplacement RECPTR des\n"
+" journaux de transactions\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI timeline à partir de laquelle lire les\n"
+" enregistrements des journaux (par défaut: 1 ou\n"
+" la valeur utilisée dans SEG_DÉBUT)\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version affiche la version puis quitte\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr ""
+" -x, --xid=XID affiche seulement des enregistrements avec\n"
+" l'identifiant de transaction XID\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=enregistrement] affiche des statistiques à la place\n"
+" d'enregistrements (en option, affiche des\n"
+" statistiques par enregistrement)\n"
+
+#: pg_waldump.c:734
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help affiche cette aide puis quitte\n"
+
+#: pg_waldump.c:735
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapporter les bogues à <%s>.\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Page d'accueil %s : <%s>\n"
+
+#: pg_waldump.c:813
+#, c-format
+msgid "no arguments specified"
+msgstr "aucun argument spécifié"
+
+#: pg_waldump.c:828
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "n'a pas pu analyser l'emplacement de fin du journal de transactions « %s »"
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "n'a pas pu analyser la limite « %s »"
+
+#: pg_waldump.c:871
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "le gestionnaire de ressources « %s » n'existe pas"
+
+#: pg_waldump.c:880
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "n'a pas pu analyser l'emplacement de début du journal de transactions « %s »"
+
+#: pg_waldump.c:890
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "n'a pas pu analyser la timeline « %s »"
+
+#: pg_waldump.c:897
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "n'a pas pu analyser « %s » comme un identifiant de transaction"
+
+#: pg_waldump.c:912
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "argument non reconnu pour --stats : %s"
+
+#: pg_waldump.c:925
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)"
+
+#: pg_waldump.c:935 pg_waldump.c:955
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
+
+#: pg_waldump.c:961 pg_waldump.c:992
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "n'a pas pu ouvrir le fichier « %s »"
+
+#: pg_waldump.c:971
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "l'emplacement de début des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
+
+#: pg_waldump.c:999
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SEG_FIN %s est avant SEG_DÉBUT %s"
+
+#: pg_waldump.c:1014
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "l'emplacement de fin des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
+
+#: pg_waldump.c:1027
+#, c-format
+msgid "no start WAL location given"
+msgstr "pas d'emplacement donné de début du journal de transactions"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: pg_waldump.c:1043
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "n'a pas pu trouver un enregistrement valide après %X/%X"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet\n"
+msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets\n"
+
+#: pg_waldump.c:1105
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%X : %s"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Essayez « %s --help » pour plus d'informations.\n"
+
+#~ msgid "cannot open directory \"%s\": %s"
+#~ msgstr "ne peut pas ouvrir le répertoire « %s » : %s"
+
+#~ msgid "could not seek in log segment %s to offset %u: %s"
+#~ msgstr "n'a pas pu rechercher dans le segment %s du journal de transactions au décalage %u : %s"
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "données insuffisantes dans le fichier « %s »"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s : FATAL : "
+
+#~ msgid "could not open directory \"%s\": %s"
+#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s"
+
+#~ msgid "path \"%s\" could not be opened: %s"
+#~ msgstr "le chemin « %s » n'a pas pu être ouvert : %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Rapporter les bogues à <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid "could not read from log file %s, offset %u, length %d: %s"
+#~ msgstr "n'a pas pu lire à partir du segment %s du journal de transactions, décalage %u, longueur %d : %s"
+
+#~ msgid "could not seek in log file %s to offset %u: %s"
+#~ msgstr "n'a pas pu se déplacer dans le fichier de transactions %s au décalage %u : %s"
+
+#~ msgid "could not read file \"%s\": %s"
+#~ msgstr "n'a pas pu lire le fichier « %s » : %s"
+
+#~ msgid "could not open file \"%s\": %s"
+#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s"
diff --git a/src/bin/pg_waldump/po/ja.po b/src/bin/pg_waldump/po/ja.po
new file mode 100644
index 0000000..80938c3
--- /dev/null
+++ b/src/bin/pg_waldump/po/ja.po
@@ -0,0 +1,308 @@
+# Japanese message translation file for pg_waldump
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL 14)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2021-08-25 17:22+0900\n"
+"PO-Revision-Date: 2021-05-17 16:03+0900\n"
+"Last-Translator: Kyotaro Horiguchi <horikyota.ntt@gmail.com>\n"
+"Language-Team: Japan PostgreSQL Users Group <jpug-doc@ml.postgresql.jp>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+"X-Generator: Poedit 1.8.13\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "致命的エラー: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "エラー: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "警告: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "ファイル\"%s\"をオープンできませんでした: %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "WALセグメントのサイズは1MBと1GBの間の2の累乗でなければなりません、しかしWALファイル\"%s\"のヘッダでは%dバイトとなっています"
+msgstr[1] "WALセグメントのサイズは1MBと1GBの間の2の累乗でなければなりません、しかしWALファイル\"%s\"のヘッダでは%dバイトとなっています"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "ファイル\"%s\"の読み取りに失敗しました: %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "WALファイル\"%s\"がありませんでした"
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "WALファイルが全くありません"
+
+#: pg_waldump.c:318
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "ファイル\"%s\"が見つかりませんでした: %m"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "ファイル\"%s\"のオフセット%uを読み取れませんでした: %m"
+
+#: pg_waldump.c:371
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "ファイル%1$s、オフセット%2$uから読み取れませんでした: %4$zu中%3$d"
+
+#: pg_waldump.c:724
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%sはデバッグのためにPostgreSQLの先行書き込みログをデコードして表示します。\n"
+"\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid "Usage:\n"
+msgstr "使用方法:\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [オプション] ... [開始セグメント [終了セグメント]]\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"オプション:\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details バックアップブロックに関する詳細情報を出力\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR WAL位置RECPTRで読み込みを停止\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow WALの終端に達してからもリトライを続ける\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N 表示するレコード数\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH ログセグメントファイルを探すディレクトリ、または\n"
+" そのようなファイルを格納している ./pg_walディレクトリ\n"
+" (デフォルト: カレントディレクトリ, ./pg_wal,\n"
+" $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet エラー以外何も出力しない\n"
+
+#: pg_waldump.c:737
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR リソースマネージャーRMGRで生成されたレコードのみを表示\n"
+" --rmgr=list で有効なリソースマネージャーの一覧を表示\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR WAL位置RECPTRから読み込みを開始\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI ログレコードを読むべきタイムライン\n"
+" (デフォルト: 1 またはSTARTSEGで使われた値)\n"
+
+#: pg_waldump.c:742
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version バージョン情報を表示して終了\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID トランザクションIDがXIDのレコードのみを表示する\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=レコード] レコードの代わりに統計情報を表示する\n"
+" (オプションで、レコードごとの統計を表示する)\n"
+
+#: pg_waldump.c:746
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help このヘルプを表示して終了\n"
+
+#: pg_waldump.c:747
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"バグは<%s>に報告してください。\n"
+
+#: pg_waldump.c:748
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s ホームページ: <%s>\n"
+
+#: pg_waldump.c:825
+#, c-format
+msgid "no arguments specified"
+msgstr "引数が指定されていません"
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "WALの終了位置\"%s\"をパースできませんでした"
+
+#: pg_waldump.c:852
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "表示レコード数の制限値\"%s\"をパースできませんでした"
+
+#: pg_waldump.c:883
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "リソースマネージャー\"%s\"は存在しません"
+
+#: pg_waldump.c:892
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "WALの開始位置\"%s\"をパースできませんでした"
+
+#: pg_waldump.c:902
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "タイムライン\"%s\"をパースできませんでした"
+
+#: pg_waldump.c:909
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "\"%s\"をトランザクションIDとしてパースできませんでした"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "--statsの引数が認識できません: %s"
+
+#: pg_waldump.c:937
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "コマンドライン引数が多すぎます (先頭は\"%s\")"
+
+#: pg_waldump.c:947 pg_waldump.c:967
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m"
+
+#: pg_waldump.c:973 pg_waldump.c:1003
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "ファイル\"%s\"を開くことができませんでした"
+
+#: pg_waldump.c:983
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "WALの開始位置%X/%Xはファイル\"%s\"の中ではありません"
+
+#: pg_waldump.c:1010
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG%sがSTARTSEG %sより前に現れました"
+
+#: pg_waldump.c:1025
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "WALの終了位置%X/%Xはファイル\"%s\"の中ではありません"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "no start WAL location given"
+msgstr "WALの開始位置が指定されていません"
+
+#: pg_waldump.c:1051
+#, c-format
+msgid "out of memory"
+msgstr "メモリ不足"
+
+#: pg_waldump.c:1057
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%Xの後に有効なレコードが見つかりませんでした"
+
+#: pg_waldump.c:1067
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "先頭レコードが%X/%Xの後の%X/%Xの位置にありました。%uバイト分をスキップしています\n"
+msgstr[1] "先頭レコードが%X/%Xの後の%X/%Xの位置にありました。%uバイト分をスキップしています\n"
+
+#: pg_waldump.c:1118
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "WALレコードの%X/%Xでエラー: %s"
+
+#: pg_waldump.c:1127
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "詳細は\"%s --help\"で確認してください。\n"
diff --git a/src/bin/pg_waldump/po/ko.po b/src/bin/pg_waldump/po/ko.po
new file mode 100644
index 0000000..3a175f0
--- /dev/null
+++ b/src/bin/pg_waldump/po/ko.po
@@ -0,0 +1,313 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Ioseph Kim <ioseph@uri.sarang.net>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-02-09 20:14+0000\n"
+"PO-Revision-Date: 2019-10-31 18:06+0900\n"
+"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n"
+"Language-Team: Korean <pgsql-kr@postgresql.kr>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../../src/common/logging.c:188
+#, c-format
+msgid "fatal: "
+msgstr "심각: "
+
+#: ../../../src/common/logging.c:195
+#, c-format
+msgid "error: "
+msgstr "오류: "
+
+#: ../../../src/common/logging.c:202
+#, c-format
+msgid "warning: "
+msgstr "경고: "
+
+#: pg_waldump.c:148
+#, c-format
+msgid "could not open file \"%s\": %s"
+msgstr "\"%s\" 파일을 열 수 없음: %s"
+
+#: pg_waldump.c:205
+#, c-format
+msgid ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
+"file \"%s\" header specifies %d byte"
+msgid_plural ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
+"file \"%s\" header specifies %d bytes"
+msgstr[0] ""
+"WAL 조각 파일 크기는 1MB에서 1GB사이 2^n 이어야하지만, \"%s\" WAL 파일 헤더에"
+"는 %d 바이트로 지정되어있습니다"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": %s"
+msgstr "\"%s\" 파일을 읽을 수 없음: %s"
+
+#: pg_waldump.c:216
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu"
+
+#: pg_waldump.c:294
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "\"%s\" WAL 파일 찾기 실패"
+
+#: pg_waldump.c:296
+#, c-format
+msgid "could not find any WAL file"
+msgstr "어떤 WAL 파일도 찾을 수 없음"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not find file \"%s\": %s"
+msgstr "\"%s\" 파일을 찾을 수 없음: %s"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not seek in log file %s to offset %u: %s"
+msgstr "%s 로그 조각 파일에서 %u 위치를 찾을 수 없음: %s"
+
+#: pg_waldump.c:405
+#, c-format
+msgid "could not read from log file %s, offset %u, length %d: %s"
+msgstr "%s 로그 조각 파일에서 %u 위치에서 %d 길이를 읽을 수 없음: %s"
+
+#: pg_waldump.c:408
+#, c-format
+msgid "could not read from log file %s, offset %u: read %d of %zu"
+msgstr "%s 로그 조각 파일에서 %u 위치에서 읽기 실패: %d / %zu 읽음"
+
+#: pg_waldump.c:788
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr "%s 명령은 디버깅을 위해 PostgreSQL 미리 쓰기 로그(WAL)를 분석합니다.\n"
+
+#: pg_waldump.c:790
+#, c-format
+msgid "Usage:\n"
+msgstr "사용법:\n"
+
+#: pg_waldump.c:791
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [옵션]... [시작파일 [마침파일]]\n"
+
+#: pg_waldump.c:792
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"옵션들:\n"
+
+#: pg_waldump.c:793
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details 백업 블록에 대한 자세한 정보도 출력함\n"
+
+#: pg_waldump.c:794
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR RECPTR WAL 위치에서 읽기 멈춤\n"
+
+#: pg_waldump.c:795
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow WAL 끝까지 읽은 뒤에도 계속 진행함\n"
+
+#: pg_waldump.c:796
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N 출력할 레코드 수\n"
+
+#: pg_waldump.c:797
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/"
+"pg_wal)\n"
+msgstr ""
+" -p, --path=PATH 로그 조각 파일이 있는 디렉터리 지정, 또는\n"
+" ./pg_wal 디렉터리가 있는 디렉터리 지정\n"
+" (기본값: 현재 디렉터리, ./pg_wal, PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:800
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager "
+"RMGR;\n"
+" use --rmgr=list to list valid resource manager "
+"names\n"
+msgstr ""
+" -r, --rmgr=RMGR 리소스 관리자 RMGR에서 만든 레코드만 출력함\n"
+" 리소스 관리자 이들을 --rmgr=list 로 봄\n"
+
+#: pg_waldump.c:802
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR WAL RECPTR 위치에서 읽기 시작\n"
+
+#: pg_waldump.c:803
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI 읽기 시작할 타임라인 번호\n"
+" (기본값: 1 또는 STARTSEG에 사용된 값)\n"
+
+#: pg_waldump.c:805
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version 버전 정보 보여주고 마침\n"
+
+#: pg_waldump.c:806
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID 트랜잭션 XID 레코드만 출력\n"
+
+#: pg_waldump.c:807
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] 레크드 통계 정보를 보여줌\n"
+" (추가로, 레코드당 통계정보를 출력)\n"
+
+#: pg_waldump.c:809
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 이 도움말을 보여주고 마침\n"
+
+#: pg_waldump.c:810
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+msgstr ""
+"\n"
+"오류보고: <pgsql-bugs@lists.postgresql.org>.\n"
+
+#: pg_waldump.c:884
+#, c-format
+msgid "no arguments specified"
+msgstr "인자를 지정하세요"
+
+#: pg_waldump.c:899
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "\"%s\" 이름의 WAL 위치를 해석할 수 없음"
+
+#: pg_waldump.c:911
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "\"%s\" 제한을 해석할 수 없음"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "\"%s\" 이름의 리소스 관리자가 없음"
+
+#: pg_waldump.c:948
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "\"%s\" WAL 위치를 해석할 수 없음"
+
+#: pg_waldump.c:958
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "\"%s\" 타임라인 번호를 해석할 수 없음"
+
+#: pg_waldump.c:965
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "\"%s\" 문자열을 트랜잭션 ID로 해석할 수 없음"
+
+#: pg_waldump.c:980
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "--stats 옵션값이 바르지 않음: %s"
+
+#: pg_waldump.c:993
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")"
+
+#: pg_waldump.c:1003
+#, c-format
+msgid "path \"%s\" could not be opened: %s"
+msgstr "\"%s\" 경로를 열 수 없음: %s"
+
+#: pg_waldump.c:1024
+#, c-format
+msgid "could not open directory \"%s\": %s"
+msgstr "\"%s\" 디렉터리를 열 수 없음: %s"
+
+#: pg_waldump.c:1031 pg_waldump.c:1062
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "\"%s\" 파일을 열 수 없음"
+
+#: pg_waldump.c:1041
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "%X/%X WAL 시작 위치가 \"%s\" 파일에 없음"
+
+#: pg_waldump.c:1069
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "%s ENDSEG가 %s STARTSEG 앞에 있음"
+
+#: pg_waldump.c:1084
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "%X/%X WAL 끝 위치가 \"%s\" 파일에 없음"
+
+#: pg_waldump.c:1097
+#, c-format
+msgid "no start WAL location given"
+msgstr "입력한 WAL 위치에서 시작할 수 없음"
+
+#: pg_waldump.c:1107
+#, c-format
+msgid "out of memory"
+msgstr "메모리 부족"
+
+#: pg_waldump.c:1113
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%X 위치 뒤에 올바른 레코드가 없음"
+
+#: pg_waldump.c:1124
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "첫 레코드가 %X/%X 뒤에 있고, (%X/%X), %u 바이트 건너 뜀\n"
+
+#: pg_waldump.c:1175
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "%X/%X 위치에서 WAL 레코드 오류: %s"
+
+#: pg_waldump.c:1185
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n"
diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po
new file mode 100644
index 0000000..6148336
--- /dev/null
+++ b/src/bin/pg_waldump/po/ru.po
@@ -0,0 +1,363 @@
+# Russian message translation file for pg_waldump
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-05-07 06:06+0300\n"
+"PO-Revision-Date: 2020-09-03 15:07+0300\n"
+"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
+"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "важно: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "ошибка: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "предупреждение: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
+"file \"%s\" header specifies %d byte"
+msgid_plural ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
+"file \"%s\" header specifies %d bytes"
+msgstr[0] ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
+msgstr[1] ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
+msgstr[2] ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
+
+#: pg_waldump.c:208
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: pg_waldump.c:211
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: pg_waldump.c:272
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "не удалось найти файл WAL \"%s\""
+
+#: pg_waldump.c:274
+#, c-format
+msgid "could not find any WAL file"
+msgstr "не удалось найти ни одного файла WAL"
+
+#: pg_waldump.c:315
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "не удалось найти файл \"%s\": %m"
+
+#: pg_waldump.c:364
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "не удалось прочитать из файла \"%s\" по смещению %u: %m"
+
+#: pg_waldump.c:368
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr ""
+"не удалось прочитать из файла %s по смещению %u (прочитано байт: %d из %zu)"
+
+#: pg_waldump.c:721
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s декодирует и показывает журналы предзаписи PostgreSQL для целей отладки.\n"
+"\n"
+
+#: pg_waldump.c:723
+#, c-format
+msgid "Usage:\n"
+msgstr "Использование:\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [ПАРАМЕТР]... [НАЧАЛЬНЫЙ_СЕГМЕНТ [КОНЕЧНЫЙ_СЕГМЕНТ]]\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Параметры:\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup blocks\n"
+msgstr ""
+" -b, --bkp-details вывести подробную информацию о копиях страниц\n"
+
+# well-spelled: ПОЗЗАП
+#: pg_waldump.c:727
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr ""
+" -e, --end=ПОЗЗАП прекратить чтение в заданной позиции записи в WAL\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr ""
+" -f, --follow повторять попытки чтения по достижении конца WAL\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N число выводимых записей\n"
+
+# skip-rule: space-before-period
+#: pg_waldump.c:730
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/"
+"pg_wal)\n"
+msgstr ""
+" -p, --path=ПУТЬ каталог, где нужно искать файлы сегментов журнала, "
+"или\n"
+" каталог с подкаталогом ./pg_wal, содержащим такие "
+"файлы\n"
+" (по умолчанию: текущий каталог,\n"
+" ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet не выводить никаких сообщений, кроме ошибок\n"
+
+# well-spelled: МНГР
+#: pg_waldump.c:734
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager "
+"RMGR;\n"
+" use --rmgr=list to list valid resource manager "
+"names\n"
+msgstr ""
+" -r, --rmgr=МНГР выводить записи только менеджера ресурсов МНГР;\n"
+" для просмотра списка доступных менеджеров ресурсов\n"
+" укажите --rmgr=list\n"
+
+# well-spelled: ПОЗЗАП
+#: pg_waldump.c:736
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr ""
+" -s, --start=ПОЗЗАП начать чтение с заданной позиции записи в WAL\n"
+
+# well-spelled: ЛВР
+#: pg_waldump.c:737
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=ЛВР линия времени, записи которой будут прочитаны\n"
+" (по умолчанию: 1 или линия, определяемая "
+"аргументом\n"
+" НАЧАЛЬНЫЙ_СЕГМЕНТ)\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version показать версию и выйти\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr ""
+" -x, --xid=XID выводить только записи с заданным\n"
+" идентификатором транзакции\n"
+
+#: pg_waldump.c:741
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] показывать статистику вместо записей\n"
+" (также возможно получить статистику по записям)\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показать эту справку и выйти\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Об ошибках сообщайте по адресу <%s>.\n"
+
+#: pg_waldump.c:745
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашняя страница %s: <%s>\n"
+
+#: pg_waldump.c:822
+#, c-format
+msgid "no arguments specified"
+msgstr "аргументы не указаны"
+
+#: pg_waldump.c:837
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "не удалось разобрать конечную позицию в WAL \"%s\""
+
+#: pg_waldump.c:849
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "не удалось разобрать предел в \"%s\""
+
+#: pg_waldump.c:880
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "менеджер ресурсов \"%s\" не существует"
+
+#: pg_waldump.c:889
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "не удалось разобрать начальную позицию в WAL \"%s\""
+
+#: pg_waldump.c:899
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "не удалось разобрать линию времени в \"%s\""
+
+#: pg_waldump.c:906
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "не удалось разобрать в \"%s\" идентификатор транзакции"
+
+#: pg_waldump.c:921
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "нераспознанный аргумент ключа --stats: %s"
+
+#: pg_waldump.c:934
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "слишком много аргументов командной строки (первый: \"%s\")"
+
+#: pg_waldump.c:944 pg_waldump.c:964
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: pg_waldump.c:970 pg_waldump.c:1000
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "не удалось открыть файл \"%s\""
+
+#: pg_waldump.c:980
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\""
+
+#: pg_waldump.c:1007
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫЙ_СЕГМЕНТ %s"
+
+#: pg_waldump.c:1022
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\""
+
+#: pg_waldump.c:1034
+#, c-format
+msgid "no start WAL location given"
+msgstr "начальная позиция в WAL не задана"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "out of memory"
+msgstr "нехватка памяти"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "не удалось найти действительную запись после позиции %X/%X"
+
+#: pg_waldump.c:1064
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] ""
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+msgstr[1] ""
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+msgstr[2] ""
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "ошибка в записи WAL в позиции %X/%X: %s"
+
+#: pg_waldump.c:1124
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
+
+#~ msgid "could not seek in log file %s to offset %u: %s"
+#~ msgstr "не удалось переместиться в файле журнала %s к смещению %u: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Об ошибках сообщайте по адресу <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid "path \"%s\" could not be opened: %s"
+#~ msgstr "не удалось открыть путь \"%s\": %s"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s: СБОЙ: "
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "недостаточно данных в файле \"%s\""
diff --git a/src/bin/pg_waldump/po/sv.po b/src/bin/pg_waldump/po/sv.po
new file mode 100644
index 0000000..6e926ad
--- /dev/null
+++ b/src/bin/pg_waldump/po/sv.po
@@ -0,0 +1,305 @@
+# Swedish message translation file for pg_waldump
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 14\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-04-11 01:15+0000\n"
+"PO-Revision-Date: 2021-11-07 10:37+0100\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
+"Language-Team: Swedish <pgsql-translators@postgresql.org>\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"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatalt: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "fel: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "varning: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "kunde inte öppna fil \"%s\": %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men headern i WAL-filen \"%s\" anger %d byte"
+msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men headern i WAL-filen \"%s\" anger %d byte"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "kunde inte läsa fil \"%s\": %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "kunde inte läsa fil \"%s\": läste %d av %zu"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "kunde inte lokalisera WAL-fil \"%s\""
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "kunde inte hitta några WAL-filer"
+
+#: pg_waldump.c:319
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "kunde inte hitta filen \"%s\": %m"
+
+#: pg_waldump.c:359
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "Kunde inte läsa från fil %s på offset %u: %m"
+
+#: pg_waldump.c:363
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "kunde inte läsa från fil %s, offset %u, läste %d av %zu"
+
+#: pg_waldump.c:712
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr "%s avkodar och visar PostgreSQLs write-ahead-logg för debuggning.\n"
+
+#: pg_waldump.c:714
+#, c-format
+msgid "Usage:\n"
+msgstr "Användning:\n"
+
+#: pg_waldump.c:715
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [FLAGGA]... [STARTSEG [SLUTSEG]]\n"
+
+#: pg_waldump.c:716
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Flaggor:\n"
+
+#: pg_waldump.c:717
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details skriv detaljerad information om backupblock\n"
+
+#: pg_waldump.c:718
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR stoppa läsning vid WAL-position RECPTR\n"
+
+#: pg_waldump.c:719
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow fortsätt försök efter att ha nått slutet av WAL\n"
+
+#: pg_waldump.c:720
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N antal poster att visa\n"
+
+#: pg_waldump.c:721
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=SÖKVÄG katalog där man hittar loggsegmentfiler eller en\n"
+" katalog med en ./pg_wal som innehåller sådana filer\n"
+" (standard: aktuell katalog, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet skriv inte ut några meddelanden förutom fel\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR visa bara poster skapade av resurshanteraren RMGR;\n"
+" använd --rmgr=list för att lista giltiga resurshanterarnamn\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR börja läsning vid WAL-position RECPTR\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI tidslinje från vilken vi läser loggposter\n"
+" (standard: 1 eller värdet som används i STARTSEG)\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version visa versionsinformation, avsluta sedan\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID visa baras poster med transaktions-ID XID\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=post] visa statistik istället för poster\n"
+" (alternativt, visa statistik per post)\n"
+
+#: pg_waldump.c:734
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help visa den här hjälpen, avsluta sedan\n"
+
+#: pg_waldump.c:735
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapportera fel till <%s>.\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "hemsida för %s: <%s>\n"
+
+#: pg_waldump.c:813
+#, c-format
+msgid "no arguments specified"
+msgstr "inga argument angivna"
+
+#: pg_waldump.c:828
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "kunde inte parsa slut-WAL-position \"%s\""
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "kunde inte parsa gränsen \"%s\""
+
+#: pg_waldump.c:871
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "resurshanterare \"%s\" finns inte"
+
+#: pg_waldump.c:880
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "kunde inte parsa start-WAL-position \"%s\""
+
+#: pg_waldump.c:890
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "kunde inte parsa tidlinjen \"%s\""
+
+#: pg_waldump.c:897
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "kunde inte parsa \"%s\" som ett transaktions-ID"
+
+#: pg_waldump.c:912
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "okänt argument till --stats: %s"
+
+#: pg_waldump.c:925
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "för många kommandoradsargument (första är \"%s\")"
+
+#: pg_waldump.c:935 pg_waldump.c:955
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "kunde inte öppna katalog \"%s\": %m"
+
+#: pg_waldump.c:961 pg_waldump.c:992
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "kunde inte öppna filen \"%s\""
+
+#: pg_waldump.c:971
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "start-WAL-position %X/%X är inte i filen \"%s\""
+
+#: pg_waldump.c:999
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SLUTSEG %s är före STARTSEG %s"
+
+#: pg_waldump.c:1014
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "slut-WAL-position %X/%X är inte i filen \"%s\""
+
+#: pg_waldump.c:1027
+#, c-format
+msgid "no start WAL location given"
+msgstr "ingen start-WAL-position angiven"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "out of memory"
+msgstr "slut på minne"
+
+#: pg_waldump.c:1043
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "kunde inte hitta en giltig post efter %X/%X"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "första posten efter %X/%X, vid %X/%X, hoppar över %u byte\n"
+msgstr[1] "första posten efter %X/%X, vid %X/%X, hoppar över %u byte\n"
+
+#: pg_waldump.c:1105
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "fel i WAL-post vid %X/%X: %s"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Försök med \"%s --help\" för mer information.\n"
diff --git a/src/bin/pg_waldump/po/tr.po b/src/bin/pg_waldump/po/tr.po
new file mode 100644
index 0000000..272dce4
--- /dev/null
+++ b/src/bin/pg_waldump/po/tr.po
@@ -0,0 +1,306 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
+# Abdullah Gülner <agulner@gmail.com>, 2017, 2018, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-04-26 13:46+0000\n"
+"PO-Revision-Date: 2021-09-16 09:43+0200\n"
+"Last-Translator: Abdullah Gülner\n"
+"Language-Team: Turkish <ceviri@postgresql.org.tr>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: ../../../src/fe_utils/logging.c:182
+#, c-format
+msgid "fatal: "
+msgstr "ölümcül (fatal): "
+
+#: ../../../src/fe_utils/logging.c:189
+#, c-format
+msgid "error: "
+msgstr "hata: "
+
+#: ../../../src/fe_utils/logging.c:196
+#, c-format
+msgid "warning: "
+msgstr "uyarı: "
+
+#: pg_waldump.c:148
+#, c-format
+msgid "could not open file \"%s\": %s"
+msgstr "\"%s\" dosyası açılamıyor: %s"
+
+#: pg_waldump.c:205
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat \"%s\" WAL dosyasının başlığında (header) %d bayt belirtilmektedir"
+msgstr[1] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat \"%s\" WAL dosyasının başlığında (header) %d bayt belirtilmektedir"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": %s"
+msgstr "\"%s\" dosyası okunamadı: %s"
+
+#: pg_waldump.c:216
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "\"%1$s\" dosyası okuma hatası: %3$zu nun %2$d si okundu"
+
+#: pg_waldump.c:294
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "\"%s\" WAL dosyasının yeri tespit edilemedi"
+
+#: pg_waldump.c:296
+#, c-format
+msgid "could not find any WAL file"
+msgstr "hiç WAL dosyası bulunamadı"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not find file \"%s\": %s"
+msgstr "\"%s\" dosyası bulunamadı: %s"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not seek in log file %s to offset %u: %s"
+msgstr "%s log dosyasında aranamadı %u göreli konumuna (pfset) kadar: %s"
+
+#: pg_waldump.c:405
+#, c-format
+msgid "could not read from log file %s, offset %u, length %d: %s"
+msgstr "log dosyasından okunamadı %s, göreli konum (offset) %u, uzunluk %d: %s"
+
+#: pg_waldump.c:408
+#, c-format
+msgid "could not read from log file %s, offset %u: read %d of %zu"
+msgstr "%1$s log dosyasından okunamadı , göreli konum (offset) %2$u: %4$zu'nin %3$d'si okundu"
+
+#: pg_waldump.c:787
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s PostgreSQL write-ahead loglarını hata ayıklama için çözer (decode) ve görüntüler.\n"
+"\n"
+
+#: pg_waldump.c:789
+#, c-format
+msgid "Usage:\n"
+msgstr "Kullanımı:\n"
+
+#: pg_waldump.c:790
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [SEÇENEK]... [BAŞLAMASEG [BİTİŞSEG]]\n"
+
+#: pg_waldump.c:791
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Seçenekler:\n"
+
+#: pg_waldump.c:792
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details yedek blokları hakkında ayrıntılı bilgi görüntüler\n"
+
+#: pg_waldump.c:793
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR RECPTR WAL konumunda okumayı durdur\n"
+
+#: pg_waldump.c:794
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow WAL sonuna ulaştıktan sonra denemeye devam et\n"
+
+#: pg_waldump.c:795
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N görüntülenecek kayıt sayısı\n"
+
+#: pg_waldump.c:796
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH log segment dosyalarının bulunacağı dizin veya\n"
+" öyle dosyaları içeren ./pg_wal'li bir dizin \n"
+" (varsayılan: geçerli dizin, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:799
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR sadece RMGR kaynak yöneticisi tarafından oluşturulan kayıtları göster;\n"
+" geçerli kaynak yöneticisi adlarını listelemek için --rmgr=list kullanın\n"
+
+#: pg_waldump.c:801
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR RECPTR WAL konumunda okumayı başlat\n"
+
+#: pg_waldump.c:802
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI log kayıtlarının okunacağı zaman çizelgesi\n"
+" (varsayılan: 1 veya BAŞLAMASEG'de belirtilen değer)\n"
+
+#: pg_waldump.c:804
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version sürüm bilgisini görüntüle, sonra çık\n"
+
+#: pg_waldump.c:805
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID sadece XID işlem ID'li kayıtları göster\n"
+
+#: pg_waldump.c:806
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] kayıtlar yerine istatistikleri göster\n"
+" (opsiyonel olarak, kayıt bazında istatistikleri göster)\n"
+
+#: pg_waldump.c:808
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help bu yardımı göster, sonra çık\n"
+
+#: pg_waldump.c:868
+#, c-format
+msgid "no arguments specified"
+msgstr "hiç argüman belirtilmemiş"
+
+#: pg_waldump.c:883
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "bitiş WAL konumu \"%s\" ayrıştırılamadı"
+
+#: pg_waldump.c:899
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "\"%s\" limiti ayrıştırılamadı"
+
+#: pg_waldump.c:927
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "\"%s\" kaynak yöneticisi mevcut değil"
+
+#: pg_waldump.c:936
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "başlama WAL konumu \"%s\" ayrıştırılamadı"
+
+#: pg_waldump.c:946
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "\"%s\" zaman çizelgesi ayrıştırılamadı"
+
+#: pg_waldump.c:957
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "\"%s\" bir işlem (transaction) ID'si olarak ayrıştırılamadı"
+
+#: pg_waldump.c:972
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "--stats için bilinmeyen argüman: %s"
+
+#: pg_waldump.c:985
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "çok fazla komut satırı argümanı var (ilki \"%s\")"
+
+#: pg_waldump.c:995
+#, c-format
+msgid "path \"%s\" could not be opened: %s"
+msgstr "\"%s\" yolu açılamadı: %s"
+
+#: pg_waldump.c:1016
+#, c-format
+msgid "could not open directory \"%s\": %s"
+msgstr "\"%s\" dizini açılamadı: %s"
+
+#: pg_waldump.c:1023 pg_waldump.c:1054
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "\"%s\" dosyası açılamadı"
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "başlama WAL konumu %X/%X \"%s\" dosyası içinde yok"
+
+#: pg_waldump.c:1061
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "BİTİŞSEG %s BAŞLAMASEG %s den önce"
+
+#: pg_waldump.c:1076
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "bitiş WAL konumu %X/%X \"%s\" dosyası içinde yok"
+
+#: pg_waldump.c:1089
+#, c-format
+msgid "no start WAL location given"
+msgstr "başlama WAL konumu belirtilmemiş"
+
+#: pg_waldump.c:1099
+#, c-format
+msgid "out of memory"
+msgstr "yetersiz bellek"
+
+#: pg_waldump.c:1105
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%X den sonra geçerli bir kayıt bulunamadı"
+
+#: pg_waldump.c:1116
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "ilk kayıt %X/%X 'den sonra, %X/%X 'dedir, %u bayt atlanıyor\n"
+msgstr[1] "ilk kayıt %X/%X 'den sonra, %X/%X 'dedir, %u bayt atlanıyor\n"
+
+#: pg_waldump.c:1167
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "%X/%X de WAL kaydında hata: %s"
+
+#: pg_waldump.c:1177
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Daha fazla bilgi için \"%s --help\" yazın\n"
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "\"%s\" dosyasında yetersiz veri"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s: KRİTİK (FATAL): "
diff --git a/src/bin/pg_waldump/po/uk.po b/src/bin/pg_waldump/po/uk.po
new file mode 100644
index 0000000..b760c69
--- /dev/null
+++ b/src/bin/pg_waldump/po/uk.po
@@ -0,0 +1,293 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: postgresql\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-03-16 09:16+0000\n"
+"PO-Revision-Date: 2022-06-19 10:10\n"
+"Last-Translator: \n"
+"Language-Team: Ukrainian\n"
+"Language: uk_UA\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
+"X-Crowdin-Project: postgresql\n"
+"X-Crowdin-Project-ID: 324573\n"
+"X-Crowdin-Language: uk\n"
+"X-Crowdin-File: /REL_14_STABLE/pg_waldump.pot\n"
+"X-Crowdin-File-ID: 742\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "збій: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "помилка: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "попередження: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не можливо відкрити файл \"%s\": %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байт"
+msgstr[1] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байти"
+msgstr[2] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів"
+msgstr[3] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів"
+
+#: pg_waldump.c:208
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не вдалося прочитати файл \"%s\": %m"
+
+#: pg_waldump.c:211
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu"
+
+#: pg_waldump.c:272
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "не вдалося знайти WAL файл \"%s\""
+
+#: pg_waldump.c:274
+#, c-format
+msgid "could not find any WAL file"
+msgstr "не вдалося знайти жодного WAL файлу"
+
+#: pg_waldump.c:315
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "не вдалося знайти файл \"%s\": %m"
+
+#: pg_waldump.c:364
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "не вдалося прочитати з файлу %s, зсув %u: %m"
+
+#: pg_waldump.c:368
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "не вдалося прочитати з файлу %s, зсув %u: прочитано %d з %zu"
+
+#: pg_waldump.c:721
+#, c-format
+msgid "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n\n"
+msgstr "%s декодує і відображає журнали попереднього запису PostgreSQL для налагодження.\n\n"
+
+#: pg_waldump.c:723
+#, c-format
+msgid "Usage:\n"
+msgstr "Використання:\n"
+
+#: pg_waldump.c:724
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]...[STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:725
+#, c-format
+msgid "\n"
+"Options:\n"
+msgstr "\n"
+"Параметри:\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details виводити детальну інформацію про блоки резервних копій\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR зупинити читання WAL з місця RECPTR\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow повторювати спроби після досягнення кінця WAL\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N число записів для відображення\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr " -p, --path=PATH каталог, у якому шукати файли сегментів журналу \n"
+"або каталог з ./pg_wal, що містить такі файли (за замовчуванням: чинний каталог, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet не друкувати жодного виводу, окрім помилок\n"
+
+#: pg_waldump.c:734
+#, c-format
+msgid " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr " -r, --rmgr=RMGR відображати записи, згенеровані лише ресурсним менеджером RMGR;\n"
+" використовувати --rmgr=list для перегляду списку припустимих імен ресурсного менеджера\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR почати читання WAL з місця RECPTR\n"
+
+#: pg_waldump.c:737
+#, c-format
+msgid " -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr " -t, --timeline=TLI часова шкала, записи якої будуть прочитані (за замовчуванням: 1 або значення, що використовується у STARTSEG)\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version вивести інформацію про версію і вийти\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID показати записи лише з ідентифікатором транзакцій XID\n"
+
+#: pg_waldump.c:741
+#, c-format
+msgid " -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr " -z, --stats[=record] показати статистику замість записів (необов'язково, відобразити щорядкову статистику)\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показати цю довідку потім вийти\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid "\n"
+"Report bugs to <%s>.\n"
+msgstr "\n"
+"Повідомляти про помилки на <%s>.\n"
+
+#: pg_waldump.c:745
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашня сторінка %s: <%s>\n"
+
+#: pg_waldump.c:822
+#, c-format
+msgid "no arguments specified"
+msgstr "не вказано аргументів"
+
+#: pg_waldump.c:837
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "не вдалося проаналізувати кінцеве розташування WAL \"%s\""
+
+#: pg_waldump.c:849
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "не вдалося проаналізувати ліміт \"%s\""
+
+#: pg_waldump.c:880
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "менеджер ресурсів \"%s\" не існує"
+
+#: pg_waldump.c:889
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "не вдалося проаналізувати початкове розташування WAL \"%s\""
+
+#: pg_waldump.c:899
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "не вдалося проаналізувати часову шкалу \"%s\""
+
+#: pg_waldump.c:906
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "не вдалося прочитати \"%s\" як ідентифікатор транзакції"
+
+#: pg_waldump.c:921
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "нерозпізнаний аргумент для --stats: %s"
+
+#: pg_waldump.c:934
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "забагато аргументів у командному рядку (перший \"%s\")"
+
+#: pg_waldump.c:944 pg_waldump.c:964
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не вдалося відкрити каталог \"%s\": %m"
+
+#: pg_waldump.c:970 pg_waldump.c:1000
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "не вдалося відкрити файл \"%s\""
+
+#: pg_waldump.c:980
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "початкове розташування WAL %X/%X не всередині файлу \"%s\""
+
+#: pg_waldump.c:1007
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s перед STARTSEG %s"
+
+#: pg_waldump.c:1022
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "кінцеве розташування WAL %X/%X не всередині файлу \"%s\""
+
+#: pg_waldump.c:1034
+#, c-format
+msgid "no start WAL location given"
+msgstr "не задано початкове розташування WAL"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "out of memory"
+msgstr "недостатньо пам'яті"
+
+#: pg_waldump.c:1054
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "не вдалося знайти припустимий запис після %X/%X"
+
+#: pg_waldump.c:1064
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "перший запис після %X/%X, у %X/%X, пропускається %u байт\n"
+msgstr[1] "перший запис після %X/%X, у %X/%X, пропускається %u байти\n"
+msgstr[2] "перший запис після %X/%X, у %X/%X, пропускається %u байтів\n"
+msgstr[3] "перший запис після %X/%X, у %X/%X, пропускається %u байти\n"
+
+#: pg_waldump.c:1115
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "помилка у записі WAL у %X/%X: %s"
+
+#: pg_waldump.c:1124
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Спробуйте \"%s --help\" для додаткової інформації.\n"
+
diff --git a/src/bin/pg_waldump/po/zh_CN.po b/src/bin/pg_waldump/po/zh_CN.po
new file mode 100644
index 0000000..1e115cb
--- /dev/null
+++ b/src/bin/pg_waldump/po/zh_CN.po
@@ -0,0 +1,307 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2019 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# FIRST AUTHOR <zhangjie2@fujitsu.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 14\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2021-08-14 05:46+0000\n"
+"PO-Revision-Date: 2020-06-23 18:00+0800\n"
+"Last-Translator: Jie Zhang <zhangjie2@fujitsu.com>\n"
+"Language-Team: Chinese (Simplified) <zhangjie2@fujitsu.com>\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=2; plural=(n != 1);\n"
+
+#: ../../../src/common/logging.c:259
+#, c-format
+msgid "fatal: "
+msgstr "致命的: "
+
+#: ../../../src/common/logging.c:266
+#, c-format
+msgid "error: "
+msgstr "错误: "
+
+#: ../../../src/common/logging.c:273
+#, c-format
+msgid "warning: "
+msgstr "警告: "
+
+#: pg_waldump.c:146
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "无法打开文件 \"%s\": %m"
+
+#: pg_waldump.c:202
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+msgstr[0] "WAL段大小必须是1MB到1GB之间的2次幂,但WAL文件\"%s\"头指定了%d个字节"
+msgstr[1] "WAL段大小必须是1MB到1GB之间的2次幂,但WAL文件\"%s\"头指定了%d个字节"
+
+#: pg_waldump.c:210
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "无法读取文件 \"%s\": %m"
+
+#: pg_waldump.c:213
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "无法读取文件\"%1$s\":读取了%3$zu中的%2$d"
+
+#: pg_waldump.c:275
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "找不到WAL文件\"%s\""
+
+#: pg_waldump.c:277
+#, c-format
+msgid "could not find any WAL file"
+msgstr "找不到任何WAL文件"
+
+#: pg_waldump.c:318
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "找不到文件\"%s\": %m"
+
+#: pg_waldump.c:367
+#, c-format
+msgid "could not read from file %s, offset %u: %m"
+msgstr "无法从文件 %s读取,偏移量 %u: %m"
+
+#: pg_waldump.c:371
+#, c-format
+msgid "could not read from file %s, offset %u: read %d of %zu"
+msgstr "无法从文件%1$s读取,偏移量%2$u,读取%4$zu中的%3$d"
+
+#: pg_waldump.c:724
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s 为了调试,解码并显示PostgreSQL预写日志.\n"
+"\n"
+
+#: pg_waldump.c:726
+#, c-format
+msgid "Usage:\n"
+msgstr "使用方法:\n"
+
+#: pg_waldump.c:727
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [选项]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:728
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"选项:\n"
+
+#: pg_waldump.c:729
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details 输出有关备份块的详细信息\n"
+
+#: pg_waldump.c:730
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR 在指定的WAL位置停止读取\n"
+
+#: pg_waldump.c:731
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow 在到达可用WAL的末尾之后,继续重试\n"
+
+#: pg_waldump.c:732
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N 要显示的记录数\n"
+
+#: pg_waldump.c:733
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or a\n"
+" directory with a ./pg_wal that contains such files\n"
+" (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
+msgstr ""
+" -p, --path=PATH 在其中查找日志段文件的目录\n"
+" 或包含此类文件的./pg_wal目录\n"
+" (默认值: 当前的目录, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:736
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet 不打印任何输出,错误除外\n"
+
+#: pg_waldump.c:737
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n"
+" use --rmgr=list to list valid resource manager names\n"
+msgstr ""
+" -r, --rmgr=RMGR 只显示由RMGR资源管理器生成的记录\n"
+" 使用--rmgr=list列出有效的资源管理器名称\n"
+
+#: pg_waldump.c:739
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR 在WAL中位于RECPTR处开始阅读\n"
+
+#: pg_waldump.c:740
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI 要从哪个时间线读取日志记录\n"
+" (默认值:1或者是使用STARTSEG中的值)\n"
+
+#: pg_waldump.c:742
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version 输出版本信息, 然后退出\n"
+
+#: pg_waldump.c:743
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID 只显示用给定事务ID标记的记录\n"
+
+#: pg_waldump.c:744
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] 显示统计信息而不是记录\n"
+" (或者,显示每个记录的统计信息)\n"
+
+#: pg_waldump.c:746
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 显示此帮助, 然后退出\n"
+
+#: pg_waldump.c:747
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"臭虫报告至<%s>.\n"
+
+#: pg_waldump.c:748
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s 主页: <%s>\n"
+
+#: pg_waldump.c:825
+#, c-format
+msgid "no arguments specified"
+msgstr "未指定参数"
+
+#: pg_waldump.c:840
+#, c-format
+msgid "could not parse end WAL location \"%s\""
+msgstr "无法解析WAL结束位置\"%s\""
+
+#: pg_waldump.c:852
+#, c-format
+msgid "could not parse limit \"%s\""
+msgstr "无法解析限制\"%s\""
+
+#: pg_waldump.c:883
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "资源管理器\"%s\"不存在"
+
+#: pg_waldump.c:892
+#, c-format
+msgid "could not parse start WAL location \"%s\""
+msgstr "无法解析WAL起始位置\"%s\""
+
+#: pg_waldump.c:902
+#, c-format
+msgid "could not parse timeline \"%s\""
+msgstr "无法解析时间线\"%s\""
+
+#: pg_waldump.c:909
+#, c-format
+msgid "could not parse \"%s\" as a transaction ID"
+msgstr "无法将\"%s\"解析为事务ID"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "unrecognized argument to --stats: %s"
+msgstr "无法识别的参数--stats: %s"
+
+#: pg_waldump.c:937
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "命令行参数太多 (第一个是 \"%s\")"
+
+#: pg_waldump.c:947 pg_waldump.c:967
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "无法打开目录 \"%s\": %m"
+
+#: pg_waldump.c:973 pg_waldump.c:1003
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "could not open file\"%s\""
+
+#: pg_waldump.c:983
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "WAL开始位置%X/%X不在文件\"%s\"中"
+
+#: pg_waldump.c:1010
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s在STARTSEG %s之前"
+
+#: pg_waldump.c:1025
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "WAL结束位置%X/%X不在文件\"%s\"中"
+
+#: pg_waldump.c:1037
+#, c-format
+msgid "no start WAL location given"
+msgstr "未给出WAL起始位置"
+
+#: pg_waldump.c:1051
+#, c-format
+msgid "out of memory"
+msgstr "内存不足"
+
+#: pg_waldump.c:1057
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "在%X/%X之后找不到有效记录"
+
+#: pg_waldump.c:1067
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "第一条记录在%X/%X之后,位于%X/%X,跳过了%u个字节\n"
+msgstr[1] "第一条记录在%X/%X之后,位于%X/%X,跳过了%u个字节\n"
+
+#: pg_waldump.c:1118
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "在WAL记录中的%X/%X处错误为: %s"
+
+#: pg_waldump.c:1127
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "请用 \"%s --help\" 获取更多的信息.\n"