summaryrefslogtreecommitdiffstats
path: root/src/bin/pg_waldump/po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
commit311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch)
tree0ec307299b1dada3701e42f4ca6eda57d708261e /src/bin/pg_waldump/po
parentInitial commit. (diff)
downloadpostgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.tar.xz
postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.zip
Adding upstream version 15.4.upstream/15.4upstream
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/de.po535
-rw-r--r--src/bin/pg_waldump/po/el.po564
-rw-r--r--src/bin/pg_waldump/po/es.po536
-rw-r--r--src/bin/pg_waldump/po/fr.po646
-rw-r--r--src/bin/pg_waldump/po/it.po532
-rw-r--r--src/bin/pg_waldump/po/ja.po532
-rw-r--r--src/bin/pg_waldump/po/ka.po615
-rw-r--r--src/bin/pg_waldump/po/ko.po572
-rw-r--r--src/bin/pg_waldump/po/ru.po657
-rw-r--r--src/bin/pg_waldump/po/sv.po534
-rw-r--r--src/bin/pg_waldump/po/uk.po515
11 files changed, 6238 insertions, 0 deletions
diff --git a/src/bin/pg_waldump/po/de.po b/src/bin/pg_waldump/po/de.po
new file mode 100644
index 0000000..7e3e141
--- /dev/null
+++ b/src/bin/pg_waldump/po/de.po
@@ -0,0 +1,535 @@
+# German message translation file for pg_waldump
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Peter Eisentraut <peter@eisentraut.org>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-26 04:48+0000\n"
+"PO-Revision-Date: 2022-05-20 10:51+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:276
+#, c-format
+msgid "error: "
+msgstr "Fehler: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "Warnung: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "Detail: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "Tipp: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht öffnen: %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht lesen: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "konnte Datei »%s« nicht lesen: %d von %d gelesen"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "konnte WAL-Datei »%s« nicht finden"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "konnte keine WAL-Datei finden"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht finden: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "konnte nicht aus Datei %s, Position %d lesen: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "konnte nicht aus Datei %s, Position %d lesen: %d von %d gelesen"
+
+#: pg_waldump.c:658
+#, 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:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Aufruf:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Optionen:\n"
+
+#: pg_waldump.c:663
+#, 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:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr ""
+" -B, --block=N mit --relation, nur Datensätze zeigen, die Block N\n"
+" modifizieren\n"
+
+#: pg_waldump.c:665
+#, 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:666
+#, 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:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK nur Datensätze zeigen, die Blöcke in Fork FORK\n"
+" modifizieren; gültige Werte sind main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, 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:670
+#, 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:673
+#, 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:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr ""
+" -R, --relation=T/D/R nur Datensätze zeigen, die Blöcke in Relation T/D/R\n"
+" modifizieren\n"
+
+#: pg_waldump.c:677
+#, 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:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage nur Datensätze mit einem Full-Page-Write zeigen\n"
+
+#: pg_waldump.c:682
+#, 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:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Berichten Sie Fehler an <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s Homepage: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "keine Argumente angegeben"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "ungültige Blocknummer: »%s«"
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "ungültige WAL-Position: »%s«"
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "ungültiger Fork-Name: »%s«"
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "ungültiger Wert »%s« für Option %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "Resouce-Manager »%s« existiert nicht"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "ungültige Relationsangabe: »%s«"
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Erwartet wurde »Tablespace-OID/Datenbank-OID/Relation-Filenode«."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "ungültige Zeitleistenangabe: »%s«"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "ungültige Transaktions-ID-Angabe: »%s«"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "unbekannter Wert für Option %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "Option %s erfordert, dass Option %s angegeben wird"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "konnte Datei »%s« nicht öffnen"
+
+#: pg_waldump.c:1006
+#, 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:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s kommt vor STARTSEG %s"
+
+#: pg_waldump.c:1048
+#, 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:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "keine WAL-Startposition angegeben"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "Speicher aufgebraucht beim Anlegen eines WAL-Leseprozessors"
+
+#: pg_waldump.c:1080
+#, 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:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "Fehler in WAL-Eintrag bei %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Versuchen Sie »%s --help« für weitere Informationen."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ungültiger Datensatz-Offset bei %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "Contrecord angefordert von %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "Speicher aufgebraucht beim Versuch einen Datensatz mit Länge %u zu dekodieren"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "keine Contrecord-Flag bei %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "Contrecord fehlt bei %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %llu, Datenbanksystemidentifikator in pg_control ist %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche Segmentgröße im Seitenkopf"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im Seitenkopf"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u außer der Reihe bei %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "ungültige block_id %u bei %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "konnte Abbild bei %X/%X mit ungültigem angegebenen Block %d nicht wiederherstellen"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "konnte Abbild mit ungültigem Zustand bei %X/%X nicht wiederherstellen, Block %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "konnte Abbild bei %X/%X nicht dekomprimieren, Block %d"
diff --git a/src/bin/pg_waldump/po/el.po b/src/bin/pg_waldump/po/el.po
new file mode 100644
index 0000000..622c6f2
--- /dev/null
+++ b/src/bin/pg_waldump/po/el.po
@@ -0,0 +1,564 @@
+# 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) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-04-16 09:47+0000\n"
+"PO-Revision-Date: 2023-04-17 11:17+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.2.2\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "σφάλμα: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "προειδοποίηση: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "λεπτομέρεια: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "υπόδειξη: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: ανέγνωσε %d από %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "δεν ήταν δυνατός ο εντοπισμός του αρχείου WAL «%s»"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "δεν ήταν δυνατή η εύρεση οποιουδήποτε αρχείου WAL"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "δεν ήταν δυνατή η εύρεση του αρχείου «%s»: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %d: ανέγνωσε %d από %d"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s αποκωδικοποιεί και εμφανίζει αρχεία καταγραφής εμπρόσθιας-εγγραφής PostgreSQL για αποσφαλμάτωση.\n"
+"\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Χρήση:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [ΕΠΙΛΟΓΗ]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Επιλογές:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details πάραγε λεπτομερείς πληροφορίες σχετικά με τα μπλοκ αντιγράφων ασφαλείας\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr " -B, --block=N μαζί με --relation, εμφάνισε μόνο εγγραφές που τροποποιούν το μπλοκ N\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR σταμάτησε την ανάγνωση στη τοποθεσία WAL RECPTR\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow εξακολούθησε την προσπάθεια μετά την επίτευξη του τέλους του WAL\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK εμφάνισε μόνο εγγραφές που τροποποιούν μπλοκ στο fork FORK,\n"
+" έγκυρες ονομασίες είναι main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N αριθμός των εγγραφών για εμφάνιση\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet να μην εκτυπωθεί καμία έξοδος, εκτός από σφάλματα\n"
+
+#: pg_waldump.c:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr " -R, --relation=T/D/R εμφάνισε μόνο εγγραφές που τροποποιούν μπλοκ στη σχέση T/D/R\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR άρχισε την ανάγνωση WAL από την τοποθεσία RECPTR\n"
+
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage εμφάνισε μόνο εγγραφές με εγγραφή πλήρους σελίδας\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID εμφάνισε μόνο εγγραφές με ID συναλλαγής XID\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Υποβάλετε αναφορές σφάλματων σε <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s αρχική σελίδα: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "δεν καθορίστηκαν παράμετροι"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "μη έγκυρος αριθμός μπλοκ: «%s»"
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "άκυρη τοποθεσία WAL: «%s»"
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "μη έγκυρη ονομασία fork «%s»"
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "μη έγκυρη τιμή «%s» για την επιλογή %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "ο προσαρμοσμένος διαχειριστής πόρων «%s» δεν υπάρχει"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "ο διαχειριστής πόρων «%s» δεν υπάρχει"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "μη έγκυρη προδιαγραφή σχέσης: «%s»"
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Αναμένει \"tablespace OID/database OID/relation filenode\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "άκυρη προδιαγραφή χρονοδιαγραμμής: «%s»"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "μη έγκυρη προδιαγραφή ID συναλλαγής: «%s»"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "μη αναγνωρίσιμη τιμή για την επιλογή %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "η επιλογή %s απαιτεί να έχει καθοριστεί η επιλογή %s"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»"
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "τοποθεσία εκκίνησης WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s βρίσκεται πριν από STARTSEG %s"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "η τελική τοποθεσία WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "δεν δόθηκε καμία τοποθεσία έναρξης WAL"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "η μνήμη δεν επαρκεί για την εκχώρηση επεξεργαστή ανάγνωσης WAL"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "δεν ήταν δυνατή η εύρεση έγκυρης εγγραφής μετά %X/%X"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "σφάλμα στην εγγραφή WAL στο %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord ζητείται από %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: χρειαζόταν %u, έλαβε %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "έλλειψη μνήμης κατά την προσπάθεια αποκωδικοποίησης εγγραφής με μήκος %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "μήκος εγγραφής %u σε %X/%X πολύ μακρύ"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "δεν υπάρχει σημαία contrecord στο %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "λείπει contrecord στο %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "εγγραφή με εσφαλμένο prev-link %X/%X σε %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα καταγραφής %s, μετατόπιση %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "μη έγκυρα info bits %04X στο τμήμα καταγραφής %s, μετατόπιση %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: το WAL αναγνωριστικό συστήματος βάσης δεδομένων αρχείων είναι %llu, το pg_control αναγνωριστικό συστήματος βάσης δεδομένων είναι %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο μέγεθος τμήματος στην κεφαλίδα σελίδας"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο XLOG_BLCKSZ στην κεφαλίδα σελίδας"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα καταγραφής %s, μετατόπιση %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα καταγραφής %s, μετατόπιση %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "εκτός ακολουθίας block_id %u στο %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA έχει οριστεί, αλλά δεν περιλαμβάνονται δεδομένα σε %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA δεν έχει οριστεί, αλλά το μήκος των δεδομένων είναι %u σε %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u μήκος μπλοκ εικόνας %u σε %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE δεν έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u σε %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED έχει οριστεί, αλλά μέγεθος μπλοκ εικόνας %u σε %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ούτε BKPIMAGE_HAS_HOLE ούτε BKPIMAGE_IS_COMPRESSED είναι ορισμένα, αλλά το μήκος της εικόνας μπλοκ είναι %u στο %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL είναι ορισμένο, αλλά καμία προηγούμενη rel στο %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "μη έγκυρο block_id %u στο %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "δεν ήταν δυνατή η εύρεση μπλοκ αντιγράφου με ID %d στην εγγραφή WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με ορισμένο άκυρο μπλοκ %d"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με άκυρη κατάσταση, μπλοκ %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%X, μπλοκ %d"
+
+#~ msgid "Try \"%s --help\" for more information.\n"
+#~ msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες.\n"
+
+#~ msgid "could not parse \"%s\" as a transaction ID"
+#~ msgstr "δεν ήταν δυνατή η ανάλυση του «%s» ως ID συναλλαγής"
+
+#~ msgid "could not parse end WAL location \"%s\""
+#~ msgstr "δεν ήταν δυνατή η ανάλυση της τελικής τοποθεσίας WAL «%s»"
+
+#~ msgid "could not parse limit \"%s\""
+#~ msgstr "δεν ήταν δυνατή η ανάλυση του ορίου «%s»"
+
+#~ msgid "could not parse start WAL location \"%s\""
+#~ msgstr "δεν ήταν δυνατή η ανάλυση της αρχικής τοποθεσίας WAL «%s»"
+
+#~ msgid "could not parse timeline \"%s\""
+#~ msgstr "δεν ήταν δυνατή η ανάλυση της χρονογραμμής «%s»"
+
+#~ msgid "could not read file \"%s\": read %d of %zu"
+#~ msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: ανέγνωσε %d από %zu"
+
+#~ msgid "fatal: "
+#~ msgstr "κρίσιμο: "
+
+#~ msgid "out of memory"
+#~ msgstr "έλλειψη μνήμης"
+
+#~ msgid "unrecognized argument to --stats: %s"
+#~ msgstr "μη αναγνωρισμένη παράμετρος για --stats: %s"
diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po
new file mode 100644
index 0000000..2667b01
--- /dev/null
+++ b/src/bin/pg_waldump/po/es.po
@@ -0,0 +1,536 @@
+# 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) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-05-07 16:47+0000\n"
+"PO-Revision-Date: 2022-11-04 13:17+0100\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:276
+#, c-format
+msgid "error: "
+msgstr "error: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "precaución: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "detalle: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "consejo: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "no se pudo ubicar el archivo WAL «%s»"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "no se pudo encontrar ningún archivo WAL"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "no se pudo encontrar el archivo «%s»: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
+
+#: pg_waldump.c:658
+#, 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:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Empleo:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPCIÓN]... [SEGINICIAL [SEGFINAL]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Opciones:\n"
+
+#: pg_waldump.c:663
+#, 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:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr ""
+" -B, --block=N con --relation, sólo mostrar registros que modifican\n"
+" el bloque N\n"
+
+#: pg_waldump.c:665
+#, 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:666
+#, 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:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --form=FORK sólo mostrar registros que modifican bloques en el\n"
+" «fork» FORK; nombres válidos son main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, 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:670
+#, 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:673
+#, 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:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr " -R, --relation=T/D/R sólo mostrar registros que modifican bloques en relación T/D/R\n"
+
+#: pg_waldump.c:677
+#, 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:678
+#, 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:680
+#, 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:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage sólo mostrar registros con escrituras de página completa\n"
+
+#: pg_waldump.c:682
+#, 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:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help mostrar esta ayuda, luego salir\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Reporte errores a <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Sitio web de %s: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "no se especificó ningún argumento"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "número de bloque no válido: «%s»"
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "ubicación de WAL no válida: «%s»"
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "nombre de «fork» no válido: «%s»"
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "el valor «%s» no es válido para la opción «%s»"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "el gestor de recursos personalizado «%s» no existe"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "el gestor de recursos «%s» no existe"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "especificación de relación no válida: «%s»"
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Se esperaba «OID de tablespace/OID de base de datos/filenode de relación»."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "especificación de timeline no válida: «%s»"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "especificación de ID de transacción no válida: «%s»"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "valor no reconocido para la opción %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "la opción %s requiere que se especifique la opción %s"
+
+#: pg_waldump.c:960
+#, 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:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "no se pudo abrir el archivo «%s»"
+
+#: pg_waldump.c:1006
+#, 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:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SEGFINAL %s está antes del SEGINICIAL %s"
+
+#: pg_waldump.c:1048
+#, 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:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "no se especificó posición inicial de WAL"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "se agotó la memoria mientras se emplazaba un procesador de lectura de WAL"
+
+#: pg_waldump.c:1080
+#, 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:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "error en registro de WAL en %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Pruebe «%s --help» para mayor información."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "posición de registro no válida en %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord solicitado por %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "largo de registro no válido en %X/%X: se esperaba %u, se obtuvo %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "largo de registro %u en %X/%X demasiado largo"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "no hay bandera de contrecord en %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "falta contrecord en %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ID de gestor de recursos %u no válido en %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "número mágico %04X no válido en archivo %s, posición %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "info bits %04X no válidos en archivo %s, posición %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "pageaddr %X/%X inesperado en archivo %s, posición %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "ID de timeline %u fuera de secuencia (después de %u) en archivo %s, posición %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u fuera de orden en %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u no válido en %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "registro con largo no válido en %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "no se pudo restaurar imagen en %X/%X con bloque especificado %d no válido"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "no se pudo restaurar imagen en %X/%X con estado no válido, bloque %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "no se pudo restaurar imagen en %X/%X comprimida con %s no soportado por esta instalación, bloque %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "no se pudo restaurar imagen en %X/%X comprimida método desconocido, bloque %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "no se pudo descomprimir imagen en %X/%X, bloque %d"
diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po
new file mode 100644
index 0000000..7ce5d92
--- /dev/null
+++ b/src/bin/pg_waldump/po/fr.po
@@ -0,0 +1,646 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2017-2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+#
+# Use these quotes: « %s »
+#
+# Guillaume Lelarge <guillaume@lelarge.info>, 2017-2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-26 08:17+0000\n"
+"PO-Revision-Date: 2022-09-26 14:37+0200\n"
+"Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
+"Language-Team: French <guillaume@lelarge.info>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 3.1.1\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "erreur : "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "attention : "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "détail : "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "astuce : "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier « %s » : %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "n'a pas pu trouver le fichier WAL « %s »"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "n'a pas pu trouver un seul fichier WAL"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "n'a pas pu trouver le fichier « %s » : %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %d lu sur %d"
+
+#: pg_waldump.c:658
+#, 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:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Usage :\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [SEG_DEBUT [SEG_FIN]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Options :\n"
+
+#: pg_waldump.c:663
+#, 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:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr ""
+" -B, --block=N avec --relation, affiche seulement les enregistrements\n"
+" qui modifient le bloc N\n"
+
+#: pg_waldump.c:665
+#, 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:666
+#, 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:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK affiche seulement les enregistrements qui modifient\n"
+" des blocs dans le fork FORK ;\n"
+" les noms valides sont main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N nombre d'enregistrements à afficher\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, 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:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr ""
+" -R, --relation=T/D/R affiche seulement les enregistrements qui modifient\n"
+" les blocs de la relation T/D/R\n"
+
+#: pg_waldump.c:677
+#, 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:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version affiche la version puis quitte\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr ""
+" -w, --fullpage affiche seulement les enregistrements avec\n"
+" un bloc complet (FPW)\n"
+
+#: pg_waldump.c:682
+#, 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:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help affiche cette aide puis quitte\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapporter les bogues à <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Page d'accueil %s : <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "aucun argument spécifié"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "numéro de bloc invalide : « %s »"
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "emplacement WAL invalide : « %s »"
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "nom du fork invalide : « %s »"
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "valeur « %s » invalide pour l'option %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "le gestionnaire de ressources personnalisé « %s » n'existe pas"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "le gestionnaire de ressources « %s » n'existe pas"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "spécification de relation invalide : « %s »"
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Attendait « OID tablespace/OID base/filenode relation »."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "spécification de timeline invalide : « %s »"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "spécification d'identifiant de transaction invalide : « %s »"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "valeur non reconnue pour l'option %s : %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "l'option %s requiert la spécification de l'option %s"
+
+#: pg_waldump.c:960
+#, 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:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "n'a pas pu ouvrir le fichier « %s »"
+
+#: pg_waldump.c:1006
+#, 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:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SEG_FIN %s est avant SEG_DÉBUT %s"
+
+#: pg_waldump.c:1048
+#, 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:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "pas d'emplacement donné de début du journal de transactions"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "plus de mémoire lors de l'allocation d'un processeur de lecture de journaux de transactions"
+
+#: pg_waldump.c:1080
+#, 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:1090
+#, 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:1171
+#, 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:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Essayez « %s --help » pour plus d'informations."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "décalage invalide de l'enregistrement %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "« contrecord » est requis par %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "longueur invalide de l'enregistrement à %X/%X : voulait %u, a eu %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "il n'existe pas de drapeau contrecord à %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "contrecord manquant à %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr ""
+"somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
+"l'enregistrement %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "numéro magique invalide %04X dans le segment %s, décalage %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "bits d'information %04X invalides dans le segment %s, décalage %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, segment %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment %s, décalage %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u désordonné à %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u invalide à %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "enregistrement de longueur invalide à %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "échec de localisation du bloc de sauvegarde d'ID %d dans l'enregistrement WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%X avec l'état invalide, bloc %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, non supporté par le serveur, bloc %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Rapporter les bogues à <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s : FATAL : "
+
+#, 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 open directory \"%s\": %s"
+#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s"
+
+#~ msgid "could not open file \"%s\": %s"
+#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s"
+
+#, c-format
+#~ msgid "could not parse \"%s\" as a transaction ID"
+#~ msgstr "n'a pas pu analyser « %s » comme un identifiant de transaction"
+
+#, 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 »"
+
+#, c-format
+#~ msgid "could not parse fork \"%s\""
+#~ msgstr "n'a pas pu analyser le fork « %s »"
+
+#, c-format
+#~ msgid "could not parse limit \"%s\""
+#~ msgstr "n'a pas pu analyser la limite « %s »"
+
+#, 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 »"
+
+#, c-format
+#~ msgid "could not parse timeline \"%s\""
+#~ msgstr "n'a pas pu analyser la timeline « %s »"
+
+#, c-format
+#~ msgid "could not parse valid block number \"%s\""
+#~ msgstr "n'a pas pu analyser le numéro de bloc valide « %s »"
+
+#~ msgid "could not read file \"%s\": %s"
+#~ msgstr "n'a pas pu lire le fichier « %s » : %s"
+
+#, 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"
+
+#~ 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 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"
+
+#, c-format
+#~ msgid "fatal: "
+#~ msgstr "fatal : "
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "données insuffisantes dans le fichier « %s »"
+
+#, c-format
+#~ msgid "out of memory"
+#~ msgstr "mémoire épuisée"
+
+#~ msgid "path \"%s\" could not be opened: %s"
+#~ msgstr "le chemin « %s » n'a pas pu être ouvert : %s"
+
+#, c-format
+#~ msgid "unrecognized argument to --stats: %s"
+#~ msgstr "argument non reconnu pour --stats : %s"
diff --git a/src/bin/pg_waldump/po/it.po b/src/bin/pg_waldump/po/it.po
new file mode 100644
index 0000000..61d7bda
--- /dev/null
+++ b/src/bin/pg_waldump/po/it.po
@@ -0,0 +1,532 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-26 08:17+0000\n"
+"PO-Revision-Date: 2022-10-02 19:21+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 3.1.1\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "errore: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "avvertimento: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "dettaglio: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "suggerimento: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "apertura del file \"%s\" fallita: %m"
+
+#: pg_waldump.c:216
+#, 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 dimensione del segmento WAL deve essere una potenza di due tra 1 MB e 1 GB, ma l'intestazione del file WAL \"%s\" specifica %d byte"
+msgstr[1] "La dimensione dei segmenti WAL deve essere una potenza di due tra 1 MB e 1 GB, ma l'intestazione del file WAL \"%s\" specifica %d byte"
+
+#: pg_waldump.c:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "lettura del file \"%s\" fallita: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "lettura del file \"%s\" fallita: letti %d di %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "impossibile individuare il file WAL \"%s\""
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "non è stato possibile trovare alcun file WAL"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "impossibile trovare il file \"%s\": %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "impossibile leggere dal file %s, offset %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "impossibile leggere dal file %s, offset %d: leggere %d di %d"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s decodifica e visualizza i registri write-ahead di PostgreSQL per il debug.\n"
+"\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Utilizzo:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPZIONE]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Opzioni:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details restituisce informazioni dettagliate sui blocchi di backup\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr " -B, --block=N con --relation, mostra solo i record che modificano il blocco N\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR interrompe la lettura nella posizione WAL RECPTR\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow continua a riprovare dopo aver raggiunto la fine del WAL\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK mostra solo i record che modificano i blocchi nel fork FORK;\n"
+" i nomi validi sono main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N numero di record da visualizzare\n"
+
+#: pg_waldump.c:670
+#, 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 directory in cui trovare i file del segmento di log o a\n"
+" directory con un ./pg_wal che contiene tali file\n"
+" (predefinito: directory corrente, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet non stampa alcun output, ad eccezione degli errori\n"
+
+#: pg_waldump.c:674
+#, 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 mostra solo i record generati dal gestore risorse RMGR;\n"
+" usa --rmgr=list per elencare i nomi validi del gestore risorse\n"
+
+#: pg_waldump.c:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr " -R, --relation=T/D/R mostra solo i record che modificano i blocchi in relazione a T/D/R\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR inizia a leggere nella posizione WAL RECPTR\n"
+
+#: pg_waldump.c:678
+#, 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=timeline TLI da cui leggere i record di registro\n"
+" (predefinito: 1 o il valore utilizzato in STARTSEG)\n"
+
+#: pg_waldump.c:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version mostra informazioni sulla versione ed esci\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage mostra solo i record con una scrittura a pagina intera\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID mostra solo i record con ID transazione XID\n"
+
+#: pg_waldump.c:683
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] mostra le statistiche invece dei record\n"
+" (facoltativamente, mostra le statistiche per record)\n"
+
+#: pg_waldump.c:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help mostra questo aiuto ed esci\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Segnala i bug a <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Pagina iniziale di %s: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "nessun argomento specificato"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "numero di blocco non valido: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "posizione WAL non valida: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "nome fork non valido: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "valore \"%s\" non valido per l'opzione %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "il gestore risorse personalizzato \"%s\" non esiste"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "il gestore risorse \"%s\" non esiste"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "specifica relazione non valida: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "In attesa di \"tablespace OID/database OID/relation filenode\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "specifica della sequenza temporale non valida: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "specificazione ID transazione non valida: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "unrecognized value for option %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "l'opzione %s richiede che sia specificata l'opzione %s"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "troppi argomenti della riga di comando (il primo è \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "apertura della directory \"%s\" fallita: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "impossibile aprire il file \"%s\""
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "avviare la posizione WAL %X/%X non è all'interno del file \"%s\""
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s è prima di STARTSEG %s"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "posizione WAL finale %X/%X non è all'interno del file \"%s\""
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "nessuna posizione iniziale WAL fornita"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "memoria insufficiente durante l'allocazione di un processore di lettura WAL"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "impossibile trovare un record valido dopo %X/%X"
+
+#: pg_waldump.c:1090
+#, 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] "il primo record è dopo %X/%X, a %X/%X, saltando %u byte\n"
+msgstr[1] "i primi records sono dopo %X/%X, a %X/%X, saltando %u byte\n"
+
+#: pg_waldump.c:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "errore nel record WAL a %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Prova \"%s --help\" per maggiori informazioni."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "offset del record non valido a %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord richiesto da %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "lunghezza del record a %X/%X non valida: atteso %u, ricevuto %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "memoria insufficiente durante il tentativo di decodificare un record di lunghezza %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "lunghezza del record %u a %X/%X eccessiva"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "non c'è un flag di contrecord a %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "missing contrecord at %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "l'ID di gestione risorse %u non è valido a %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "record con link-precedente %X/%X non corretto a %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "numero magico %04X non valido nel segmento di log %s, offset %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "bit di info %04X non validi nel segmento di log %s, offset %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "Il file WAL proviene da un sistema di database diverso: l'identificatore del sistema del database del file WAL è %llu, l'identificatore del sistema del database pg_control è %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "il file di WAL è di un diverso database: dimensione del segmento sbagliata nell'header di pagina"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "il file di WAL è di un database diverso: XLOG_BLCKSZ non corretto nell'header di pagina"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "pageaddr inaspettato %X/%X nel segmento di log %s, offset %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "l'ID della timeline %u (dopo %u) è fuori sequenza nel segmento di log %s, offset %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id fuori sequenza %u a %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u non valido a %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "record con lunghezza non valida a %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "impossibile individuare il blocco di backup con ID %d nel record WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "impossibile ripristinare l'immagine in %X/%X con il blocco %d non valido specificato"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%X con stato non valido, blocco %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%X compressa con %s non supportata da build, blocco %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%X compressa con metodo sconosciuto, blocco %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "impossibile decomprimere l'immagine in %X/%X, blocco %d"
diff --git a/src/bin/pg_waldump/po/ja.po b/src/bin/pg_waldump/po/ja.po
new file mode 100644
index 0000000..23043ec
--- /dev/null
+++ b/src/bin/pg_waldump/po/ja.po
@@ -0,0 +1,532 @@
+# 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 15)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-26 11:14+0900\n"
+"PO-Revision-Date: 2022-09-26 14:57+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=1; plural=0;\n"
+"X-Generator: Poedit 1.8.13\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "エラー: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "警告: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "詳細: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "ヒント: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "ファイル\"%s\"をオープンできませんでした: %m"
+
+#: pg_waldump.c:216
+#, 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バイトとなっています"
+
+#: pg_waldump.c:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "ファイル\"%s\"の読み取りに失敗しました: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "ファイル\"%1$s\"を読み取れませんでした: %3$d中%2$d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "WALファイル\"%s\"がありませんでした"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "WALファイルが全くありません"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "ファイル\"%s\"が見つかりませんでした: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "ファイル %s、オフセット%dから読み取れませんでした: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "ファイル%1$s、オフセット%2$dから読み取れませんでした: %4$d中%3$d"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%sはデバッグのためにPostgreSQLの先行書き込みログをデコードして表示します。\n"
+"\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "使用方法:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [オプション] ... [開始セグメント [終了セグメント]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"オプション:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details バックアップブロックに関する詳細情報を出力\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr ""
+" -B, --block=N --relationと共に指定することでこのブロックNを更新する\n"
+" レコードのみを表示\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR WAL位置RECPTRで読み込みを停止\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow WALの終端に達してからもリトライを続ける\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK 指定フォークのブロックを更新するレコードのみ表示;\n"
+" 指定可能な名前はmain, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N 表示するレコード数\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet エラー以外何も出力しない\n"
+
+#: pg_waldump.c:674
+#, 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 指定のリソースマネージャーで生成されたレコードのみ表示\n"
+" --rmgr=list で有効なリソースマネージャーの一覧を表示\n"
+
+#: pg_waldump.c:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr " -R, --relation=T/D/R リレーションT/D/Rのブロックを更新するレコードのみ表示\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR WAL位置RECPTRから読み込みを開始\n"
+
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version バージョン情報を表示して終了\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage 全ページ書き込みを含むレコードのみを表示\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID トランザクションIDがXIDのレコードのみを表示する\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help このヘルプを表示して終了\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"バグは<%s>に報告してください。\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s ホームページ: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "引数が指定されていません"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "不正なブロック番号: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "不正なWAL LSN: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "不正なフォーク名: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "オプション%2$sに対する不正な値\"%1$s\""
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "独自リソースマネージャー\"%s\"は存在しません"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "リソースマネージャー\"%s\"は存在しません"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "不正なリレーション指定: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "\"テーブル空間OID/データベースOID/リレーション・ファイルノード”を期待しています。"
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "不正なタイムライン指定: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "不正なトランザクションID指定: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "%sオプションに対する認識できない値: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "%sオプション指定時は%sオプションも必要です"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "コマンドライン引数が多すぎます(先頭は\"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "ファイル\"%s\"を開くことができませんでした"
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "WALの開始位置%X/%Xはファイル\"%s\"の中ではありません"
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG%sがSTARTSEG %sより前に現れました"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "WALの終了位置%X/%Xはファイル\"%s\"の中ではありません"
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "WALの開始位置が指定されていません"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "WAL読み取り機構でのメモリ割り当てに中にメモリ不足"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%Xの後に有効なレコードが見つかりませんでした"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "WALレコードの%X/%Xでエラー: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "詳細は\"%s --help\"を実行してください。"
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "%X/%Xのレコードオフセットが不正です"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "%X/%Xでは継続レコードが必要です"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%Xのレコード長が不正です:長さは%uである必要がありますが、実際は%uでした"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "長さ%uのレコードのデコード中のメモリ不足"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "%2$X/%3$Xのレコード長%1$uが大きすぎます"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%Xでcontrecordフラグがありません"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "%3$X/%4$Xの継続レコードの長さ%1$u(正しくは%2$lld)は不正です"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "%X/%Xに継続レコードがありません"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "%2$X/%3$XのリソースマネージャID %1$uは不正です"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "%3$X/%4$Xのレコードの後方リンク%1$X/%2$Xが不正です"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "%X/%Xのレコード内のリソースマネージャデータのチェックサムが不正です"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "ログセグメント%2$s、オフセット%3$uのマジックナンバー%1$04Xは不正です"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ログセグメント %2$s、オフセット%3$uの情報ビット%1$04Xは不正です"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WALファイルは異なるデータベースシステム由来のものです: WALファイルのデータベースシステム識別子は %lluで、pg_control におけるデータベースシステム識別子は %lluです"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL ファイルは異なるデータベースシステム由来のものです: ページヘッダーのセグメントサイズが正しくありません"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL ファイルは異なるデータベースシステム由来のものです: ページヘッダーのXLOG_BLCKSZが正しくありません"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "ログセグメント%3$s、オフセット%4$uに想定外のページアドレス%1$X/%2$X"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "ログセグメント%3$s、オフセット%4$uのタイムラインID %1$u(%2$uの後)が順序通りではありません"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %uが%X/%Xで不正です"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%Xにデータがありません"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていませんが、%2$X/%3$Xのデータ長は%1$uです"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLEが設定されていますが、%4$X/%5$Xでホールオフセット%1$u、長さ%2$u、ブロックイメージ長%3$uです"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLEが設定されていませんが、%3$X/%4$Xにおけるホールオフセット%1$uの長さが%2$uです"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSEDが設定されていますが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLEもBKPIMAGE_COMPRESSEDも設定されていませんが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%Xにおいて以前のリレーションがありません"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "%2$X/%3$Xにおけるblock_id %1$uが不正です"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "%X/%Xのレコードのサイズが不正です"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "WALレコード中のID %dのバックアップブロックを特定できませんでした"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "%X/%Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "%X/%Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "%1$X/%2$Xで、ブロック%4$dがこのビルドでサポートされない圧縮方式%3$sで圧縮されているため復元できませんでした"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "%X/%Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "%X/%Xのブロック%dが伸張できませんでした"
diff --git a/src/bin/pg_waldump/po/ka.po b/src/bin/pg_waldump/po/ka.po
new file mode 100644
index 0000000..e9dadeb
--- /dev/null
+++ b/src/bin/pg_waldump/po/ka.po
@@ -0,0 +1,615 @@
+# Georgian message translation file for pg_waldump
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-25 19:48+0000\n"
+"PO-Revision-Date: 2022-09-25 22:13+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <nothing>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.1.1\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "შეცდომა: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "გაფრთხილება: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "დეტალები: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "მინიშნება: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "ფაილის (%s) გახსნის შეცდომა: %m"
+
+#: pg_waldump.c:216
+#, 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 მბ-სა და 1 გბ-ს სორის, მაგრამ "
+"WAL ფაილის \"%s\" თავსართი %d ბაიტზე მიუთითებს"
+msgstr[1] ""
+"WAL სეგმენტის ზომა ორის ხარისხი უნდა იყოს, 1 მბ-სა და 1 გბ-ს სორის, მაგრამ "
+"WAL ფაილის \"%s\" თავსართი %d ბაიტზე მიუთითებს"
+
+#: pg_waldump.c:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "ფაილის (%s) წაკითხვის შეცდომა: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %d-დან"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "wal ფაილის (\"%s\") მოძებნა შეუძლებელია"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "ვერცერთი WAL ფაილი ვერ ვიპოვე"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "ფაილი (%s) არ არსებობს: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "ფაილიდან (%s)წაკითხვის შეცდომა. წანაცვლება %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "ფაილიდან (%s)წაკითხვის შეცდომა. წანაცვლება %d: წაკითხულია %d %d-დან"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s ახდენს PostgreSQL-ის წინასწარ-ჩაწერადი ჟურნალის გაშიფვრას და ჩვენებას "
+"პროგრამის გამართვისთვის.\n"
+"\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "გამოყენება:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [პარამეტრი]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+" პარამეტრები\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup blocks\n"
+msgstr ""
+" -b, --bkp-details დამარქაფებული ბლოკების დეტალური ინფორმაციის "
+"ჩვენება\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid ""
+" -B, --block=N with --relation, only show records that modify "
+"block N\n"
+msgstr ""
+" -B, --block=N --relation -სთან ერთად, მხოლოდ იმ ჩანაწერების "
+"ჩვენება, რომელიც N ბლოკს ცვლიან\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR კითხვის შეწყეტა WAL-ის RECPTR მდებარეობაზე \n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr ""
+" -f, --follow WAL ფაილის ბოლოს მიღწევის შემდეგ ცდები არ "
+"შეწყდება\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=ფორკი ნაჩვენები იქნება ჩანაწერები, რომლებიც მითითებულ "
+"ფორკში ბლოკებს ცვლიან;\n"
+" დასაშვები სახელებია main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N საჩვენებელი ჩანაწერების რაოდენობა\n"
+
+#: pg_waldump.c:670
+#, 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=biliki საქაღალდე, რომელშიც უნდა ვიპოვო ჟურნალის\n"
+" სეგმენტის ფაილები ან საქაღალდე, რომელიც ./pg_wal-ით, "
+"რომელიც ამ \n"
+" ფაილებს შეიცავს (ნაგულისხმები: მიმდინარე საქაღალდე, ./"
+"pg_wal და $PGDATA/pg_wal\n"
+
+#: pg_waldump.c:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet შეცდომების გარდა ეკრანზე არაფერი გამოჩნდება\n"
+
+#: pg_waldump.c:674
+#, 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:676
+#, c-format
+msgid ""
+" -R, --relation=T/D/R only show records that modify blocks in relation T/"
+"D/R\n"
+msgstr ""
+" -R, --relation=T/D/R ნაჩვენები იქნება ჩანაწერები, რომლებიც ცვლიან "
+"ბლოკებს ურთიერთობაში T/D/R\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR კითხვის WAL მდებარეობა RECPTR-სთან დაწყება\n"
+
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr ""
+" -w, --fullpage მხოლოდ სრული გვერდის ჩაწერის მქონე ჩანაწერების "
+"ჩვენება\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr ""
+" -x, --xid=XID მხოლოდ იმ ჩანაწერების ჩვენება, რომლის ტრანზაქციის "
+"ID XID-ს უდრის\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"შეცდომების შესახებ მიწერეთ: %s\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s-ის საწყისი გვერდია: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "არგუმენტები მითითებული არაა"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "ბლოკის არასწორი ნომერი: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "wal-ის არასწორი მდებარეობა: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "ფორკის არასწორი სახელი: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "არასწორი მნიშვნელობა \"%s\" პარამეტრისთვის %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "რესურსების მმართველი \"%s\" არ არსებობს"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "რესურსების მმართველი \"%s\" არ არსებობს"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "ურთიერთობის არასწორი სპეციფიკაცია: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "მოველოდი \"tablespace OID/database OID/relation filenode\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "დროის ხაზის არასწორი სპეციფიკაცია: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "ტრანზაქციის ID-ის არასწორი სპეციფიკაცია: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "პარამეტრის (%s) უცნობი მნიშვნელობა: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "პარამეტრს %s თავის მხრივ სჭირდება პარამეტრის %s მითითება"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "შეუძლებელია ფაილის გახსნა: \"%s\""
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "საწყისი WAL მდებარეობა %X/%X ფაილის (\"%s\") შიგნით არაა"
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s STARTSEG %s -ის წინაა"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "დასასრულის WAL მდებარეობა %X/%X ფაილის (\"%s\") შიგნით არაა"
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "wal-ის საწყისი მდებარეობა მითითებული არაა"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "არასაკმარისი მეხსიერება WAL-ის წამკითხავი პროცესორისთვის"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%X -ის შემდეგ სწორი ჩანაწერი არ არსებობს"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "შეცდომა WAL ჩანაწერში %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მინდოდა %u, მივიღე %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "%u სიგრძის მქონე ჩანაწერის დეკოდირებისთვის მეხსიერება საკმარისი არაა"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%X ძალიან გრძელია"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "contrecord ალამი მისამართზე %X/%X არ არსებობს"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "contrecord მისამართზე %X/%X არ არსებობს"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr ""
+"რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში "
+"მისამართზე %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, წანაცვლება %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, წანაცვლება %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid ""
+"WAL file is from different database system: WAL file database system "
+"identifier is %llu, pg_control database system identifier is %llu"
+msgstr ""
+"WAL ფაილი სხვა ბაზიდანაა: WAL ფაილის ბაზის იდენტიფიკატორია %llu, pg_control-"
+"ის ბაზის სისტემის იდენტიფიკატორი კი %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect segment size in page "
+"header"
+msgstr ""
+"WAL ფაილი სხვა ბაზის სიტემიდანაა: სეგმანტის არასწორი ზომა გვერდის თავსართში"
+
+#: xlogreader.c:1274
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
+"header"
+msgstr ""
+"WAL ფაილი სხვა მონაცემთა ბაზის სისტემიდანაა: გვერდის თავსართში მითითებული "
+"XLOG_BLKSZ არასწორია"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, წანაცვლება %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr ""
+"მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, "
+"წანაცვლება %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "ურიგო block_id %u მისამართზე %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr ""
+"BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr ""
+"BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u "
+"მისამართზე %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid ""
+"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
+"%X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u "
+"ბლოკის ასლის სიგრძე %u მისამართზე %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u "
+"მისანართზე %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე "
+"%X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ "
+"ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr ""
+"BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა "
+"მისამართზე %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "არასწორი block_id %u %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "შეცდომა WAL ჩანაწერში მარქაფი ბლოკის, ID-ით %d, მოძებნისას"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr ""
+"შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი "
+"%d"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr ""
+"შეუძლებელია ასლის აღდგენა მისამართზე %X/%X არასწორი მდგომარეობით, ბლოკი %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with %s not supported by build, "
+"block %d"
+msgstr ""
+"%3$s მეთოდით შეკუმშული ასლის აღდგენა მისამართზე %1$X/%2$X, ბლოკი %4$d "
+"შეუძლებელია. მხარდაუჭერელია ამ აგების მიერ"
+
+#: xlogreader.c:2111
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr ""
+"შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, შეკუმშულია უცნობი მეთოდით, ბლოკი "
+"%d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%X, ბლოკი %d"
diff --git a/src/bin/pg_waldump/po/ko.po b/src/bin/pg_waldump/po/ko.po
new file mode 100644
index 0000000..7d2ede8
--- /dev/null
+++ b/src/bin/pg_waldump/po/ko.po
@@ -0,0 +1,572 @@
+# 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) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-04-12 00:47+0000\n"
+"PO-Revision-Date: 2023-03-22 17:13+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:276
+#, c-format
+msgid "error: "
+msgstr "오류: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "경고: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "상세정보: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "힌트: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "\"%s\" 파일을 열 수 없음: %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "\"%s\" 파일을 읽을 수 없음: %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "\"%s\" WAL 파일 찾기 실패"
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "어떤 WAL 파일도 찾을 수 없음"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "\"%s\" 파일을 찾을 수 없음: %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "\"%s\" 파일에서 %d 위치를 읽을 수 없음: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "%s 파일에서 %d 위치에서 읽기 실패: %d 읽음, 전체 %d"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr "%s 명령은 디버깅을 위해 PostgreSQL 미리 쓰기 로그(WAL)를 분석합니다.\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "사용법:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [옵션]... [시작파일 [마침파일]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"옵션들:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details 백업 블록에 대한 자세한 정보도 출력함\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid ""
+" -B, --block=N with --relation, only show records that modify "
+"block N\n"
+msgstr ""
+" -B, --block=N --relation 옵션과 함께, 변경된 N번 블록의 레코드만"
+"봄\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR RECPTR WAL 위치에서 읽기 멈춤\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow WAL 끝까지 읽은 뒤에도 계속 진행함\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=FORK 지정한 FORK 종류 포크의 변경 블록의 레코드만\n"
+" 사용가능한 포크: main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N 출력할 레코드 수\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet 오류를 빼고 나머지는 아무 것도 안 보여줌\n"
+
+#: pg_waldump.c:674
+#, 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:676
+#, c-format
+msgid ""
+" -R, --relation=T/D/R only show records that modify blocks in relation T/"
+"D/R\n"
+msgstr ""
+" -R, --relation=T/D/R T/D/R 릴레이션에서 변경 블록 레코드만 보여줌\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR WAL RECPTR 위치에서 읽기 시작\n"
+
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version 버전 정보 보여주고 마침\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage full page write 레코드만 보여줌\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID 트랜잭션 XID 레코드만 출력\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 이 도움말을 보여주고 마침\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"문제점 보고 주소: <%s>\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s 홈페이지: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "인자를 지정하세요"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "잘못된 블록 번호: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "잘못된 WAL 위치: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "잘못된 포크 이름: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "\"%s\" 값은 %s 옵션 값으로 유효하지 않음"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "\"%s\" 이름의 사용자 정의 리소스 관리자가 없음"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "\"%s\" 이름의 리소스 관리자가 없음"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "잘못된 릴레이션 양식: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "\"테이블스페이스OID/데이터베이스OID/릴레이션 filenode\" 양식을 기대함"
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "잘못된 타임라인 양식: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "잘못된 트랜잭션 ID 양식: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "%s 옵션에 대한 알 수 없는 값: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "%s 옵션은 %s 옵션 설정이 필요합니다."
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리 열 수 없음: %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "\"%s\" 파일을 열 수 없음"
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "%X/%X WAL 시작 위치가 \"%s\" 파일에 없음"
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "%s ENDSEG가 %s STARTSEG 앞에 있음"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "%X/%X WAL 끝 위치가 \"%s\" 파일에 없음"
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "입력한 WAL 위치에서 시작할 수 없음"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "WAL 읽기 프로세서를 할당하는 중에 메모리 부족 발생"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "%X/%X 위치 뒤에 올바른 레코드가 없음"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "%X/%X 위치에서 WAL 레코드 오류: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "잘못된 레코드 위치: %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "%X/%X에서 contrecord를 필요로 함"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "잘못된 레코드 길이: %X/%X, 기대값 %u, 실재값 %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "%u 길이 레코드를 디코드 작업을 위한 메모리가 부족함"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%X 위치에 contrecord 플래그가 없음"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "%X/%X 위치에 contrecord 없음"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "%04X 매직 번호가 잘못됨, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "잘못된 정보 비트 %04X, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid ""
+"WAL file is from different database system: WAL file database system "
+"identifier is %llu, pg_control database system identifier is %llu"
+msgstr ""
+"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %llu, "
+"pg_control 의 식별자는 %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect segment size in page "
+"header"
+msgstr ""
+"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘"
+"못된 조각 크기임"
+
+#: xlogreader.c:1274
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
+"header"
+msgstr ""
+"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값"
+"이 바르지 않음"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "잘못된 페이지 주소 %X/%X, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "타임라인 범위 벗어남 %u (이전 번호 %u), 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid ""
+"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
+"%X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: "
+"%u, 대상: %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이"
+"는 %u, 대상: %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "잘못된 block_id %u, 위치 %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "잘못된 레코드 길이, 위치 %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "WAL 레코드에서 %d ID의 백업 블록 위치를 바르게 잡을 수 없음"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "%X/%X 위치에 이미지를 복원할 수 없음, 해당 %d 블록이 깨졌음"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "이미지 복원 실패, 잘못된 상태의 압축 이미지, 위치 %X/%X, 블록 %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with %s not supported by build, "
+"block %d"
+msgstr ""
+"%X/%X 압축 위치에 이미지 복원할 수 없음, %s 압축을 지원하지 않음, 해당 블록: "
+"%d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr ""
+"%X/%X 압축 위치에 이미지 복원할 수 없음, 알 수 없은 방법, 해당 블록: %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "압축 이미지 풀기 실패, 위치 %X/%X, 블록 %d"
diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po
new file mode 100644
index 0000000..aacb64c
--- /dev/null
+++ b/src/bin/pg_waldump/po/ru.po
@@ -0,0 +1,657 @@
+# 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, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-29 10:17+0300\n"
+"PO-Revision-Date: 2022-09-29 14:17+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:276
+#, c-format
+msgid "error: "
+msgstr "ошибка: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "предупреждение: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "подробности: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "подсказка: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d)"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "не удалось найти файл WAL \"%s\""
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "не удалось найти ни одного файла WAL"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "не удалось найти файл \"%s\": %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "не удалось прочитать из файла %s по смещению %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr ""
+"не удалось прочитать из файла %s по смещению %d (прочитано байт: %d из %d)"
+
+#: pg_waldump.c:658
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s декодирует и показывает журналы предзаписи PostgreSQL для целей отладки.\n"
+"\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Использование:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [ПАРАМЕТР]... [НАЧАЛЬНЫЙ_СЕГМЕНТ [КОНЕЧНЫЙ_СЕГМЕНТ]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Параметры:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup blocks\n"
+msgstr ""
+" -b, --bkp-details вывести подробную информацию о копиях страниц\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid ""
+" -B, --block=N with --relation, only show records that modify "
+"block N\n"
+msgstr ""
+" -B, --block=N в сочетании с --relation указывает выводить только\n"
+" записи, в которых меняется блок N\n"
+
+# well-spelled: ПОЗЗАП
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr ""
+" -e, --end=ПОЗЗАП прекратить чтение в заданной позиции записи в WAL\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr ""
+" -f, --follow повторять попытки чтения по достижении конца WAL\n"
+
+# well-spelled: МНГР
+#: pg_waldump.c:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=СЛОЙ выводить только записи, в которых меняются блоки в "
+"СЛОЕ\n"
+" с именем из списка: main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, 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:670
+#, 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:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet не выводить никаких сообщений, кроме ошибок\n"
+
+# well-spelled: МНГР
+#: pg_waldump.c:674
+#, 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"
+
+#: pg_waldump.c:676
+#, c-format
+msgid ""
+" -R, --relation=T/D/R only show records that modify blocks in relation T/"
+"D/R\n"
+msgstr ""
+" -R, --relation=T/D/R выводить только записи, в которых меняются блоки\n"
+" в отношении T/D/R\n"
+
+# well-spelled: ПОЗЗАП
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr ""
+" -s, --start=ПОЗЗАП начать чтение с заданной позиции записи в WAL\n"
+
+# well-spelled: ЛВР
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version показать версию и выйти\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr ""
+" -w, --fullpage выводить только записи, содержащие полные страницы\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr ""
+" -x, --xid=XID выводить только записи с заданным\n"
+" идентификатором транзакции\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показать эту справку и выйти\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Об ошибках сообщайте по адресу <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашняя страница %s: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "аргументы не указаны"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "неверный номер блока: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "неверная позиция в WAL: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "неверное имя слоя: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "неверное значение \"%s\" для параметра %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "пользовательский менеджер ресурсов \"%s\" не существует"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "менеджер ресурсов \"%s\" не существует"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "неверное указание отношения: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr ""
+"Ожидается \"OID табл. пространства/OID базы данных/файловый узел отношения\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "неверное указание линии времени: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "неверное указание ID транзакции: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "нераспознанное значение параметра %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "параметр %s требует указания параметра %s"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "слишком много аргументов командной строки (первый: \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "не удалось открыть файл \"%s\""
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\""
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫЙ_СЕГМЕНТ %s"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\""
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "начальная позиция в WAL не задана"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "не удалось выделить память для чтения WAL"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "не удалось найти действительную запись после позиции %X/%X"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "ошибка в записи WAL в позиции %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Для дополнительной информации попробуйте \"%s --help\"."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "неверное смещение записи: %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "по смещению %X/%X запрошено продолжение записи"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "не удалось выделить память для декодирования записи длины %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "длина записи %u по смещению %X/%X слишком велика"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "нет флага contrecord в позиции %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "нет записи contrecord в %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr ""
+"некорректная контрольная сумма данных менеджера ресурсов в записи по "
+"смещению %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid ""
+"WAL file is from different database system: WAL file database system "
+"identifier is %llu, pg_control database system identifier is %llu"
+msgstr ""
+"файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД "
+"%llu, а идентификатор системы pg_control: %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect segment size in page "
+"header"
+msgstr ""
+"файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке "
+"страницы"
+
+#: xlogreader.c:1274
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
+"header"
+msgstr ""
+"файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
+"страницы"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr ""
+"нарушение последовательности ID линии времени %u (после %u) в сегменте "
+"журнала %s, смещение %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr ""
+"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid ""
+"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
+"%X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
+"при длине образа блока %u в позиции %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
+"%u в позиции %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
+"%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
+"блока равна %u в позиции %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr ""
+"BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
+"%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "неверный идентификатор блока %u в позиции %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "запись с неверной длиной в позиции %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "не удалось найти копию блока с ID %d в записи журнала WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr ""
+"не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr ""
+"не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with %s not supported by build, "
+"block %d"
+msgstr ""
+"не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
+"поддерживается этой сборкой, блок %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid ""
+"could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr ""
+"не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
+"блок %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Об ошибках сообщайте по адресу <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid "%s: FATAL: "
+#~ msgstr "%s: СБОЙ: "
+
+#~ msgid "could not parse \"%s\" as a transaction ID"
+#~ msgstr "не удалось разобрать в \"%s\" идентификатор транзакции"
+
+#~ msgid "could not parse limit \"%s\""
+#~ msgstr "не удалось разобрать предел в \"%s\""
+
+#~ msgid "could not parse start WAL location \"%s\""
+#~ msgstr "не удалось разобрать начальную позицию в WAL \"%s\""
+
+#~ msgid "could not parse timeline \"%s\""
+#~ msgstr "не удалось разобрать линию времени в \"%s\""
+
+#~ msgid "could not seek in log file %s to offset %u: %s"
+#~ msgstr "не удалось переместиться в файле журнала %s к смещению %u: %s"
+
+#~ msgid "fatal: "
+#~ msgstr "важно: "
+
+#~ msgid "not enough data in file \"%s\""
+#~ msgstr "недостаточно данных в файле \"%s\""
+
+#~ msgid "out of memory"
+#~ msgstr "нехватка памяти"
+
+#~ msgid "path \"%s\" could not be opened: %s"
+#~ msgstr "не удалось открыть путь \"%s\": %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..c122bbf
--- /dev/null
+++ b/src/bin/pg_waldump/po/sv.po
@@ -0,0 +1,534 @@
+# 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, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-29 11:47+0000\n"
+"PO-Revision-Date: 2022-09-29 21:43+0200\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:276
+#, c-format
+msgid "error: "
+msgstr "fel: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "varning: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "detalj: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "tips: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "kunde inte öppna fil \"%s\": %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "kunde inte läsa fil \"%s\": %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "kunde inte läsa fil \"%s\": läste %d av %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "kunde inte lokalisera WAL-fil \"%s\""
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "kunde inte hitta några WAL-filer"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "kunde inte hitta filen \"%s\": %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "Kunde inte läsa från fil %s på offset %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "kunde inte läsa från fil %s, offset %d, läste %d av %d"
+
+#: pg_waldump.c:658
+#, 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:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Användning:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [FLAGGA]... [STARTSEG [SLUTSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Flaggor:\n"
+
+#: pg_waldump.c:663
+#, 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:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr ""
+" -B, --block=N tillsammans med --relation, visa bara poster som\n"
+" modifierar block N\n"
+
+#: pg_waldump.c:665
+#, 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:666
+#, 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:667
+#, c-format
+msgid ""
+" -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr ""
+" -F, --fork=GREN visa bara poster som modifierar block i grenen GREN\n"
+" gilriga namn är main, fsm, vm och init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N antal poster att visa\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, 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:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr ""
+" -R, --relation=T/D/R visa bara poster som modifierar block i\n"
+" relationen T/D/R\n"
+
+#: pg_waldump.c:677
+#, 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:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version visa versionsinformation, avsluta sedan\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage visa bara poster som skrivit hela sidor\n"
+
+#: pg_waldump.c:682
+#, 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:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help visa den här hjälpen, avsluta sedan\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapportera fel till <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "hemsida för %s: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "inga argument angivna"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "ogiltigt portnummer \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "ogiltig WAL-position: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "ogiltigt fork-namn: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "ogiltigt värde \"%s\" för flaggan \"%s\""
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "egendefinierad resurshanterare \"%s\" finns inte"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "resurshanterare \"%s\" finns inte"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "ogiltig inställning av relation: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Skall vara en av \"OID för tabellutrymme/OID för databas/relations filnod\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "ogiltig inställning av tidslinje: %s"
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "ogiltig inställning av transaktions-ID: %s"
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "okänt värde för flaggan %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "flaggan %s kräver att flaggan %s också anges"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "för många kommandoradsargument (första är \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "kunde inte öppna katalog \"%s\": %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "kunde inte öppna filen \"%s\""
+
+#: pg_waldump.c:1006
+#, 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:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "SLUTSEG %s är före STARTSEG %s"
+
+#: pg_waldump.c:1048
+#, 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:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "ingen start-WAL-position angiven"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "slut på minne vid allokering av en WAL-läs-processor"
+
+#: pg_waldump.c:1080
+#, 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:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "fel i WAL-post vid %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Försök med \"%s --help\" för mer information."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ogiltig postoffset vid %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord är begärd vid %X/%X"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "ogiltig postlängd vid %X/%X: förväntade %u, fick %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "slut på minne vid avkodning av post med längden %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "postlängd %u vid %X/%X är för lång"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "det finns ingen contrecord-flagga vid %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "det saknas en contrecord vid %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ogiltigt resurshanterar-ID %u vid %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "post med inkorrekt prev-link %X/%X vid %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "felaktigt magiskt nummer %04X i loggsegment %s, offset %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ogiltiga infobitar %04X i loggsegment %s, offset %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WAL-fil är från ett annat databassystem: WAL-filens databassystemidentifierare är %llu, pg_control databassystemidentifierare är %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL-fil är från ett annat databassystem: inkorrekt segmentstorlek i sidhuvuid"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhuvuid"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "oväntad sidadress %X/%X i loggsegment %s, offset %u"
+
+# FIXME
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "\"ej i sekvens\"-fel på tidslinje-ID %u (efter %u) i loggsegment %s, offset %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "\"ej i sekvens\"-block_id %u vid %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u block-image-längd %u vid %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED är satt men block-image-längd %u vid %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men block-image-längd är %u vid %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "ogiltig block_id %u vid %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "post med ogiltig längd vid %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "kunde inte hitta backup-block med ID %d i WAL-post"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "kunde inte återställa image vid %X/%X med ogiltigt state, block %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "kunde inte återställa image vid %X/%X, komprimerad med %s stöds inte av bygget, block %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "kunde inte återställa image vid %X/%X, komprimerad med okänd metod, block %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "kunde inte packa upp image vid %X/%X, block %d"
diff --git a/src/bin/pg_waldump/po/uk.po b/src/bin/pg_waldump/po/uk.po
new file mode 100644
index 0000000..bb5b065
--- /dev/null
+++ b/src/bin/pg_waldump/po/uk.po
@@ -0,0 +1,515 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: postgresql\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-01-31 23:17+0000\n"
+"PO-Revision-Date: 2023-04-19 15:06\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_15_STABLE/pg_waldump.pot\n"
+"X-Crowdin-File-ID: 904\n"
+
+#: ../../../src/common/logging.c:276
+#, c-format
+msgid "error: "
+msgstr "помилка: "
+
+#: ../../../src/common/logging.c:283
+#, c-format
+msgid "warning: "
+msgstr "попередження: "
+
+#: ../../../src/common/logging.c:294
+#, c-format
+msgid "detail: "
+msgstr "деталі: "
+
+#: ../../../src/common/logging.c:301
+#, c-format
+msgid "hint: "
+msgstr "підказка: "
+
+#: pg_waldump.c:160
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не можливо відкрити файл \"%s\": %m"
+
+#: pg_waldump.c:216
+#, 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:222
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не вдалося прочитати файл \"%s\": %m"
+
+#: pg_waldump.c:225
+#, c-format
+msgid "could not read file \"%s\": read %d of %d"
+msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %d"
+
+#: pg_waldump.c:286
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "не вдалося знайти WAL файл \"%s\""
+
+#: pg_waldump.c:288
+#, c-format
+msgid "could not find any WAL file"
+msgstr "не вдалося знайти жодного WAL файлу"
+
+#: pg_waldump.c:329
+#, c-format
+msgid "could not find file \"%s\": %m"
+msgstr "не вдалося знайти файл \"%s\": %m"
+
+#: pg_waldump.c:378
+#, c-format
+msgid "could not read from file %s, offset %d: %m"
+msgstr "не вдалося прочитати файл %s, зсув %d: %m"
+
+#: pg_waldump.c:382
+#, c-format
+msgid "could not read from file %s, offset %d: read %d of %d"
+msgstr "не вдалося прочитати з файлу %s, зсув %d: прочитано %d з %d"
+
+#: pg_waldump.c:658
+#, c-format
+msgid "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n\n"
+msgstr "%s декодує і відображає журнали попереднього запису PostgreSQL для налагодження.\n\n"
+
+#: pg_waldump.c:660
+#, c-format
+msgid "Usage:\n"
+msgstr "Використання:\n"
+
+#: pg_waldump.c:661
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]...[STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:662
+#, c-format
+msgid "\n"
+"Options:\n"
+msgstr "\n"
+"Параметри:\n"
+
+#: pg_waldump.c:663
+#, c-format
+msgid " -b, --bkp-details output detailed information about backup blocks\n"
+msgstr " -b, --bkp-details виводити детальну інформацію про блоки резервних копій\n"
+
+#: pg_waldump.c:664
+#, c-format
+msgid " -B, --block=N with --relation, only show records that modify block N\n"
+msgstr " -B, --block=N з --relation, лише показати записи, які змінюють блок N\n"
+
+#: pg_waldump.c:665
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR зупинити читання WAL з місця RECPTR\n"
+
+#: pg_waldump.c:666
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr " -f, --follow повторювати спроби після досягнення кінця WAL\n"
+
+#: pg_waldump.c:667
+#, c-format
+msgid " -F, --fork=FORK only show records that modify blocks in fork FORK;\n"
+" valid names are main, fsm, vm, init\n"
+msgstr " -F, --fork=FORK показати лише записи, які змінюють блоки в форці FORK;\n"
+" дійсні імена: main, fsm, vm, init\n"
+
+#: pg_waldump.c:669
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N число записів для відображення\n"
+
+#: pg_waldump.c:670
+#, 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:673
+#, c-format
+msgid " -q, --quiet do not print any output, except for errors\n"
+msgstr " -q, --quiet не друкувати жодного виводу, окрім помилок\n"
+
+#: pg_waldump.c:674
+#, 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:676
+#, c-format
+msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n"
+msgstr " -R, --relation=T/D/R відобразити тільки записи, які змінюють блоки у відношенні T/D/R\n"
+
+#: pg_waldump.c:677
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR почати читання WAL з місця RECPTR\n"
+
+#: pg_waldump.c:678
+#, 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:680
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version вивести інформацію про версію і вийти\n"
+
+#: pg_waldump.c:681
+#, c-format
+msgid " -w, --fullpage only show records with a full page write\n"
+msgstr " -w, --fullpage показувати записи лише з повним записом на сторінці\n"
+
+#: pg_waldump.c:682
+#, c-format
+msgid " -x, --xid=XID only show records with transaction ID XID\n"
+msgstr " -x, --xid=XID показати записи лише з ідентифікатором транзакцій XID\n"
+
+#: pg_waldump.c:683
+#, 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:685
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показати цю довідку потім вийти\n"
+
+#: pg_waldump.c:686
+#, c-format
+msgid "\n"
+"Report bugs to <%s>.\n"
+msgstr "\n"
+"Повідомляти про помилки на <%s>.\n"
+
+#: pg_waldump.c:687
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашня сторінка %s: <%s>\n"
+
+#: pg_waldump.c:781
+#, c-format
+msgid "no arguments specified"
+msgstr "не вказано аргументів"
+
+#: pg_waldump.c:797
+#, c-format
+msgid "invalid block number: \"%s\""
+msgstr "неприпустимий номер блоку: \"%s\""
+
+#: pg_waldump.c:806 pg_waldump.c:904
+#, c-format
+msgid "invalid WAL location: \"%s\""
+msgstr "неприпустиме розташування WAL: \"%s\""
+
+#: pg_waldump.c:819
+#, c-format
+msgid "invalid fork name: \"%s\""
+msgstr "неприпустиме ім'я форку: \"%s\""
+
+#: pg_waldump.c:827
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "неприпустиме значення \"%s\" для параметра %s"
+
+#: pg_waldump.c:858
+#, c-format
+msgid "custom resource manager \"%s\" does not exist"
+msgstr "користувацький менеджер ресурсів \"%s\" не існує"
+
+#: pg_waldump.c:879
+#, c-format
+msgid "resource manager \"%s\" does not exist"
+msgstr "менеджер ресурсів \"%s\" не існує"
+
+#: pg_waldump.c:894
+#, c-format
+msgid "invalid relation specification: \"%s\""
+msgstr "неприпустима специфікація відношення: \"%s\""
+
+#: pg_waldump.c:895
+#, c-format
+msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
+msgstr "Очікуємо \"tablespace OID/database OID/relation filenode\"."
+
+#: pg_waldump.c:914
+#, c-format
+msgid "invalid timeline specification: \"%s\""
+msgstr "неприпустима специфікація часової лінії: \"%s\""
+
+#: pg_waldump.c:924
+#, c-format
+msgid "invalid transaction ID specification: \"%s\""
+msgstr "неприпустима специфікація ідентифікатора транзакції: \"%s\""
+
+#: pg_waldump.c:939
+#, c-format
+msgid "unrecognized value for option %s: %s"
+msgstr "нерозпізнане значення параметра %s: %s"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "option %s requires option %s to be specified"
+msgstr "параметр %s вимагає використання параметру %s"
+
+#: pg_waldump.c:960
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "забагато аргументів у командному рядку (перший \"%s\")"
+
+#: pg_waldump.c:970 pg_waldump.c:990
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не вдалося відкрити каталог \"%s\": %m"
+
+#: pg_waldump.c:996 pg_waldump.c:1026
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "не вдалося відкрити файл \"%s\""
+
+#: pg_waldump.c:1006
+#, c-format
+msgid "start WAL location %X/%X is not inside file \"%s\""
+msgstr "початкове розташування WAL %X/%X не всередині файлу \"%s\""
+
+#: pg_waldump.c:1033
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s перед STARTSEG %s"
+
+#: pg_waldump.c:1048
+#, c-format
+msgid "end WAL location %X/%X is not inside file \"%s\""
+msgstr "кінцеве розташування WAL %X/%X не всередині файлу \"%s\""
+
+#: pg_waldump.c:1060
+#, c-format
+msgid "no start WAL location given"
+msgstr "не задано початкове розташування WAL"
+
+#: pg_waldump.c:1074
+#, c-format
+msgid "out of memory while allocating a WAL reading processor"
+msgstr "недостатньо пам'яті під час виділення обробника читання WAL"
+
+#: pg_waldump.c:1080
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "не вдалося знайти припустимий запис після %X/%X"
+
+#: pg_waldump.c:1090
+#, 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:1171
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "помилка у записі WAL у %X/%X: %s"
+
+#: pg_waldump.c:1180
+#, c-format
+msgid "Try \"%s --help\" for more information."
+msgstr "Спробуйте \"%s --help\" для додаткової інформації."
+
+#: xlogreader.c:625
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "невірний зсув запису: %X/%X"
+
+#: xlogreader.c:633
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "по зсуву %X/%X запитано продовження запису"
+
+#: xlogreader.c:674 xlogreader.c:1121
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "невірна довжина запису по зсуву %X/%X: очікувалось %u, отримано %u"
+
+#: xlogreader.c:703
+#, c-format
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "не вистачило пам'яті під час спроби закодування запису довжиною %u"
+
+#: xlogreader.c:725
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "довжина запису %u на %X/%X є задовгою"
+
+#: xlogreader.c:774
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "немає прапорця contrecord в позиції %X/%X"
+
+#: xlogreader.c:787
+#, c-format
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X"
+
+#: xlogreader.c:922
+#, c-format
+msgid "missing contrecord at %X/%X"
+msgstr "відсутній contrecord в %X/%X"
+
+#: xlogreader.c:1129
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "невірний ID менеджера ресурсів %u в %X/%X"
+
+#: xlogreader.c:1142 xlogreader.c:1158
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X"
+
+#: xlogreader.c:1231
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "невірне магічне число %04X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:1245 xlogreader.c:1286
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "невірні інформаційні біти %04X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:1260
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WAL файл належить іншій системі баз даних: ідентифікатор системи баз даних де міститься WAL файл - %llu, а ідентифікатор системи баз даних pg_control - %llu"
+
+#: xlogreader.c:1268
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки"
+
+#: xlogreader.c:1274
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки"
+
+#: xlogreader.c:1305
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "неочікуваний pageaddr %X/%X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:1330
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "порушення послідовності ID лінії часу %u (після %u) в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:1735
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X"
+
+#: xlogreader.c:1759
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X"
+
+#: xlogreader.c:1766
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X"
+
+#: xlogreader.c:1802
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%X"
+
+#: xlogreader.c:1818
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X"
+
+#: xlogreader.c:1832
+#, c-format
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X"
+
+#: xlogreader.c:1847
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X"
+
+#: xlogreader.c:1863
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X"
+
+#: xlogreader.c:1875
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "невірний ідентифікатор блоку %u в позиції %X/%X"
+
+#: xlogreader.c:1942
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "запис з невірною довжиною на %X/%X"
+
+#: xlogreader.c:1967
+#, c-format
+msgid "could not locate backup block with ID %d in WAL record"
+msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL"
+
+#: xlogreader.c:2051
+#, c-format
+msgid "could not restore image at %X/%X with invalid block %d specified"
+msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d"
+
+#: xlogreader.c:2058
+#, c-format
+msgid "could not restore image at %X/%X with invalid state, block %d"
+msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d"
+
+#: xlogreader.c:2085 xlogreader.c:2102
+#, c-format
+msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d"
+
+#: xlogreader.c:2111
+#, c-format
+msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d"
+
+#: xlogreader.c:2119
+#, c-format
+msgid "could not decompress image at %X/%X, block %d"
+msgstr "не вдалося розпакувати зображення на %X/%X, блок %d"
+