summaryrefslogtreecommitdiffstats
path: root/src/bin/pg_rewind/po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:19:15 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:19:15 +0000
commit6eb9c5a5657d1fe77b55cc261450f3538d35a94d (patch)
tree657d8194422a5daccecfd42d654b8a245ef7b4c8 /src/bin/pg_rewind/po
parentInitial commit. (diff)
downloadpostgresql-13-upstream.tar.xz
postgresql-13-upstream.zip
Adding upstream version 13.4.upstream/13.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/bin/pg_rewind/po')
-rw-r--r--src/bin/pg_rewind/po/cs.po1019
-rw-r--r--src/bin/pg_rewind/po/de.po935
-rw-r--r--src/bin/pg_rewind/po/es.po942
-rw-r--r--src/bin/pg_rewind/po/fr.po1153
-rw-r--r--src/bin/pg_rewind/po/ja.po1070
-rw-r--r--src/bin/pg_rewind/po/ko.po855
-rw-r--r--src/bin/pg_rewind/po/ru.po1089
-rw-r--r--src/bin/pg_rewind/po/sv.po973
-rw-r--r--src/bin/pg_rewind/po/tr.po966
-rw-r--r--src/bin/pg_rewind/po/uk.po913
-rw-r--r--src/bin/pg_rewind/po/zh_CN.po821
11 files changed, 10736 insertions, 0 deletions
diff --git a/src/bin/pg_rewind/po/cs.po b/src/bin/pg_rewind/po/cs.po
new file mode 100644
index 0000000..1f4a8eb
--- /dev/null
+++ b/src/bin/pg_rewind/po/cs.po
@@ -0,0 +1,1019 @@
+# LANGUAGE message translation file for pg_rewind
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_rewind (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-10-31 16:16+0000\n"
+"PO-Revision-Date: 2020-10-31 21:24+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Poedit 2.4.1\n"
+"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,-1,17\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatal: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "error: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "warning: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "nedostatek paměti\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "nelze duplikovat null pointer (interní chyba)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "nelze načíst knihovnu \"%s\": kód chyby %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "na této platformě nelze vytvářet vyhrazené tokeny: kód chyby %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "nelze otevřít token procesu: chybový kód %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "nelze alokovat SIDs: chybový kód %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "nelze vytvořit vyhrazený token: chybový kód %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "nelze nastartovat proces pro příkaz \"%s\": chybový kód %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "nelze znovu spustit s vyhrazeným tokenem: chybový kód %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "nelze získat návratový kód z podprovesu: chybový kód %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "nelze použít restore_command se zástupnou hodnotou %%r"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "neočekávaná velikost souboru \"%s\": %lu namísto %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "nelze otevřít soubor \"%s\" obnovený z archivu: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "nelze přistoupit k souboru \"%s\": %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "restore_command selhal: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "nelze obnovit soubor\"%s\" z archivu"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:73 parsexlog.c:125
+#: parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "nedostatek paměti"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:298
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "nelze otevřít soubor \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "nelze zapsat do souboru \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "nelze vytvořit soubor \"%s\": %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "nelze otevřít adresář \"%s\": %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "nelze přečíst symbolický odkaz \"%s\": %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "cíl symbolického odkazu \"%s\" je příliš dlouhý"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\" je symbolický odkaz, ale symbolické odkazy nejsou na této platformě podporovány"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "nelze číst z adresáře \"%s\": %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "nelze uzavřít adresář \"%s\": %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "nelze otevřít zdrojový soubor \"%s\": %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "nelze změnit pozici (seek) ve zdrojovém souboru: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:336
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "nelze číst soubor \"%s\": %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "neočekávaný znak EOF při čtení souboru \"%s\""
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "nelze uzavřít soubor \"%s\": %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "nelze otevřít cílový soubor \"%s\": %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "nelze uzavřít cílový soubor \"%s\": %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "nelze změnit pozici (seek) v cílovém souboru \"%s\": %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "nelze zapsat soubor \"%s\": %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "neplatná akce (CREATE) pro obyčejný soubor"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "nelze odstranit soubor \"%s\": %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "nelze otevřít soubor \"%s\" pro zkrácení (truncate): %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "nelze zkrátit (truncate) soubor \"%s\" na %u: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "nelze vytvořit adresář \"%s\": %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "nelze odstranit adresář \"%s\": %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "nelze vytvořit symbolický odkaz na \"%s\": %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "nelze odstranit symbolický odkaz \"%s\": %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "nelze otevřít soubor \"%s\" pro čtení: %m"
+
+#: file_ops.c:314 parsexlog.c:338
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "nelze číst soubor \"%s\": načteno %d z %zu"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "datový soubor \"%s\" ve zdroji není obyčejný soubor"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" není adresář"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" není symbolický odkaz"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" není obyčejný soubor"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "seznam zdrojových souborů je prázdný"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "neočekávaná modifikace stránky pro adresář nebo symbolický odkaz \"%s\""
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "nelze se připojit k serveru: %s"
+
+#: libpq_fetch.c:54
+#, c-format
+msgid "connected to server"
+msgstr "připojen k serveru"
+
+#: libpq_fetch.c:63
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "nelze vyčistit search_path: %s"
+
+#: libpq_fetch.c:75
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "zdrojový server musí být v recovery módu"
+
+#: libpq_fetch.c:85
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "full_page_writes musí být zapnuty na zdrojovém serveru"
+
+#: libpq_fetch.c:111
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "chyba při spuštění dotazu (%s) na zdrojovém serveru: %s"
+
+#: libpq_fetch.c:116
+#, c-format
+msgid "unexpected result set from query"
+msgstr "neočekávaný výsledek dotazu"
+
+#: libpq_fetch.c:137
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "chyba při spuštění dotazu (%s) na zdrojovém serveru: %s"
+
+#: libpq_fetch.c:157
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "nerozpoznaný výsledek \"%s\" pro aktuální WAL insert pozici"
+
+#: libpq_fetch.c:207
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "nelze načíst seznam souborů: %s"
+
+#: libpq_fetch.c:212
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "neočekávaný výsledek při načítání seznamu souborů"
+
+#: libpq_fetch.c:265
+#, c-format
+msgid "could not send query: %s"
+msgstr "nelze zaslat dotaz: %s"
+
+#: libpq_fetch.c:270
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "nelze nastavit libpq spojení na single row mód"
+
+#: libpq_fetch.c:290
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "neočekávaný výsledek při načítání vzdálených souborů: %s"
+
+#: libpq_fetch.c:296
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "neočekávaná velikost výsledku při načítání vzdálených souborů"
+
+#: libpq_fetch.c:302
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "neočekávané datové typy ve vysledku při načítání vzdálených souborů: %u %u %u"
+
+#: libpq_fetch.c:310
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "neočekávaný formát výsledku při načítání vzdálených souborů"
+
+#: libpq_fetch.c:316
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "neočekávané null hodnoty ve výsledku při načítání vzdálených souborů"
+
+#: libpq_fetch.c:320
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "neočekávaná délka výsledku při načítání vzdálených souborů"
+
+#: libpq_fetch.c:381
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "nelze načíst vzdálený soubor \"%s\": %s"
+
+#: libpq_fetch.c:386
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "neočekávaný výsledek při načítání vzdáleného souboru \"%s\""
+
+#: libpq_fetch.c:430
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "nelze poslat COPY data: %s"
+
+#: libpq_fetch.c:459
+#, c-format
+msgid "could not send file list: %s"
+msgstr "nelze poslat seznam souborů: %s"
+
+#: libpq_fetch.c:501
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "nelze poslat end-of-COPY: %s"
+
+#: libpq_fetch.c:507
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "neočekávaný výsledek při posílání seznamu souborů: %s"
+
+#: parsexlog.c:85 parsexlog.c:132
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "nelze načíst WAL záznam na %X/%X: %s"
+
+#: parsexlog.c:89 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "nelze načíst WAL záznam na %X/%X"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "nelze nalézt předchozí WAL záznam na %X/%X: %s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "nelze načíst předchozí WAL záznam na %X/%X"
+
+#: parsexlog.c:327
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "nelze nastavit pozici (seek) v souboru \"%s\": %m"
+
+#: parsexlog.c:407
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL záznam modifikuje relaci, ale typ záznamu není rozpoznán: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s resynchronizuje PostgreSQL cluster s jinou kopií daného clusteru.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Použití:\n"
+" %s [OPTION]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Přepínače:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal použij restore_command v cílové konfiguraci pro\n"
+" získání WAL souborů z archivu\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=ADRESÁŘ existující datový adresář pro modifikaci\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=ADRESÁŘ zdrojový datový adresář proti kterému se synchronizovat\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR zdrojový server se kterým se synchronizovat\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run zastavit před modifikací čehokoliv\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync nečekat na bezpečné zapsání změn na disk\n"
+"\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress průběžně vypisovat zprávy o postupu\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf zapíše konfiguraci pro replikaci\n"
+" (vyžaduje zadání --source-server)\n"
+"\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug vypisovat mnoho zpráv s debug informacemi\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown neopravuj automaticky nečisté vypnutí databáze\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version vypíše informaci o verzi, poté skončí\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help vypíše tuto nápovědu, poté skončí\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Chyby oznamujte na <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s domácí stránka: <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Zkuste \"%s --help\" pro více informací.\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "nespecifikován žádný zdroj (--source-pgdata nebo --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "pouze jedna z voleb --source-pgdata nebo --source-server může být zadána"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "cílový datový adresář nespecifikován (--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr ""
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "příliš mnoho argumentů v příkazové řádce (první je \"%s\")"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "nelze spouštět jako \"root\""
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Musíte spustit %s jako PostgreSQL superuživatel.\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "nelze zjistit přístupová práva adresáře \"%s\": %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "zdrojový a cílový cluster jsou na stejné timeline"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "servery se rozešly na WAL pozici %X/%X na timeline %u"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "rewind není potřeba"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "provádím rewind z posledního společného checkpointu na %X/%X na timeline %u"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "načítám seznam zdrojových souborů"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "načítám seznam cílových souborů"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "čtu WAL na cílovém clusteru"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "je třeba zkopírovat %lu MB (celková velikost zdrojového adresáře je %lu MB)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "vytvářím backup label a aktualizuji control file"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "provádím sync cílového datového adresáře"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "Hotovo!"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "zdrojový a cílový cluster jsou z různých systémů"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "clustery nejsou kompatibilní s touto verzí pg_rewind"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "cílový server musí používat buď data checksums nebo \"wal_log_hints = on\""
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "cílový server musí být zastaven čistě"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "zdrojový datový adresář musí být zastaven čistě"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) zkopírováno"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "neplatný control file"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "nelze najít společného předka pro timeline ze zdrojového a cílového clusteru"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "backup label buffer je příliš malý"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "neočekávaná CRC hodnota control file"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "neočekávaná velikost control file %d, očekáváno %d"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "Velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale control file udává %d byte"
+msgstr[1] "Velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale control file udává %d bytů"
+msgstr[2] "Velikost WAL segmentu musí být mocnina dvou mezi 1 MB a 1 GB, ale control file udává %d bytů"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"Program \"%s\" je vyžadován aplikací %s, ale nebyl nalezen ve stejném\n"
+"adresáři jako \"%s\".\n"
+"Zkontrolujte vaši instalaci."
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"Program \"%s\" byl nalezen pomocí \"%s\",\n"
+"ale nebyl ve stejné verzi jako %s.\n"
+"Zkontrolujte vaši instalaci."
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "restore_command není nastaven pro cílový cluster"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "spouštím \"%s\" na cílovém serveru pro dokončení crash recovery"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "postgres single-user mód v cílovém clusteru selhal"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "Příkaz byl: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "syntaktická chyba v souboru s historií: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Očekávána číselná hodnota timeline ID."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Očekávána pozice pro switchpoint write-ahead logu."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "chybná data v souboru s historií: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Timeline IDs musí být rostoucí posloupnost."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "chybná data v souboru s historií"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Timeline IDs musí být nižší než timeline ID potomka."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "neplatný offset záznamu na %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord je vyžadován %X/%X"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "neplatná délka záznamu na %X/%X: potřeba %u, získáno %u"
+
+#: xlogreader.c:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "délka záznamu %u na %X/%X je příliš vysoká"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "na %X/%X není nastaven contrecord flag"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "chybná contrecord délka %u na %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "chybný ID resource managera %u na %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "záznam s neplatnou hodnotou prev-link %X/%X na %X/%X"
+
+#: xlogreader.c:771
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "neplatný data checksum resource managera v záznamu na %X/%X"
+
+#: xlogreader.c:808
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "neplatné magické číslo %04X v log segmentu %s, offset %u"
+
+#: xlogreader.c:822 xlogreader.c:863
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "neplatné info bity %04X v log segmentu %s, offset %u"
+
+#: xlogreader.c:837
+#, 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 soubor je z jiného databázového systému: systémový identifikátor z WAL souboru je %llu, systémový identifikátor z pg_control je %llu"
+
+#: xlogreader.c:845
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL soubor je z jiného databázového systému: neplatná velikost segmentu v hlavičce stránky"
+
+#: xlogreader.c:851
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL soubor je z jiného databázového systému: neplatná hodnota XLOG_BLCKSZ v hlavičce stránky"
+
+#: xlogreader.c:882
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "neočekávaná pageaddr hodnota %X/%X v log segmentu %s, offset %u"
+
+#: xlogreader.c:907
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "timeline ID %u mimo pořadí (po %u) v log segmentu %s, offset %u"
+
+#: xlogreader.c:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u mimo pořadí na %X/%X"
+
+#: xlogreader.c:1270
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA flag nastaven, ale žádná data nejsou přiložena na %X/%X"
+
+#: xlogreader.c:1277
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA flag nenastaven, ale délka dat je %u na %X/%X"
+
+#: xlogreader.c:1313
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE flag nastaven, ale hole offset %u length %u block image length %u na %X/%X"
+
+#: xlogreader.c:1329
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE flag nenastaven, ale hole offset %u length %u na %X/%X"
+
+#: xlogreader.c:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED flag nastaven, ale block image length %u na %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED flag nenastaven, ale block image length je %u na %X/%X"
+
+#: xlogreader.c:1375
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL flag nastaven, ale žádná předchozí rel hodnota na %X/%X"
+
+#: xlogreader.c:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "neplatné block_id %u na %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "záznam s neplatnou délkou na %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "neplatný komprimovaný image na %X/%X, block %d"
+
+#~ msgid "could not open directory \"%s\": %s\n"
+#~ msgstr "nelze otevřít adresář \"%s\": %s\n"
+
+#~ msgid "could not read file \"%s\": %s\n"
+#~ msgstr "nelze číst soubor \"%s\": %s\n"
+
+#~ msgid " block %u\n"
+#~ msgstr " blok %u\n"
+
+#~ msgid "entry \"%s\" excluded from %s file list\n"
+#~ msgstr "položka \"%s\" vyloučena ze %s seznamu souborů\n"
+
+#~ msgid "%s (%s)\n"
+#~ msgstr "%s (%s)\n"
+
+#~ msgid "could not set up connection context: %s"
+#~ msgstr "nelze nastavit kontext spojení: %s"
+
+#~ msgid "getting file chunks\n"
+#~ msgstr "načítám části souborů\n"
+
+#~ msgid "received null value for chunk for file \"%s\", file has been deleted\n"
+#~ msgstr "přijata null hodnota pro chunk souboru \"%s\", soubor byl smazán\n"
+
+#~ msgid "received chunk for file \"%s\", offset %s, size %d\n"
+#~ msgstr "přijat chunk souboru \"%s\", offset %s, délka %d\n"
+
+#~ msgid "fetched file \"%s\", length %d\n"
+#~ msgstr "načten soubor \"%s\", délka %d\n"
+
+#~ msgid "could not create temporary table: %s"
+#~ msgstr "nelze vytvořit temporary tabulku: %s"
+
+#~ msgid "Failure, exiting\n"
+#~ msgstr "Chyba, končím\n"
+
+#~ msgid "could not open file \"%s\": %s\n"
+#~ msgstr "nelze otevřít soubor \"%s\": %s\n"
+
+#~ msgid "could not read from file \"%s\": %s\n"
+#~ msgstr "nelze číst ze souboru \"%s\": %s\n"
+
+#~ msgid "%s: could not read permissions of directory \"%s\": %s\n"
+#~ msgstr "%s: nelze načíst práva adresáře \"%s\": %s\n"
+
+#~ msgid "Source timeline history:\n"
+#~ msgstr "Zdrojová timeline history:\n"
+
+#~ msgid "Target timeline history:\n"
+#~ msgstr "Cílová timeline history:\n"
+
+#~ msgid "%d: %X/%X - %X/%X\n"
+#~ msgstr "%d: %X/%X - %X/%X\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "Program \"initdb\" je vyžadován %s ale nebyl\n"
+#~ "nalezen ve stejném adresáři jako \"%s\".\n"
+#~ "Zkontrolujte svou instalaci.\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "Program \"initdb\" byl nalezen \"%s\"\n"
+#~ "ale nemá stejnou verzi jako \"%s\".\n"
+#~ "Zkontrolujte svou instalaci.\n"
+
+#~ msgid "sync of target directory failed\n"
+#~ msgstr "sync na cílovém adresáři selhal\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Chyby hlaste na adresu <pgsql-bugs@postgresql.org>.\n"
diff --git a/src/bin/pg_rewind/po/de.po b/src/bin/pg_rewind/po/de.po
new file mode 100644
index 0000000..aebbf29
--- /dev/null
+++ b/src/bin/pg_rewind/po/de.po
@@ -0,0 +1,935 @@
+# German message translation file for pg_rewind
+# Copyright (C) 2015-2020 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Peter Eisentraut <peter@eisentraut.org>, 2015-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 13\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-11-08 07:16+0000\n"
+"PO-Revision-Date: 2020-11-08 09:04+0100\n"
+"Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
+"Language-Team: German <pgsql-translators@postgresql.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "Fatal: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "Fehler: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "Warnung: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "Speicher aufgebraucht\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "konnte Bibliothek »%s« nicht laden: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "auf dieser Plattform können keine beschränkten Token erzeugt werden: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "konnte Prozess-Token nicht öffnen: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "konnte SIDs nicht erzeugen: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "konnte beschränktes Token nicht erzeugen: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "konnte Prozess für Befehl »%s« nicht starten: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "konnte Prozess nicht mit beschränktem Token neu starten: Fehlercode %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "kann restore_command mit Platzhalter %%r nicht verwenden"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "unerwartete Dateigröße für »%s«: %lu statt %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "konnte aus dem Archiv wiederhergestellte Datei »%s« nicht öffnen: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "restore_command fehlgeschlagen: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:73 parsexlog.c:125
+#: parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "Speicher aufgebraucht"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:298
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht öffnen: %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "konnte nicht in Datei »%s« schreiben: %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht erstellen: %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "»%s« ist eine symbolische Verknüpfung, aber symbolische Verknüpfungen werden auf dieser Plattform nicht unterstützt"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht schließen: %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "konnte Quelldatei »%s« nicht öffnen: %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "konnte Positionszeiger in Quelldatei nicht setzen: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:336
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht lesen: %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "unerwartetes EOF beim Lesen der Datei »%s«"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht schließen: %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "konnte Zieldatei »%s« nicht öffnen: %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "konnte Zieldatei »%s« nicht schließen: %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "konnte Positionszeiger in Zieldatei »%s« nicht setzen: %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht schreiben: %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "ungültige Aktion (CREATE) für normale Datei"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht löschen: %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "konnte Datei »%s« nicht zum Kürzen öffnen: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht löschen: %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "konnte symbolische Verknüpfung »%s« nicht löschen: %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
+
+#: file_ops.c:314 parsexlog.c:338
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "Datendatei »%s« in der Quelle ist keine normale Datei"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "»%s« ist kein Verzeichnis"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "»%s« ist keine symbolische Verknüpfung"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "»%s« ist keine normale Datei"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "Quelldateiliste ist leer"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "unerwartete Seitenänderung für Verzeichnis oder symbolische Verknüpfung »%s«"
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: libpq_fetch.c:53
+#, c-format
+msgid "connected to server"
+msgstr "mit Server verbunden"
+
+#: libpq_fetch.c:62
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "konnte search_path nicht auf leer setzen: %s"
+
+#: libpq_fetch.c:74
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "Quell-Server darf nicht im Wiederherstellungsmodus sein"
+
+#: libpq_fetch.c:84
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "full_page_writes muss im Quell-Server eingeschaltet sein"
+
+#: libpq_fetch.c:110
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "Fehler beim Ausführen einer Anfrage (%s) auf dem Quellserver: %s"
+
+#: libpq_fetch.c:115
+#, c-format
+msgid "unexpected result set from query"
+msgstr "Anfrage ergab unerwartete Ergebnismenge"
+
+#: libpq_fetch.c:136
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "Fehler beim Ausführen einer Anfrage (%s) im Quellserver: %s"
+
+#: libpq_fetch.c:156
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "unbekanntes Ergebnis »%s« für aktuelle WAL-Einfügeposition"
+
+#: libpq_fetch.c:206
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "konnte Dateiliste nicht holen: %s"
+
+#: libpq_fetch.c:211
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "unerwartete Ergebnismenge beim Holen der Dateiliste"
+
+#: libpq_fetch.c:264
+#, c-format
+msgid "could not send query: %s"
+msgstr "konnte Anfrage nicht senden: %s"
+
+#: libpq_fetch.c:269
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "konnte libpq-Verbindung nicht in den Einzelzeilenmodus setzen"
+
+#: libpq_fetch.c:289
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "unerwartetes Ergebnis beim Holen von fernen Dateien: %s"
+
+#: libpq_fetch.c:295
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "unerwartete Ergebnismengengröße beim Holen von fernen Dateien"
+
+#: libpq_fetch.c:301
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "unerwartete Datentypen in Ergebnismenge beim Holen von fernen Dateien: %u %u %u"
+
+#: libpq_fetch.c:309
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "unerwartetes Ergebnisformat beim Holen von fernen Dateien"
+
+#: libpq_fetch.c:315
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "unerwartete NULL-Werte im Ergebnis beim Holen von fernen Dateien"
+
+#: libpq_fetch.c:319
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "unerwartete Ergebnislänge beim Holen von fernen Dateien"
+
+#: libpq_fetch.c:380
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "konnte ferne Datei »%s« nicht holen: %s"
+
+#: libpq_fetch.c:385
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "unerwartete Ergebnismenge beim Holen der fernen Datei »%s«"
+
+#: libpq_fetch.c:429
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "konnte COPY-Daten nicht senden: %s"
+
+#: libpq_fetch.c:458
+#, c-format
+msgid "could not send file list: %s"
+msgstr "konnte Dateiliste nicht senden: %s"
+
+#: libpq_fetch.c:500
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "konnte COPY-Ende nicht senden: %s"
+
+#: libpq_fetch.c:506
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "unerwartetes Ergebnis beim Senden der Dateiliste: %s"
+
+#: parsexlog.c:85 parsexlog.c:132
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "konnte WAL-Eintrag bei %X/%X nicht lesen: %s"
+
+#: parsexlog.c:89 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "konnte WAL-Eintrag bei %X/%X nicht lesen"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%X nicht finden: %s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%X nicht finden"
+
+#: parsexlog.c:327
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "konnte Positionszeiger in Datei »%s« nicht setzen: %m"
+
+#: parsexlog.c:407
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL-Eintrag modifiziert eine Relation, aber Typ des Eintrags wurde nicht erkannt: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s resynchronisiert einen PostgreSQL-Cluster mit einer Kopie des Clusters.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Aufruf:\n"
+" %s [OPTION]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Optionen:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal restore_command in der Zielkonfiguration zum\n"
+" Laden von WAL-Dateien aus Archiv verwenden\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=VERZ bestehendes zu modifizierendes Datenverzeichnis\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr ""
+" --source-pgdata=VERZ Quelldatenverzeichnis, mit dem synchronisiert\n"
+" werden soll\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=VERB Quellserver, mit dem synchronisiert werden soll\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run anhalten, bevor etwas geändert wird\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync nicht warten, bis Änderungen sicher auf Festplatte\n"
+" geschrieben sind\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress Fortschrittsmeldungen ausgeben\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf Konfiguration für Replikation schreiben\n"
+" (benötigt --source-server)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug viele Debug-Meldungen ausgeben\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown unsauberen Shutdown nicht automatisch reparieren\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Berichten Sie Fehler an <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s Homepage: <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "keine Quelle angegeben (--source-pgdata oder --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "--source-pgdata und --source-server können nicht zusammen angegeben werden"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "kein Zielverzeichnis angegeben (--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "kein Quellserver (--source-server) angegeben für --write-recovery-conf"
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "kann nicht von »root« ausgeführt werden"
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Sie müssen %s als PostgreSQL-Superuser ausführen.\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "Quell- und Ziel-Cluster sind auf der gleichen Zeitleiste"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "Server divergierten bei WAL-Position %X/%X auf Zeitleiste %u"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "kein Rückspulen nötig"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "Rückspulen ab letztem gemeinsamen Checkpoint bei %X/%X auf Zeitleiste %u"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "lese Quelldateiliste"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "lese Zieldateiliste"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "lese WAL im Ziel-Cluster"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "%lu MB müssen kopiert werden (Gesamtgröße des Quellverzeichnisses ist %lu MB)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "erzeuge Backup-Label und aktualisiere Kontrolldatei"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "synchronisiere Zieldatenverzeichnis"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "Fertig!"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "Quell- und Ziel-Cluster sind von verschiedenen Systemen"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "die Cluster sind nicht mit dieser Version von pg_rewind kompatibel"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "Zielserver muss entweder Datenprüfsummen oder »wal_log_hints = on« verwenden"
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "Zielserver muss sauber heruntergefahren worden sein"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "Quelldatenverzeichnis muss sauber heruntergefahren worden sein"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) kopiert"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "ungültige Kontrolldatei"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "konnte keinen gemeinsamen Anfangspunkt in den Zeitleisten von Quell- und Ziel-Cluster finden"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "Puffer für Backup-Label ist zu klein"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "unerwartete CRC in Kontrolldatei"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "unerwartete Kontrolldateigröße %d, erwartet wurde %d"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Byte an"
+msgstr[1] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Bytes an"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"Das Programm »%s« wird von %s benötigt, aber wurde nicht im\n"
+"selben Verzeichnis wie »%s« gefunden.\n"
+"Prüfen Sie Ihre Installation."
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"Das Programm »%s« wurde von %s gefunden,\n"
+"aber es hatte nicht die gleiche Version wie %s.\n"
+"Prüfen Sie Ihre Installation."
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "restore_command ist im Ziel-Cluster nicht gesetzt"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "führe »%s« für Zielserver aus, um Wiederherstellung abzuschließen"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "postgres im Einzelbenutzermodus im Ziel-Cluster fehlgeschlagen"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "Die Anweisung war: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "Syntaxfehler in History-Datei: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Eine numerische Zeitleisten-ID wurde erwartet."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Eine Write-Ahead-Log-Switchpoint-Position wurde erwartet."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "ungültige Daten in History-Datei: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Zeitleisten-IDs müssen in aufsteigender Folge sein."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "ungültige Daten in History-Datei"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ungültiger Datensatz-Offset bei %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "Contrecord angefordert von %X/%X"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, 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:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "keine Contrecord-Flag bei %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "ungültige Contrecord-Länge %u bei %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, 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:771
+#, 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:808
+#, 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:822 xlogreader.c:863
+#, 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:837
+#, 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:845
+#, 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:851
+#, 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:882
+#, 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:907
+#, 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:1247
+#, 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:1270
+#, 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:1277
+#, 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:1313
+#, 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:1329
+#, 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:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+
+#: xlogreader.c:1375
+#, 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:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "ungültige block_id %u bei %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
diff --git a/src/bin/pg_rewind/po/es.po b/src/bin/pg_rewind/po/es.po
new file mode 100644
index 0000000..f8612c0
--- /dev/null
+++ b/src/bin/pg_rewind/po/es.po
@@ -0,0 +1,942 @@
+# Spanish message translation file for pg_rewind
+#
+# Copyright (c) 2015-2019, PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+#
+# Álvaro Herrera <alvherre@alvh.no-ip.org>, 2015.
+# Carlos Chapi <carloswaldo@babelruins.org>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2021-05-13 14:01+0000\n"
+"PO-Revision-Date: 2020-10-16 15:59-0300\n"
+"Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\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: BlackCAT 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatal: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "error: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "precaución: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "no se pudo cargar la biblioteca «%s»: código de error %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "no se pueden crear tokens restrigidos en esta plataforma: código de error %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "no se pudo abrir el token de proceso: código de error %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "no se pudo emplazar los SIDs: código de error %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "no se pudo crear el token restringido: código de error %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "no se pudo iniciar el proceso para la orden «%s»: código de error %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu"
+
+#: ../../fe_utils/archive.c:53
+#, fuzzy, c-format
+#| msgid "could not use restore_command with %%r alias"
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "no se puede usar restore_command con el alias %%r"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "el archivo «%s» tiene tamaño inesperado: %lu en lugar de %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "no se pudo abrir el archivo «%s» restaurado del archivo: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../fe_utils/archive.c:112
+#, fuzzy, c-format
+#| msgid "restore_command failed due to the signal: %s"
+msgid "restore_command failed: %s"
+msgstr "restore_command falló debido a la señal: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "no se pudo recuperar el archivo «%s» del archivo"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:76 parsexlog.c:134
+#: parsexlog.c:194
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:307
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "no se pudo escribir a archivo «%s»: %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "no se pudo crear archivo «%s»: %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "no se pudo leer el enlace simbólico «%s»: %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "«%s» es un link simbólico, pero los links simbólicos no están soportados en esta plataforma"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de origen «%s»: %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "no se pudo posicionar en archivo de origen: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:345
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "EOF inesperado mientras se leía el archivo «%s»"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de destino «%s»: %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo de destino «%s»: %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "no se pudo posicionar en archivo de destino «%s»: %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "acción no válida (CREATE) para archivo regular"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "no se pudo eliminar el archivo «%s»: %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "no se pudo abrir el archivo «%s» para truncarlo: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "no se pudo truncar el archivo «%s» a %u: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "no se pudo crear el directorio «%s»: %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "no se pudo eliminar el directorio «%s»: %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "no se pudo crear el link simbólico en «%s»: %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "no se pudo abrir archivo «%s» para lectura: %m"
+
+#: file_ops.c:314 parsexlog.c:347
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "el archivo de datos «%s» en el origen no es un archivo regular"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "«%s» no es un directorio"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "«%s» no es un link simbólico"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "«%s» no es un archivo regular"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "el listado de archivos de origen está vacío"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "modificación de página inesperada para el directorio o link simbólico «%s»"
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: libpq_fetch.c:53
+#, c-format
+msgid "connected to server"
+msgstr "conectado al servidor"
+
+#: libpq_fetch.c:62
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "no se pudo limpiar search_path: %s"
+
+#: libpq_fetch.c:74
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "el servidor de origen no debe estar en modo de recuperación"
+
+#: libpq_fetch.c:84
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "full_page_writes debe estar activado en el servidor de origen"
+
+#: libpq_fetch.c:110
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "error ejecutando consulta (%s) en el servidor de origen: %s"
+
+#: libpq_fetch.c:115
+#, c-format
+msgid "unexpected result set from query"
+msgstr "conjunto de resultados inesperados de la consulta"
+
+#: libpq_fetch.c:136
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "error ejecutando consulta (%s) en el servidor de origen: %s"
+
+#: libpq_fetch.c:156
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "resultado «%s» no reconocido para la ubicación de inserción WAL actual"
+
+#: libpq_fetch.c:206
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "no se pudo obtener el listado de archivos: %s"
+
+#: libpq_fetch.c:211
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "conjunto de resultados inesperado mientras se obtenía el listado de archivos"
+
+#: libpq_fetch.c:264
+#, c-format
+msgid "could not send query: %s"
+msgstr "no se pudo enviar la consulta: %s"
+
+#: libpq_fetch.c:269
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "no se pudo establecer la coneción libpq a modo «single row»"
+
+#: libpq_fetch.c:289
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "resultados inesperados mientras se obtenían archivos remotos: %s"
+
+#: libpq_fetch.c:295
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "tamaño del conjunto de resultados inesperado mientras se obtenían archivos remotos"
+
+#: libpq_fetch.c:301
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "tipos de dato inesperados en el conjunto de resultados mientras se obtenían archivos remotos: %u %u %u"
+
+#: libpq_fetch.c:309
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "formato de resultados inesperado mientras se obtenían archivos remotos"
+
+#: libpq_fetch.c:315
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "valores nulos inesperados en el resultado mientras se obtenían archivos remotos"
+
+#: libpq_fetch.c:319
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "largo del resultado inesperado mientras se obtenían los archivos remotos"
+
+#: libpq_fetch.c:380
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "no se pudo obtener el archivo remoto «%s»: %s"
+
+#: libpq_fetch.c:385
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "conjunto de resultados inesperado mientras se obtenía el archivo remoto «%s»"
+
+#: libpq_fetch.c:429
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "no se pudo enviar datos COPY: %s"
+
+#: libpq_fetch.c:458
+#, c-format
+msgid "could not send file list: %s"
+msgstr "no se pudo enviar el listado de archivos: %s"
+
+#: libpq_fetch.c:500
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "no se pudo enviar fin-de-COPY: %s"
+
+#: libpq_fetch.c:506
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "resultados inesperados mientras se enviaba el listado de archivos: %s"
+
+#: parsexlog.c:88 parsexlog.c:141
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "no se pudo leer el registro WAL en %X/%X: %s"
+
+#: parsexlog.c:92 parsexlog.c:144
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "no se pudo leer el registro WAL en %X/%X"
+
+#: parsexlog.c:207
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "no se pudo encontrar el registro WAL anterior en %X/%X: %s"
+
+#: parsexlog.c:211
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "no se pudo encontrar el registro WAL anterior en %X/%X"
+
+#: parsexlog.c:336
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
+
+#: parsexlog.c:416
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "el registro WAL modifica una relación, pero el tipo de registro no es reconocido lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s resincroniza un cluster PostgreSQL con otra copia del cluster.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Empleo:\n"
+" %s [OPCION]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Opciones:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal utilizar restore_command de la configuración\n"
+" de destino para obtener archivos WAL\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=DIRECTORIO directorio de datos existente a modificar\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=DIRECTORIO directorio de datos de origen a sincronizar\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONN servidor de origen a sincronizar\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run detener antes de modificar nada\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress escribir mensajes de progreso\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf escribe configuración para replicación\n"
+" (requiere --source-server)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug escribir muchos mensajes de depuración\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr ""
+" --no-ensure-shutdown no corregir automáticamente un apagado\n"
+" no-limpio\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version mostrar información de versión y salir\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help mostrar esta ayuda y salir\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Reporte errores a <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Sitio web de %s: <%s>\n"
+
+#: pg_rewind.c:160 pg_rewind.c:209 pg_rewind.c:216 pg_rewind.c:223
+#: pg_rewind.c:230 pg_rewind.c:238
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Pruebe «%s --help» para mayor información.\n"
+
+#: pg_rewind.c:208
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "no se especificó origen (--source-pgdata o --source-server)"
+
+#: pg_rewind.c:215
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "sólo uno de --source-pgdata o --source-server puede ser especificado"
+
+#: pg_rewind.c:222
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "no se especificó directorio de datos de destino (--target-pgdata)"
+
+#: pg_rewind.c:229
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "no se especificó información de servidor de origen (--source-server) para --write-recovery-conf"
+
+#: pg_rewind.c:236
+#, 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_rewind.c:251
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "no puede ser ejecutado por «root»"
+
+#: pg_rewind.c:252
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Debe ejecutar %s con el superusuario de PostgreSQL.\n"
+
+#: pg_rewind.c:263
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
+
+#: pg_rewind.c:317
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "el cluster de origen y destino están en el mismo timeline"
+
+#: pg_rewind.c:326
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "servidores divergieron en la posición de WAL %X/%X en el timeline %u"
+
+#: pg_rewind.c:374
+#, c-format
+msgid "no rewind required"
+msgstr "no se requiere rebobinar"
+
+#: pg_rewind.c:383
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "rebobinando desde el último checkpoint común en %X/%X en el timeline %u"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading source file list"
+msgstr "leyendo la lista de archivos de origen"
+
+#: pg_rewind.c:395
+#, c-format
+msgid "reading target file list"
+msgstr "leyendo la lista de archivos de destino"
+
+#: pg_rewind.c:404
+#, c-format
+msgid "reading WAL in target"
+msgstr "leyendo WAL en destino"
+
+#: pg_rewind.c:421
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "se necesitan copiar %lu MB (tamaño total de directorio de origen es %lu MB)"
+
+#: pg_rewind.c:439
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "creando etiqueta de respaldo y actualizando archivo de control"
+
+#: pg_rewind.c:469
+#, c-format
+msgid "syncing target data directory"
+msgstr "sincronizando directorio de datos de destino"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "Done!"
+msgstr "¡Listo!"
+
+#: pg_rewind.c:488
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "clusters de origen y destino son de sistemas diferentes"
+
+#: pg_rewind.c:496
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "los clusters no son compatibles con esta versión de pg_rewind"
+
+#: pg_rewind.c:506
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "el servidor de destino necesita tener sumas de verificación de datos o «wal_log_hints» activados"
+
+#: pg_rewind.c:517
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "el directorio de destino debe estar apagado limpiamente"
+
+#: pg_rewind.c:527
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "el directorio de origen debe estar apagado limpiamente"
+
+#: pg_rewind.c:579
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) copiados"
+
+#: pg_rewind.c:642
+#, c-format
+msgid "invalid control file"
+msgstr "archivo de control no válido"
+
+#: pg_rewind.c:726
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "no se pudo encontrar un ancestro común en el timeline de los clusters de origen y destino"
+
+#: pg_rewind.c:767
+#, c-format
+msgid "backup label buffer too small"
+msgstr "el búfer del backup label es demasiado pequeño"
+
+#: pg_rewind.c:790
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "CRC de archivo de control inesperado"
+
+#: pg_rewind.c:800
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "tamaño del archivo de control %d inesperado, se esperaba %d"
+
+#: pg_rewind.c:809
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d byte"
+msgstr[1] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d bytes"
+
+#: pg_rewind.c:866 pg_rewind.c:924
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"%s necesita el programa «%s», pero no pudo encontrarlo en el mismo\n"
+"directorio que «%s».\n"
+"Verifique su instalación."
+
+#: pg_rewind.c:871 pg_rewind.c:929
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"El programa «%s» fue encontrado por «%s»,\n"
+"pero no es de la misma versión que %s.\n"
+"Verifique su instalación."
+
+#: pg_rewind.c:892
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "restore_command no está definido en el clúster de destino"
+
+#: pg_rewind.c:935
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "ejecutando «%s» en el servidor de destino para completar la recuperación de caídas"
+
+#: pg_rewind.c:955
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "el modo «single-user» en el servidor de destino falló"
+
+#: pg_rewind.c:956
+#, c-format
+msgid "Command was: %s"
+msgstr "La orden era: % s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "error de sintaxis en archivo de historia: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Se esperaba un ID numérico de timeline."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Se esperaba una ubicación de punto de cambio del «write-ahead log»."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "datos no válidos en archivo de historia: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "IDs de timeline deben ser una secuencia creciente."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "datos no válidos en archivo de historia"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "posición de registro no válida en %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord solicitado por %X/%X"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, 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:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "largo de registro %u en %X/%X demasiado largo"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "no hay bandera de contrecord en %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "largo de contrecord %u no válido en %X/%X"
+
+#: xlogreader.c:703
+#, 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:717 xlogreader.c:734
+#, 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:771
+#, 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:808
+#, 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:822 xlogreader.c:863
+#, 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:837
+#, 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:845
+#, 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:851
+#, 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:882
+#, 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:907
+#, 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:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u fuera de orden en %X/%X"
+
+#: xlogreader.c:1270
+#, 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:1277
+#, 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:1313
+#, 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:1329
+#, 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:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED está definido, pero largo de imagen de bloque es %u en %X/%X"
+
+#: xlogreader.c:1375
+#, 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:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u no válido en %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "registro con largo no válido en %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "imagen comprimida no válida en %X/%X, bloque %d"
+
+#~ msgid "could not connect to server: %s"
+#~ msgstr "no se pudo conectar al servidor: %s"
diff --git a/src/bin/pg_rewind/po/fr.po b/src/bin/pg_rewind/po/fr.po
new file mode 100644
index 0000000..8172621
--- /dev/null
+++ b/src/bin/pg_rewind/po/fr.po
@@ -0,0 +1,1153 @@
+# LANGUAGE message translation file for pg_rewind
+# Copyright (C) 2016 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-11-08 08:46+0000\n"
+"PO-Revision-Date: 2020-09-17 08:30+0200\n"
+"Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
+"Language-Team: \n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.4.1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "fatal : "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "erreur : "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "attention : "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "mémoire épuisée\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "n'a pas pu allouer les SID : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "n'a pas pu créer le jeton restreint : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "ne peut pas utiliser restore_command avec le joker %%r"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "taille de fichier inattendu pour « %s » : %lu au lieu de %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » à partir de l'archive : %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "n'a pas pu tester le fichier « %s » : %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "échec de la restore_command : %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "n'a pas pu restaurer le fichier « %s » à partir de l'archive"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:73 parsexlog.c:125
+#: parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:298
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "n'a pas pu écrire dans le fichier « %s » : %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "n'a pas pu créer le fichier « %s » : %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "n'a pas pu lire le lien symbolique « %s » : %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "la cible du lien symbolique « %s » est trop long"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "« %s » est un lien symbolique mais les liens symboliques ne sont pas supportés sur cette plateforme"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "n'a pas pu lire le répertoire « %s » : %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "n'a pas pu fermer le répertoire « %s » : %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier source « %s » : %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "n'a pas pu chercher dans le fichier source : %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:336
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier « %s » : %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "EOF inattendu lors de la lecture du fichier « %s »"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier « %s » : %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier cible « %s » : %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier cible « %s » : %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "n'a pas pu chercher dans le fichier cible « %s » : %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "impossible d'écrire le fichier « %s » : %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "action (CREATE) invalide pour le fichier régulier"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "n'a pas pu supprimer le fichier « %s » : %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » pour le troncage : %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "n'a pas pu tronquer le fichier « %s » en %u : %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "n'a pas pu créer le répertoire « %s » : %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "n'a pas pu supprimer le répertoire « %s » : %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "n'a pas pu créer le lien symbolique à « %s » : %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "n'a pas pu supprimer le lien symbolique « %s » : %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
+
+#: file_ops.c:314 parsexlog.c:338
+#, 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"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "le fichier de données « %s » en source n'est pas un fichier standard"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "« %s » n'est pas un répertoire"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "« %s » n'est pas un lien symbolique"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "« %s » n'est pas un fichier standard"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "la liste de fichiers sources est vide"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "modification inattendue de page pour le répertoire ou le lien symbolique « %s »"
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: libpq_fetch.c:53
+#, c-format
+msgid "connected to server"
+msgstr "connecté au serveur"
+
+#: libpq_fetch.c:62
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "n'a pas pu effacer search_path : %s"
+
+#: libpq_fetch.c:74
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "le serveur source ne doit pas être en mode restauration"
+
+#: libpq_fetch.c:84
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "full_page_writes doit être activé sur le serveur source"
+
+#: libpq_fetch.c:110
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "erreur lors de l'exécution de la requête (%s) sur le serveur source : %s"
+
+#: libpq_fetch.c:115
+#, c-format
+msgid "unexpected result set from query"
+msgstr "ensemble de résultats inattendu provenant de la requête"
+
+#: libpq_fetch.c:136
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "erreur lors de l'exécution de la requête (%s) dans le serveur source : %s"
+
+#: libpq_fetch.c:156
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "résultat non reconnu « %s » pour l'emplacement d'insertion actuel dans les WAL"
+
+#: libpq_fetch.c:206
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "n'a pas pu récupérer la liste des fichiers : %s"
+
+#: libpq_fetch.c:211
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "ensemble de résultats inattendu lors de la récupération de la liste des fichiers"
+
+#: libpq_fetch.c:264
+#, c-format
+msgid "could not send query: %s"
+msgstr "n'a pas pu envoyer la requête : %s"
+
+#: libpq_fetch.c:269
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "n'a pas pu configurer la connexion libpq en mode ligne seule"
+
+#: libpq_fetch.c:289
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "résultat inattendu lors de la récupération des fichiers cibles : %s"
+
+#: libpq_fetch.c:295
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "taille inattendue de l'ensemble de résultats lors de la récupération des fichiers distants"
+
+#: libpq_fetch.c:301
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "types de données inattendus dans l'ensemble de résultats lors de la récupération des fichiers distants : %u %u %u"
+
+#: libpq_fetch.c:309
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "format de résultat inattendu lors de la récupération des fichiers distants"
+
+#: libpq_fetch.c:315
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "valeurs NULL inattendues dans le résultat lors de la récupération des fichiers distants"
+
+#: libpq_fetch.c:319
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "longueur de résultats inattendu lors de la récupération des fichiers distants"
+
+#: libpq_fetch.c:380
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "n'a pas pu récupérer le fichier distant « %s » : %s"
+
+#: libpq_fetch.c:385
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "ensemble de résultats inattendu lors de la récupération du fichier distant « %s »"
+
+#: libpq_fetch.c:429
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "n'a pas pu envoyer les données COPY : %s"
+
+#: libpq_fetch.c:458
+#, c-format
+msgid "could not send file list: %s"
+msgstr "n'a pas pu envoyer la liste de fichiers : %s"
+
+#: libpq_fetch.c:500
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "n'a pas pu envoyer end-of-COPY : %s"
+
+#: libpq_fetch.c:506
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "résultat inattendu lors de l'envoi de la liste de fichiers : %s"
+
+#: parsexlog.c:85 parsexlog.c:132
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%X : %s"
+
+#: parsexlog.c:89 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%X"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%X : %s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%X"
+
+#: parsexlog.c:327
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "n'a pas pu parcourir le fichier « %s » : %m"
+
+#: parsexlog.c:407
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "l'enregistrement WAL modifie une relation mais le type d'enregistrement n'est pas reconnu: lsn : %X/%X, rmgr : %s, info : %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s resynchronise une instance PostgreSQL avec une autre copie de l'instance.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Usage :\n"
+" %s [OPTION]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Options :\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal utilise restore_command pour la configuration cible\n"
+" de récupération des fichiers WAL des archives\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=RÉPERTOIRE répertoire de données existant à modifier\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=RÉPERTOIRE répertoire des données source pour la synchronisation\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR serveur source pour la synchronisation\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run arrête avant de modifier quoi que ce soit\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr " -N, --nosync n'attend pas que les modifications soient proprement écrites sur disque\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress écrit les messages de progression\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf écrit la configuration pour la réplication\n"
+" (requiert --source-server)\n"
+"\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug écrit beaucoup de messages de débogage\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown ne corrige pas automatiquement l'arrêt non propre\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version affiche la version, puis quitte\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help affiche cette aide, puis quitte\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapporter les bogues à <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "page d'accueil %s : <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Essayez « %s --help » pour plus d'informations.\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "aucune source indiquée (--source-pgdata ou --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "une seule des options --source-pgdata et --source-server peut être indiquée"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "aucun répertoire de données cible indiqué (--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "aucune information sur le serveur source (--source-server) indiquée pour --write-recovery-conf"
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "ne peut pas être exécuté par « root »"
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL.\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "n'a pas pu lire les droits du répertoire « %s » : %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "les instances source et cible sont sur la même ligne de temps"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "les serveurs ont divergé à la position %X/%X des WAL sur la timeline %u"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "pas de retour en arrière requis"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "retour en arrière depuis le dernier checkpoint commun à %X/%X sur la ligne de temps %u"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "lecture de la liste des fichiers sources"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "lecture de la liste des fichiers cibles"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "lecture du WAL dans la cible"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "a besoin de copier %lu Mo (la taille totale du répertoire source est %lu Mo)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "création du fichier backup_label et mise à jour du fichier contrôle"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "synchronisation du répertoire des données cible"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "Terminé !"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "les instances source et cible proviennent de systèmes différents"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "les instances ne sont pas compatibles avec cette version de pg_rewind"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "le serveur cible doit soit utiliser les sommes de contrôle sur les données soit avoir wal_log_hints configuré à on"
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "le serveur cible doit être arrêté proprement"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "le répertoire de données source doit être arrêté proprement"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s Ko (%d%%) copiés"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "fichier de contrôle invalide"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "n'a pas pu trouver l'ancêtre commun des lignes de temps des instances source et cible"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "tampon du label de sauvegarde trop petit"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "CRC inattendu pour le fichier de contrôle"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "taille %d inattendue du fichier de contrôle, %d attendu"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet"
+msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"Le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé\n"
+"dans le même répertoire que « %s ».\n"
+"Vérifiez votre installation."
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"Le programme « %s » a été trouvé par « %s »\n"
+"mais n'est pas de la même version que %s.\n"
+"Vérifiez votre installation."
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "restore_command n'est pas configuré sur l'instance cible"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "exécution de « %s » pour terminer la restauration après crash du serveur cible"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "le mot simple-utilisateur de postgres a échoué pour l'instance cible"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "La commande était : %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "erreur de syntaxe dans le fichier historique : %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Attendait un identifiant timeline numérique."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Attendait un emplacement de bascule de journal de transactions."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "données invalides dans le fichier historique : %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Les identifiants timeline doivent être en ordre croissant."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "données invalides dans le fichier historique"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr ""
+"Les identifiants timeline doivent être plus petits que les enfants des\n"
+"identifiants timeline."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "décalage invalide de l'enregistrement %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "« contrecord » est requis par %X/%X"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, 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:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "il n'existe pas de drapeau contrecord à %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "longueur %u invalide du contrecord à %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, 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:771
+#, 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:808
+#, 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:822 xlogreader.c:863
+#, 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:837
+#, 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'un système différent : 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:845
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "Le fichier WAL provient d'un système différent : taille invalide du segment dans l'en-tête de page"
+
+#: xlogreader.c:851
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "Le fichier WAL provient d'un système différent : XLOG_BLCKSZ invalide dans l'en-tête de page"
+
+#: xlogreader.c:882
+#, 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:907
+#, 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:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u désordonné à %X/%X"
+
+#: xlogreader.c:1270
+#, 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:1277
+#, 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:1313
+#, 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:1329
+#, 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:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+
+#: xlogreader.c:1375
+#, 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:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u invalide à %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "enregistrement de longueur invalide à %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "image compressée invalide à %X/%X, bloc %d"
+
+#~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
+#~ msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n"
+
+#~ msgid "%s: could not open process token: error code %lu\n"
+#~ msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n"
+
+#~ msgid "%s: could not allocate SIDs: error code %lu\n"
+#~ msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n"
+
+#~ msgid "%s: could not create restricted token: error code %lu\n"
+#~ msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n"
+
+#~ msgid "%s: could not start process for command \"%s\": error code %lu\n"
+#~ msgstr "%s : n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu\n"
+
+#~ msgid "%s: could not re-execute with restricted token: error code %lu\n"
+#~ msgstr "%s : n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu\n"
+
+#~ msgid "%s: could not get exit code from subprocess: error code %lu\n"
+#~ msgstr "%s : n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu\n"
+
+#~ msgid "could not open directory \"%s\": %s\n"
+#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s\n"
+
+#~ msgid "could not stat file \"%s\": %s\n"
+#~ msgstr "n'a pas pu tester le fichier « %s » : %s\n"
+
+#~ msgid "could not read symbolic link \"%s\": %s\n"
+#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %s\n"
+
+#~ msgid "symbolic link \"%s\" target is too long\n"
+#~ msgstr "la cible du lien symbolique « %s » est trop long\n"
+
+#~ msgid "could not read directory \"%s\": %s\n"
+#~ msgstr "n'a pas pu lire le répertoire « %s » : %s\n"
+
+#~ msgid "could not close directory \"%s\": %s\n"
+#~ msgstr "n'a pas pu fermer le répertoire « %s » : %s\n"
+
+#~ msgid "could not read file \"%s\": %s\n"
+#~ msgstr "n'a pas pu lire le fichier « %s » : %s\n"
+
+#~ msgid "could not close file \"%s\": %s\n"
+#~ msgstr "n'a pas pu fermer le fichier « %s » : %s\n"
+
+#~ msgid " block %u\n"
+#~ msgstr " bloc %u\n"
+
+#~ msgid "could not write file \"%s\": %s\n"
+#~ msgstr "n'a pas pu écrire le fichier « %s » : %s\n"
+
+#~ msgid "could not remove file \"%s\": %s\n"
+#~ msgstr "n'a pas pu supprimer le fichier « %s » : %s\n"
+
+#~ msgid "could not truncate file \"%s\" to %u: %s\n"
+#~ msgstr "n'a pas pu tronquer le fichier « %s » à %u : %s\n"
+
+#~ msgid "could not create directory \"%s\": %s\n"
+#~ msgstr "n'a pas pu créer le répertoire « %s » : %s\n"
+
+#~ msgid "could not remove directory \"%s\": %s\n"
+#~ msgstr "n'a pas pu supprimer le répertoire « %s » : %s\n"
+
+#~ msgid "could not remove symbolic link \"%s\": %s\n"
+#~ msgstr "n'a pas pu supprimer le lien symbolique « %s » : %s\n"
+
+#~ msgid "could not open file \"%s\" for reading: %s\n"
+#~ msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %s\n"
+
+#~ msgid "entry \"%s\" excluded from source file list\n"
+#~ msgstr "enregistrement « %s » exclus de la liste des fichiers sources\n"
+
+#~ msgid "entry \"%s\" excluded from target file list\n"
+#~ msgstr "enregistrement « %s » exclus de la liste des fichiers cibles\n"
+
+#~ msgid "%s (%s)\n"
+#~ msgstr "%s (%s)\n"
+
+#~ msgid "could not set up connection context: %s"
+#~ msgstr "n'a pas pu initialiser le contexte de connexion : « %s »"
+
+#~ msgid "getting file chunks\n"
+#~ msgstr "récupération des parties de fichier\n"
+
+#~ msgid "received null value for chunk for file \"%s\", file has been deleted\n"
+#~ msgstr "a reçu une valeur NULL pour une partie du fichier « %s », le fichier a été supprimé\n"
+
+#~ msgid "received chunk for file \"%s\", offset %s, size %d\n"
+#~ msgstr "a reçu une partie du fichier « %s », décalage %s, taille %d\n"
+
+#~ msgid "fetched file \"%s\", length %d\n"
+#~ msgstr "fichier récupéré « %s », longueur %d\n"
+
+#~ msgid "could not create temporary table: %s"
+#~ msgstr "n'a pas pu créer la table temporaire : %s"
+
+#~ msgid "Failure, exiting\n"
+#~ msgstr "Échec, sortie\n"
+
+#~ msgid "could not open file \"%s\": %s\n"
+#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s\n"
+
+#~ msgid "could not seek in file \"%s\": %s\n"
+#~ msgstr "n'a pas pu chercher dans le fichier « %s » : %s\n"
+
+#~ msgid "could not read from file \"%s\": %s\n"
+#~ msgstr "n'a pas pu lire le fichier « %s » : %s\n"
+
+#~ msgid "%s: too many command-line arguments (first is \"%s\")\n"
+#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n"
+
+#~ msgid "%s: could not read permissions of directory \"%s\": %s\n"
+#~ msgstr "%s : n'a pas pu lire les droits sur le répertoire « %s » : %s\n"
+
+#~ msgid "Source timeline history:\n"
+#~ msgstr "Historique de la ligne de temps source :\n"
+
+#~ msgid "Target timeline history:\n"
+#~ msgstr "Historique de la ligne de temps cible :\n"
+
+#~ msgid "%d: %X/%X - %X/%X\n"
+#~ msgstr "%d : %X/%X - %X/%X\n"
+
+#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte\n"
+#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes\n"
+#~ msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet\n"
+#~ msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "Le programme « initdb » est nécessaire pour %s, mais n'a pas été trouvé\n"
+#~ "dans le même répertoire que « %s ».\n"
+#~ "Vérifiez votre installation.\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "Le programme « initdb » a été trouvé par « %s », mais n'est pas de la même version\n"
+#~ "que %s.\n"
+#~ "Vérifiez votre installation.\n"
+
+#~ msgid "sync of target directory failed\n"
+#~ msgstr "échec de la synchronisation du répertoire cible\n"
+
+#~ msgid "syntax error in history file: %s\n"
+#~ msgstr "erreur de syntaxe dans le fichier historique : %s\n"
+
+#~ msgid "Expected a numeric timeline ID.\n"
+#~ msgstr "Attendait un identifiant numérique de ligne de temps.\n"
+
+#~ msgid "Expected a write-ahead log switchpoint location.\n"
+#~ msgstr "Attendait un emplacement de bascule de journal de transactions.\n"
+
+#~ msgid "invalid data in history file: %s\n"
+#~ msgstr "données invalides dans le fichier historique : %s\n"
+
+#~ msgid "Timeline IDs must be in increasing sequence.\n"
+#~ msgstr "Les identifiants de ligne de temps doivent être dans une séquence croissante.\n"
+
+#~ msgid "Timeline IDs must be less than child timeline's ID.\n"
+#~ msgstr "Les identifiants de ligne de temps doivent être inférieurs à l'identifiant de la ligne de temps enfant.\n"
+
+#~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
+#~ msgstr "le fichier WAL provient d'un système différent : XLOG_SEG_SIZE invalide dans l'en-tête de page"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Rapporter les bogues à <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid ""
+#~ "The program \"%s\" was found by \"%s\" but was\n"
+#~ "not the same version as %s.\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Le programme « %s » a été trouvé par « %s » mais n'était pas de la même version\n"
+#~ "que %s.\n"
+#~ "Vérifiez votre installation."
+
+#~ msgid ""
+#~ "The program \"%s\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé\n"
+#~ "dans le même répertoire que « %s ».\n"
+#~ "Vérifiez votre installation."
+
+#~ msgid ""
+#~ "The program \"postgres\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Le programme « postgres » a été trouvé par « %s » mais n'est pas de la même\n"
+#~ "version que « %s ».\n"
+#~ "Vérifiez votre installation."
+
+#~ msgid ""
+#~ "The program \"postgres\" is needed by %s but was not found in the\n"
+#~ "same directory as \"%s\".\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Le programme « postgres » est nécessaire à %s mais n'a pas été trouvé dans\n"
+#~ "le même répertoire que « %s ».\n"
+#~ "Vérifiez votre installation."
+
+#~ msgid "could not connect to server: %s"
+#~ msgstr "n'a pas pu se connecter au serveur : %s"
diff --git a/src/bin/pg_rewind/po/ja.po b/src/bin/pg_rewind/po/ja.po
new file mode 100644
index 0000000..bfaea37
--- /dev/null
+++ b/src/bin/pg_rewind/po/ja.po
@@ -0,0 +1,1070 @@
+# Japanese message translation file for pg_rewind
+# Copyright (C) 2019 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL 13)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-08-21 15:55+0900\n"
+"PO-Revision-Date: 2020-08-21 23:25+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"
+"X-Generator: Poedit 1.8.13\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+
+#: ../../../src/common/logging.c:241
+#, c-format
+msgid "fatal: "
+msgstr "致命的エラー: "
+
+#: ../../../src/common/logging.c:248
+#, c-format
+msgid "error: "
+msgstr "エラー: "
+
+#: ../../../src/common/logging.c:255
+#, c-format
+msgid "warning: "
+msgstr "警告: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "メモリ不足です\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "null ポインタを複製できません(内部エラー)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "ライブラリ\"%s\"をロードできませんでした: エラーコード %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "このプラットフォームでは制限付きトークンを生成できません: エラーコード %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "プロセストークンをオープンできませんでした: エラーコード %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "SIDを割り当てられませんでした: エラーコード %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "制限付きトークンを作成できませんでした: エラーコード %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "\"%s\"コマンドのプロセスを起動できませんでした: エラーコード %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "制限付きトークンで再実行できませんでした: %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "サブプロセスの終了コードを取得できませんでした。: エラーコード %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "could not use restore_command with %%r alias"
+msgstr "%%rエイリアスを含むrestore_commandは使用できません"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "予期しない\"%1$s\"のサイズ: %3$lu ではなく %2$lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "アーカイブからリストアされたファイル\"%s\"のオープンに失敗しました: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208 filemap.c:369
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "ファイル\"%s\"のstatに失敗しました: %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed due to the signal: %s"
+msgstr "restore_commandがシグナルにより失敗しました: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "ファイル\"%s\"をアーカイブからリストアできませんでした"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:74 parsexlog.c:126
+#: parsexlog.c:186
+#, c-format
+msgid "out of memory"
+msgstr "メモリ不足です"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:299
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "ファイル\"%s\"をオープンできませんでした: %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "ファイル\"%s\"を書き出せませんでした: %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "ファイル\"%s\"を作成できませんでした: %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "シンボリックリンク\"%s\"を読めませんでした: %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "シンボリックリンク\"%s\"の参照先が長すぎます"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\"はシンボリックリンクですが、このプラットフォームではシンボリックリンクをサポートしていません"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"をクローズできませんでした: %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "ソースファイル\"%s\"をオープンすることができませんでした: %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "ソースファイルをシークすることができませんでした: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:337
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "ファイル\"%s\"の読み取りに失敗しました: %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "ファイル\"%s\"を読み込み中に想定外のEOF"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "ファイル\"%s\"をクローズできませんでした: %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "ターゲットファイル\"%s\"をオープンできませんでした: %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "ターゲットファイル\"%s\"をクローズできませんでした: %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "ターゲットファイル\"%s\"をシークできませんでした: %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "ファイル\"%s\"を書き出せませんでした: %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "通常のファイルに対する不正なアクション(CREATE)です"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "ファイル\"%s\"を削除できませんでした: %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "ファイル\"%s\"を切り詰めのためにオープンできませんでした: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "ファイル\"%s\"を%uバイトに切り詰められませんでした: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"を作成できませんでした: %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"を削除できませんでした: %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "\"%s\"にシンボリックリンクを作成できませんでした: %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "シンボリックリンク\"%s\"を削除できませんでした: %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "ファイル\"%s\"を読み取り用にオープンできませんでした: %m"
+
+#: file_ops.c:314 parsexlog.c:339
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "ソースのデータファイル\"%s\"は通常のファイルではありません"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\"はディレクトリではありません"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\"はシンボリックリンクではありません"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" は通常のファイルではありません"
+
+#: filemap.c:381
+#, c-format
+msgid "source file list is empty"
+msgstr "ソースファイルリストが空です"
+
+#: filemap.c:496
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "ディレクトリまたはシンボリックリンク\"%s\"に対する想定外のページの書き換えです"
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "サーバに接続できませんでした: %s"
+
+#: libpq_fetch.c:54
+#, c-format
+msgid "connected to server"
+msgstr "サーバへ接続しました"
+
+#: libpq_fetch.c:63
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "search_pathを消去できませんでした: %s"
+
+#: libpq_fetch.c:75
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "ソースサーバはリカバリモードであってはなりません"
+
+#: libpq_fetch.c:85
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "ソースサーバではfull_pate_writesは有効でなければなりません"
+
+#: libpq_fetch.c:111
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "ソースサーバで実行中のクエリ(%s)でエラー: %s"
+
+#: libpq_fetch.c:116
+#, c-format
+msgid "unexpected result set from query"
+msgstr "クエリから想定外の結果セット"
+
+#: libpq_fetch.c:137
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "ソースサーバの実行中のクエリ(%s)でエラー: %s"
+
+#: libpq_fetch.c:157
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "現在のWAL挿入位置として認識不可の結果\"%s\""
+
+#: libpq_fetch.c:207
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "ファイルリストをフェッチできませんでした: %s"
+
+#: libpq_fetch.c:212
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "ファイルリストのフェッチ中に想定外の結果セット"
+
+#: libpq_fetch.c:265
+#, c-format
+msgid "could not send query: %s"
+msgstr "クエリを送信できませんでした: %s"
+
+#: libpq_fetch.c:270
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "libpq接続を単一行モードに設定できませんでした"
+
+#: libpq_fetch.c:290
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "リモートファイルをフェッチ中に想定外の結果: %s"
+
+#: libpq_fetch.c:296
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "リモートファイルのフェッチ中に想定外の結果セットサイズ"
+
+#: libpq_fetch.c:302
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "リモートファイルのフェッチ中の結果セットに想定外のデータ型: %u %u %u"
+
+#: libpq_fetch.c:310
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "リモートファイルのフェッチ中に想定外の結果形式"
+
+#: libpq_fetch.c:316
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "リモートファイルのフェッチ中の結果に想定外のNULL値"
+
+#: libpq_fetch.c:320
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "リモートファイルのフェッチ中に想定外の結果の長さ"
+
+#: libpq_fetch.c:381
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "リモートファイル\"%s\"をフェッチできませんでした: %s"
+
+#: libpq_fetch.c:386
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "リモートファイル\"%s\"のフェッチ中に想定外の結果セット"
+
+#: libpq_fetch.c:430
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "COPY 対象データを送信できませんでした: %s"
+
+#: libpq_fetch.c:459
+#, c-format
+msgid "could not send file list: %s"
+msgstr "ファイルリストを送信できませんでした: %s"
+
+#: libpq_fetch.c:501
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "コピー終端を送信できませんでした: %s"
+
+#: libpq_fetch.c:507
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "ファイルリストを送信中に想定外の結果: %s"
+
+#: parsexlog.c:86 parsexlog.c:133
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "%X/%XのWALレコードを読み取れませんでした: %s"
+
+#: parsexlog.c:90 parsexlog.c:136
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "%X/%XのWALレコードを読み取れませんでした"
+
+#: parsexlog.c:199
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "%X/%Xの前のWALレコードが見つかりませんでした: %s"
+
+#: parsexlog.c:203
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "%X/%Xの前のWALレコードが見つかりませんでした"
+
+#: parsexlog.c:328
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "ファイル\"%s\"をシークできませんでした: %m"
+
+#: parsexlog.c:420
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WALレコードはリレーションを修正しますが、レコードの型を認識できません: lsn: %X/%X、rmgr: %s、info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s はPostgreSQLクラスタをそのクラスタのコピーで再同期します。\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"使用方法:\n"
+" %s [オプション]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "オプション:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal ターゲットの設定の中のrestore_commandを使用して\n"
+" アーカイブからWALファイルを取得する\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=DIRECTORY 修正を行う既存データディレクトリ\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=DIRECTORY 同期元とするデータディレクトリ\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR 同期元とするサーバ\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run 修正を始める前に停止する\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr " -N, --no-sync 変更のディスクへの安全な書き出しを待機しない\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress 進捗メッセージを出力\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf レプリケーションのための設定を書き込む\n"
+" (--source-server が必要となります)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug 多量のデバッグメッセージを出力\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown 非クリーンシャットダウン後の修正を自動で行わない\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version バージョン情報を表示して終了\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help このヘルプを表示して終了\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"バグは<%s>に報告してください。\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s ホームページ: <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "詳細は\"%s --help\"を実行してください。\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "ソースが指定されていません(--source-pgdata または --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "--source-pgdataか--source-server はいずれか一方のみ指定可能です"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "ターゲットデータディレクトリが指定されていません(--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "--write-recovery-confにソースサーバ情報(--source-server)が指定されていません"
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr " コマンドライン引数が多すぎます(先頭は\"%s\")"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "\"root\"では実行できません"
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "PostgreSQLのスーパユーザで%sを実行しなければなりません\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "ディレクトリ\"%s\"の権限を読み取れませんでした: %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "ソースとターゲットのクラスタが同一タイムライン上にあります"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "タイムライン%3$uのWAL位置%1$X/%2$Xで両サーバが分岐しています"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "巻き戻しは必要ありません"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "タイムライン%3$uの%1$X/%2$Xにある最新の共通チェックポイントから巻き戻しています"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "ソースファイルリストを読み込んでいます"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "ターゲットファイルリストを読み込んでいます"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "ターゲットでWALを読み込んでいます"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "%lu MBコピーする必要があります(ソースディレクトリの合計サイズは%lu MBです)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "backup labelを作成して制御ファイルを更新しています"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "ターゲットデータディレクトリを同期しています"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "完了!"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "ソースクラスタとターゲットクラスタは異なるシステムのものです"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "クラスタは、このバージョンのpg_rewindとの互換性がありません"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "ターゲットサーバはデータチェックサムを利用している、または\"wal_log_hints = on\"である必要があります"
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "ターゲットサーバはきれいにシャットダウンされていなければなりません"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "ソースデータディレクトリはきれいにシャットダウンされていなければなりません"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) コピーしました"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "不正な制御ファイル"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "ソースクラスタとターゲットクラスタのタイムラインの共通の祖先を見つけられません"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "バックアップラベルのバッファが小さすぎます"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "想定外の制御ファイルCRCです"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "想定外の制御ファイルのサイズ%d、想定は%d"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "WALセグメントのサイズ指定は1MBと1GBの間の2の累乗でなければなりません、しかしコントロールファイルでは%dバイトとなっています"
+msgstr[1] "WALセグメントのサイズ指定は1MBと1GBの間の2の累乗でなければなりません、しかしコントロールファイルでは%dバイトとなっています"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"%2$sには\"%1$s\"プログラムが必要ですが、\"%3$s\"と同じディレクトリ\n"
+"にありませんでした。\n"
+"インストール状況を確認してください。"
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じ\n"
+"バージョンではありませんでした。\n"
+"インストール状況を確認してください。"
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "ターゲットクラスタでrestore_commandが設定されていません"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "ターゲットサーバに対して\"%s\"を実行してクラッシュリカバリを完了させます"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "ターゲットクラスタでのpostgresコマンドのシングルユーザモード実行に失敗しました"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "コマンド: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "履歴ファイル内の構文エラー: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "数字のタイムラインIDを想定しました。"
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "先行書き込みログの切り替え点の場所があるはずでした。"
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "履歴ファイル内の不正なデータ: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "タイムラインIDは昇順でなければなりません"
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "履歴ファイル内の無効なデータ"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "タイムラインIDは子のタイムラインIDより小さくなければなりません。"
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "%X/%Xのレコードオフセットが無効です"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "%X/%Xではcontrecordが必要です"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%Xのレコード長が無効です:長さは%uである必要がありますが、長さは%uでした"
+
+#: xlogreader.c:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "%2$X/%3$Xのレコード長%1$uが大きすぎます"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%Xで contrecord フラグがありません"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "%2$X/%3$Xのcontrecordの長さ %1$u が無効です"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "%2$X/%3$XのリソースマネージャID %1$uが無効です"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "直前のリンク%1$X/%2$Xが不正なレコードが%3$X/%4$Xにあります"
+
+#: xlogreader.c:771
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "%X/%Xのレコード内のリソースマネージャデータのチェックサムが不正です"
+
+#: xlogreader.c:808
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "ログセグメント%2$s、オフセット%3$uのマジックナンバー%1$04Xは無効です"
+
+#: xlogreader.c:822 xlogreader.c:863
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ログセグメント %2$s、オフセット %3$u の情報ビット %1$04X は無効です"
+
+#: xlogreader.c:837
+#, 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:845
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL ファイルは異なるデータベースシステム由来のものです: ページヘッダーのセグメントサイズが正しくありません"
+
+#: xlogreader.c:851
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL ファイルは異なるデータベースシステム由来のものです: ページヘッダーのXLOG_BLCKSZが正しくありません"
+
+#: xlogreader.c:882
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "ログセグメント%3$s、オフセット%4$uのページアドレス%1$X/%2$Xは想定外です"
+
+#: xlogreader.c:907
+#, 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:1252
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %uが%X/%Xで無効です"
+
+#: xlogreader.c:1275
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%Xにデータがありません"
+
+#: xlogreader.c:1282
+#, 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:1318
+#, 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:1334
+#, 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:1349
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSEDが設定されていますが、%2$X/%3$Xにおいてブロックイメージ長が%1$u"
+
+#: xlogreader.c:1364
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLEもBKPIMAGE_IS_COMPRESSEDも設定されていませんが、%2$X/%3$Xにおいてブロックイメージ長が%1$u"
+
+#: xlogreader.c:1380
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%Xにおいて以前のリレーションがありません"
+
+#: xlogreader.c:1392
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "%2$X/%3$Xにおけるblock_id %1$uが無効です"
+
+#: xlogreader.c:1481
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "%X/%Xのレコードのサイズが無効です"
+
+#: xlogreader.c:1570
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "%X/%X、ブロック %d での圧縮イメージが無効です"
+
+#~ msgid "could not create temporary table: %s"
+#~ msgstr "一時テーブルを作成できませんでした: %s"
+
+#~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
+#~ msgstr "WAL ファイルは異なるデータベースシステム由来のものです: ページヘッダーのXLOG_SEG_SIZEが正しくありません"
+
+#~ msgid "Timeline IDs must be less than child timeline's ID.\n"
+#~ msgstr "時系列IDは副時系列IDより小さくなければなりません。\n"
+
+#~ msgid "Timeline IDs must be in increasing sequence.\n"
+#~ msgstr "時系列IDは昇順の並びでなければなりません\n"
+
+#~ msgid "invalid data in history file: %s\n"
+#~ msgstr "履歴ファイル内の無効なデータ: %s\n"
+
+#~ msgid "Expected a transaction log switchpoint location.\n"
+#~ msgstr "トランザクションログの切替えポイントを想定しています。\n"
+
+#~ msgid "Expected a numeric timeline ID.\n"
+#~ msgstr "数字の時系列IDを想定しました。\n"
+
+#~ msgid "syntax error in history file: %s\n"
+#~ msgstr "履歴ファイル内の構文エラー: %s\n"
+
+#~ msgid "sync of target directory failed\n"
+#~ msgstr "ターゲットディレクトリの同期が失敗しました\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "\"%s\"がプログラム \"initdb\" を見つけましたが、これは%sと同じ\n"
+#~ "バージョンではありませんでした。\n"
+#~ "インストレーションを検査してください。\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "%sには \"initdb\" プログラムが必要ですが、\"%s\"と同じディレクトリ\n"
+#~ "にありませんでした。\n"
+#~ "インストール状況を確認してください。\n"
+
+#~ msgid "%d: %X/%X - %X/%X\n"
+#~ msgstr "%d: %X/%X - %X/%X\n"
+
+#~ msgid "Target timeline history:\n"
+#~ msgstr "ターゲットタイムラインの履歴:\n"
+
+#~ msgid "Source timeline history:\n"
+#~ msgstr "ソースタイムラインの履歴\n"
+
+#~ msgid "could not read from file \"%s\": %s\n"
+#~ msgstr "ファイル\"%s\"を読み込めませんでした: %s\n"
+
+#~ msgid "could not seek in file \"%s\": %s\n"
+#~ msgstr "ファイル\"%s\"をシークできませんでした: %s\n"
+
+#~ msgid "could not open file \"%s\": %s\n"
+#~ msgstr "ファイル \"%s\" をオープンできませんでした: %s\n"
+
+#~ msgid "Failure, exiting\n"
+#~ msgstr "失敗しました、終了します\n"
+
+#~ msgid "fetched file \"%s\", length %d\n"
+#~ msgstr "フェッチしたファイル \"%s\",長さ %d\n"
+
+#~ msgid "received chunk for file \"%s\", offset %d, size %d\n"
+#~ msgstr "ファイル \"%s\",オフセット %d, サイズ %dのチャンクを受け取りました\n"
+
+#~ msgid "received null value for chunk for file \"%s\", file has been deleted\n"
+#~ msgstr "ファイル\"%s\"のNULL値のチャンクを受け取りました。ファイルは削除されました。\n"
+
+#~ msgid "getting file chunks\n"
+#~ msgstr "ファイルチャンクの取得\n"
+
+#~ msgid "%s (%s)\n"
+#~ msgstr "%s (%s)\n"
+
+#~ msgid "could not open file \"%s\" for reading: %s\n"
+#~ msgstr "読み取り用のファイル\"%s\"をオープンできませんでした:%s\n"
+
+#~ msgid "could not remove symbolic link \"%s\": %s\n"
+#~ msgstr "シンボリックリンク \"%s\" を削除できませんでした: %s\n"
+
+#~ msgid "could not remove directory \"%s\": %s\n"
+#~ msgstr "ディレクトリ\"%s\"を削除できませんでした: %s\n"
+
+#~ msgid "could not create directory \"%s\": %s\n"
+#~ msgstr "ディレクトリ\"%s\"を作成できませんでした: %s\n"
+
+#~ msgid "could not truncate file \"%s\" to %u: %s\n"
+#~ msgstr "ファイル \"%s\" を%uに切り詰められませんでした: %s\n"
+
+#~ msgid "could not remove file \"%s\": %s\n"
+#~ msgstr "ファイル\"%s\"を削除できませんでした: %s\n"
+
+#~ msgid "could not write file \"%s\": %s\n"
+#~ msgstr "ファイル\"%s\"に書き込めませんでした: %s\n"
+
+#~ msgid " block %u\n"
+#~ msgstr "ブロック数 %u\n"
+
+#~ msgid "could not close file \"%s\": %s\n"
+#~ msgstr "ファイル \"%s\" をクローズできませんでした: %s\n"
+
+#~ msgid "could not read file \"%s\": %s\n"
+#~ msgstr "ファイル \"%s\" を読み込めませんでした: %s\n"
+
+#~ msgid "could not read directory \"%s\": %s\n"
+#~ msgstr "ディレクトリ\"%s\"を読み取れませんでした: %s\n"
+
+#~ msgid "symbolic link \"%s\" target is too long\n"
+#~ msgstr "シンボリックリンク\"%s\"の参照先は長すぎます\n"
+
+#~ msgid "could not read symbolic link \"%s\": %s\n"
+#~ msgstr "シンボリックリンク \"%s\" を読み込めませんでした: %s\n"
+
+#~ msgid "could not stat file \"%s\": %s\n"
+#~ msgstr "ファイル\"%s\"のstatができませんでした: %s\n"
+
+#~ msgid "could not open directory \"%s\": %s\n"
+#~ msgstr "ディレクトリ\"%s\"をオープンできませんでした: %s\n"
+
+#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
+#~ msgstr "WAL ファイルは異なるデータベースシステム由来ものです: WAL ファイルにおけるデータベースシステムの識別子は %s で、pg_control におけるデータベースシステムの識別子は %s です。"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "不具合は<pgsql-bugs@lists.postgresql.org>まで報告してください。\n"
+
+#~ msgid "cannot create restricted tokens on this platform"
+#~ msgstr "このプラットフォームでは制限付きトークンを作成できません"
diff --git a/src/bin/pg_rewind/po/ko.po b/src/bin/pg_rewind/po/ko.po
new file mode 100644
index 0000000..f0c98d4
--- /dev/null
+++ b/src/bin/pg_rewind/po/ko.po
@@ -0,0 +1,855 @@
+# LANGUAGE message translation file for pg_rewind
+# Copyright (C) 2015 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Ioseph Kim <ioseph@uri.sarang.net>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 13\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-02-09 20:16+0000\n"
+"PO-Revision-Date: 2020-10-27 14:47+0900\n"
+"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n"
+"Language-Team: Korean <pgsql-kr@postgresql.kr>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../../src/common/logging.c:188
+#, c-format
+msgid "fatal: "
+msgstr "심각: "
+
+#: ../../../src/common/logging.c:195
+#, c-format
+msgid "error: "
+msgstr "오류: "
+
+#: ../../../src/common/logging.c:202
+#, c-format
+msgid "warning: "
+msgstr "경고: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
+#, c-format
+msgid "out of memory\n"
+msgstr "메모리 부족\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "null 포인터를 복제할 수 없음(내부 오류)\n"
+
+#: ../../common/restricted_token.c:69
+#, c-format
+msgid "cannot create restricted tokens on this platform"
+msgstr "restricted token을 이 운영체제에서는 만들 수 없음"
+
+#: ../../common/restricted_token.c:78
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "프로세스 토큰을 열 수 없음: 오류 코드 %lu"
+
+#: ../../common/restricted_token.c:91
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "SID를 할당할 수 없음: 오류 코드 %lu"
+
+#: ../../common/restricted_token.c:110
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "restricted token을 만들 수 없음: 오류 코드 %lu"
+
+#: ../../common/restricted_token.c:131
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "\"%s\" 명령을 위한 프로세스를 시작할 수 없음: 오류 코드 %lu"
+
+#: ../../common/restricted_token.c:169
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "restricted token을 재실행 할 수 없음: 오류 코드 %lu"
+
+#: ../../common/restricted_token.c:185
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "하위 프로세스의 종료 코드를 구할 수 없음: 오류 코드 %lu"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리 열 수 없음: %m"
+
+#: copy_fetch.c:88 filemap.c:187 filemap.c:348
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "\"%s\" 심볼릭 링크의 대상이 너무 긺"
+
+#: copy_fetch.c:135
+#, c-format
+msgid ""
+"\"%s\" is a symbolic link, but symbolic links are not supported on this "
+"platform"
+msgstr ""
+"\"%s\" 파일은 심볼릭 링크 파일이지만 이 운영체제는 심볼릭 링크 파일을 지원하"
+"지 않음"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "\"%s\" 원본 파일을 열 수 없음: %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "원본 파일에서 seek 작업을 할 수 없음: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:314
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "\"%s\" 파일을 읽을 수 없음: %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "\"%s\" 파일을 읽는 중 예상치 못한 EOF"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "\"%s\" 파일을 닫을 수 없음: %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "\"%s\" 대상 파일을 열 수 없음: %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "\"%s\" 대상 파일을 닫을 수 없음: %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "\"%s\" 대상 파일에서 seek 작업을 할 수 없음: %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "\"%s\" 파일 쓰기 실패: %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "일반 파일에 대한 잘못 된 작업 (CREATE)"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "\"%s\" 파일을 삭제할 수 없음: %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "트랙잭션을 위한 \"%s\" 파일을 열 수 없음: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "\"%s\" 파일을 %u 크기로 정리할 수 없음: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리를 만들 수 없음: %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리를 삭제할 수 없음: %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "\"%s\"에 대한 심볼릭 링크를 만들 수 없음: %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "\"%s\" 심벌릭 링크를 삭제할 수 없음: %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "\"%s\" 파일 일기 모드로 열기 실패: %m"
+
+#: file_ops.c:314 parsexlog.c:316
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu"
+
+#: filemap.c:179
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "\"%s\" 자료 파일은 일반 파일이 아님"
+
+#: filemap.c:201
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" 디렉터리가 아님"
+
+#: filemap.c:224
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" 심볼릭 링크가 아님"
+
+#: filemap.c:236
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" 일반 파일이 아님"
+
+#: filemap.c:360
+#, c-format
+msgid "source file list is empty"
+msgstr "원본 파일 목록이 비었음"
+
+#: filemap.c:475
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "디텍터리나 심볼릭 링크 \"%s\" 의 페이지 변경 정보가 잘못 됨"
+
+#: libpq_fetch.c:52
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "서버 접속 실패: %s"
+
+#: libpq_fetch.c:56
+#, c-format
+msgid "connected to server"
+msgstr "서버 접속 완료"
+
+#: libpq_fetch.c:65
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "search_path를 지울 수 없음: %s"
+
+#: libpq_fetch.c:77
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "원본 서버는 복구 모드가 아니여야 함"
+
+#: libpq_fetch.c:87
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "원본 서버는 full_page_writes 옵션으로 운영되어야 함"
+
+#: libpq_fetch.c:113 libpq_fetch.c:139
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "원본에서에서 쿼리(%s) 실행 오류: %s"
+
+#: libpq_fetch.c:118
+#, c-format
+msgid "unexpected result set from query"
+msgstr "쿼리 결과가 바르지 않음"
+
+#: libpq_fetch.c:159
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "현재 WAL 삽입 위치를 위한 결과가 잘못됨 : \"%s\""
+
+#: libpq_fetch.c:209
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "파일 목록을 가져올 수 없음: %s"
+
+#: libpq_fetch.c:214
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "파일 목록을 가져온 결과가 잘못 됨"
+
+#: libpq_fetch.c:262
+#, c-format
+msgid "could not send query: %s"
+msgstr "쿼리를 보낼 수 없음: %s"
+
+#: libpq_fetch.c:267
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "libpq 연결을 단일 로우 모드로 지정할 수 없음"
+
+#: libpq_fetch.c:288
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "원격 파일을 가져오는 도중 결과가 잘못됨: %s"
+
+#: libpq_fetch.c:294
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "원격 파일을 가져오는 도중 결과 집합의 크기가 잘못 됨"
+
+#: libpq_fetch.c:300
+#, c-format
+msgid ""
+"unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "원격 파일을 가져오는 도중 결과 집합의 자료형이 잘못 됨: %u %u %u"
+
+#: libpq_fetch.c:308
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "원격 파일을 가져오는 중 예상치 못한 결과 형식 발견"
+
+#: libpq_fetch.c:314
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "원격 파일을 가져오는 도중 결과안에 null 값이 잘못됨"
+
+#: libpq_fetch.c:318
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "원격 파일을 가져오는 도중 결과 길이가 잘못됨"
+
+#: libpq_fetch.c:384
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "\"%s\" 원격 파일을 가져올 수 없음: %s"
+
+#: libpq_fetch.c:389
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "\"%s\" 원격파일을 가져오는 도중 결과 집합이 잘못 됨"
+
+#: libpq_fetch.c:433
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "COPY 자료를 보낼 수 없음: %s"
+
+#: libpq_fetch.c:462
+#, c-format
+msgid "could not send file list: %s"
+msgstr "파일 목록을 보낼 수 없음: %s"
+
+#: libpq_fetch.c:504
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "COPY끝을 보낼 수 없음: %s"
+
+#: libpq_fetch.c:510
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "파일 목록을 보내는 도중 결과가 잘못 됨: %s"
+
+#: parsexlog.c:74 parsexlog.c:127 parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "메모리 부족"
+
+#: parsexlog.c:87 parsexlog.c:133
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음: %s"
+
+#: parsexlog.c:91 parsexlog.c:136
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음"
+
+#: parsexlog.c:197
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음: %s"
+
+#: parsexlog.c:201
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음"
+
+#: parsexlog.c:292
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "\"%s\" 파일을 열 수 없음: %m"
+
+#: parsexlog.c:305
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "\"%s\" 파일에서 seek 작업을 할 수 없음: %m"
+
+#: parsexlog.c:385
+#, c-format
+msgid ""
+"WAL record modifies a relation, but record type is not recognized: lsn: %X/"
+"%X, rmgr: %s, info: %02X"
+msgstr ""
+"WAL 레코드가 릴레이션을 변경하려고 하지만, 레코드 형태가 올바르지 않음\n"
+"lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:72
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s 프로그램은 PostgreSQL 한 클러스터에서 다른 클러스터로 재동기화 하는 도구입"
+"니다.\n"
+"\n"
+
+#: pg_rewind.c:73
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"사용법:\n"
+" %s [옵션]...\n"
+"\n"
+
+#: pg_rewind.c:74
+#, c-format
+msgid "Options:\n"
+msgstr "옵션들:\n"
+
+#: pg_rewind.c:75
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=디렉터리 변경하려는 데이터 디렉터리\n"
+
+#: pg_rewind.c:76
+#, c-format
+msgid ""
+" --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=디렉터리 동기화 원본이 되는 데이터 디렉터리\n"
+
+#: pg_rewind.c:77
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=연결문자열 원본 서버 접속 정보\n"
+
+#: pg_rewind.c:78
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run 변경 작업 전에 멈춤(검사, 확인용)\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync 작업 완료 뒤 디스크 동기화 작업을 하지 않"
+"음\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress 진행 과정 메시지를 보여줌\n"
+
+#: pg_rewind.c:82
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug 디버그 메시지를 보여줌\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid ""
+" -V, --version output version information, then exit\n"
+msgstr " -V, --version 버전 정보를 보여주고 마침\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 이 도움말을 보여주고 마침\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+msgstr ""
+"\n"
+"오류보고: <pgsql-bugs@lists.postgresql.org>.\n"
+
+#: pg_rewind.c:142 pg_rewind.c:178 pg_rewind.c:185 pg_rewind.c:192
+#: pg_rewind.c:200
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n"
+
+#: pg_rewind.c:177
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr ""
+"원본을 지정하지 않았음 (--source-pgdata 또는 --source-server 옵션을 지정 해"
+"야 함)"
+
+#: pg_rewind.c:184
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "--source-pgdata 또는 --source-server 옵션 중 하나만 지정해야 함"
+
+#: pg_rewind.c:191
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "대상 데이터 디렉토리가 지정되지 않았음 (--target-pgdata 옵션 사용)"
+
+#: pg_rewind.c:198
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")"
+
+#: pg_rewind.c:213
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "\"root\" 계정으로는 실행 할 수 없음"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "PostgreSQL superuser로 %s 프로그램을 실행하십시오.\n"
+
+#: pg_rewind.c:225
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "\"%s\" 디렉터리 읽기 권한 없음: %m"
+
+#: pg_rewind.c:256
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "원본과 대상 클러스터의 타임라인이 같음"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "서버 분기 WAL 위치: %X/%X, 타임라인 %u"
+
+#: pg_rewind.c:299
+#, c-format
+msgid "no rewind required"
+msgstr "되감을 필요 없음"
+
+#: pg_rewind.c:306
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "재동기화 시작함, 마지막 체크포인트 위치 %X/%X, 타임라인 %u"
+
+#: pg_rewind.c:315
+#, c-format
+msgid "reading source file list"
+msgstr "원본 파일 목록 읽는 중"
+
+#: pg_rewind.c:318
+#, c-format
+msgid "reading target file list"
+msgstr "대상 파일 목록 읽는 중"
+
+#: pg_rewind.c:329
+#, c-format
+msgid "reading WAL in target"
+msgstr "대상 서버에서 WAL 읽는 중"
+
+#: pg_rewind.c:346
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "복사를 위해서 %lu MB 필요함 (원본 디렉토리 전체 크기는 %lu MB)"
+
+#: pg_rewind.c:365
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "백업 라벨을 만들고, 컨트롤 파일을 갱신 중"
+
+#: pg_rewind.c:395
+#, c-format
+msgid "syncing target data directory"
+msgstr "대상 데이터 디렉터리 동기화 중"
+
+#: pg_rewind.c:398
+#, c-format
+msgid "Done!"
+msgstr "완료!"
+
+#: pg_rewind.c:410
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "원본과 대상 클러스터가 서로 다른 시스템임"
+
+#: pg_rewind.c:418
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "해당 클러스터는 이 pg_rewind 버전으로 작업할 수 없음"
+
+#: pg_rewind.c:428
+#, c-format
+msgid ""
+"target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr ""
+"대상 서버의 데이터 클러스터가 데이터 체크섬 기능을 켰거나, \"wal_log_hints "
+"= on\" 설정이 되어야 함"
+
+#: pg_rewind.c:439
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "대상 서버는 정상 종료되어야 함"
+
+#: pg_rewind.c:449
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "원본 데이터 디렉토리는 정상적으로 종료되어야 함"
+
+#: pg_rewind.c:498
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) 복사됨"
+
+#: pg_rewind.c:559
+#, c-format
+msgid "invalid control file"
+msgstr "잘못된 컨트롤 파일"
+
+#: pg_rewind.c:643
+#, c-format
+msgid ""
+"could not find common ancestor of the source and target cluster's timelines"
+msgstr "원본과 대상 서버의 공통된 상위 타임라인을 찾을 수 없음"
+
+#: pg_rewind.c:684
+#, c-format
+msgid "backup label buffer too small"
+msgstr "백업 라벨 버퍼가 너무 작음"
+
+#: pg_rewind.c:707
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "컨트롤 파일 CRC 오류"
+
+#: pg_rewind.c:717
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "컨트롤 파일의 크기가 %d 로 비정상, 정상값 %d"
+
+#: pg_rewind.c:726
+#, c-format
+msgid ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
+"control file specifies %d byte"
+msgid_plural ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
+"control file specifies %d bytes"
+msgstr[0] ""
+"WAL 조각 파일은 1MB부터 1GB 사이 2^n 크기여야 하지만, 컨트롤 파일에는 %d 바이"
+"트로 지정되었음"
+
+#: timeline.c:76 timeline.c:82
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "히스토리 파일에서 문법오류: %s"
+
+#: timeline.c:77
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "숫자 타임라인 ID가 필요합니다."
+
+#: timeline.c:83
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "트랜잭션 로그 전환 위치 값이 있어야 함"
+
+#: timeline.c:88
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "작업내역 파일에 잘못된 자료가 있음: %s"
+
+#: timeline.c:89
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "타임라인 ID 값은 그 값이 증가하는 순번값이어야합니다."
+
+#: timeline.c:109
+#, c-format
+msgid "invalid data in history file"
+msgstr "내역 파일에 잘못된 자료가 있음"
+
+#: timeline.c:110
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "타임라인 ID는 하위 타임라인 ID보다 작아야 합니다."
+
+#: xlogreader.c:299
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "잘못된 레코드 위치: %X/%X"
+
+#: xlogreader.c:307
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "%X/%X에서 contrecord를 필요로 함"
+
+#: xlogreader.c:348 xlogreader.c:645
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "잘못된 레코드 길이: %X/%X, 기대값 %u, 실재값 %u"
+
+#: xlogreader.c:372
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음"
+
+#: xlogreader.c:404
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%X 위치에 contrecord 플래그가 없음"
+
+#: xlogreader.c:417
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "잘못된 contrecord 길이 %u, 위치 %X/%X"
+
+#: xlogreader.c:653
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X"
+
+#: xlogreader.c:667 xlogreader.c:684
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X"
+
+#: xlogreader.c:721
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드"
+
+#: xlogreader.c:758
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "%04X 매직 번호가 잘못됨, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:772 xlogreader.c:823
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "잘못된 정보 비트 %04X, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:798
+#, c-format
+msgid ""
+"WAL file is from different database system: WAL file database system "
+"identifier is %s, pg_control database system identifier is %s"
+msgstr ""
+"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %s, pg_control "
+"의 식별자는 %s"
+
+#: xlogreader.c:805
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect segment size in page "
+"header"
+msgstr ""
+"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘"
+"못된 조각 크기임"
+
+#: xlogreader.c:811
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
+"header"
+msgstr ""
+"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값"
+"이 바르지 않음"
+
+#: xlogreader.c:842
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "잘못된 페이지 주소 %X/%X, 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:867
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "타임라인 범위 벗어남 %u (이전 번호 %u), 로그 파일 %s, 위치 %u"
+
+#: xlogreader.c:1112
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X"
+
+#: xlogreader.c:1135
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음"
+
+#: xlogreader.c:1142
+#, 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:1178
+#, 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:1194
+#, 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:1209
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_IS_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X"
+
+#: xlogreader.c:1224
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE, BKPIMAGE_IS_COMPRESSED 지정 안되어 있으나, 블록 이미지 길"
+"이는 %u, 대상: %X/%X"
+
+#: xlogreader.c:1240
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음"
+
+#: xlogreader.c:1252
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "잘못된 block_id %u, 위치 %X/%X"
+
+#: xlogreader.c:1341
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "잘못된 레코드 길이, 위치 %X/%X"
+
+#: xlogreader.c:1430
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "잘못된 압축 이미지, 위치 %X/%X, 블록 %d"
diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po
new file mode 100644
index 0000000..88f1f4c
--- /dev/null
+++ b/src/bin/pg_rewind/po/ru.po
@@ -0,0 +1,1089 @@
+# Russian message translation file for pg_rewind
+# Copyright (C) 2015-2016 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Alexander Lakhin <exclusion@gmail.com>, 2015-2017, 2018, 2019, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL current)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-12-11 07:48+0300\n"
+"PO-Revision-Date: 2020-11-09 08:33+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:236
+#, c-format
+msgid "fatal: "
+msgstr "важно: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "ошибка: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "предупреждение: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "не удалось открыть маркер процесса (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "не удалось подготовить структуры SID (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "нельзя использовать restore_command со знаком подстановки %%r"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "неподходящий размер файла \"%s\": %lu вместо %lu байт"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "не удалось открыть файл \"%s\", восстановленный из архива: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "ошибка при выполнении restore_command: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "восстановить файл \"%s\" из архива не удалось"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:76 parsexlog.c:134
+#: parsexlog.c:194
+#, c-format
+msgid "out of memory"
+msgstr "нехватка памяти"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:307
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "не удалось записать в файл \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "не удалось создать файл \"%s\": %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
+
+#: copy_fetch.c:135
+#, c-format
+msgid ""
+"\"%s\" is a symbolic link, but symbolic links are not supported on this "
+"platform"
+msgstr ""
+"\"%s\" — символическая ссылка, но в этой ОС символические ссылки не "
+"поддерживаются"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "не удалось закрыть каталог \"%s\": %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "не удалось открыть исходный файл \"%s\": %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "не удалось переместиться в исходном файле: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:345
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "неожиданный конец файла при чтении \"%s\""
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "не удалось открыть целевой файл \"%s\": %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "не удалось закрыть целевой файл \"%s\": %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "не удалось переместиться в целевом файле \"%s\": %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "неверное действие (CREATE) для обычного файла"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "не удалось стереть файл \"%s\": %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "не удалось открыть файл \"%s\" для усечения: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "не удалось создать каталог \"%s\": %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "ошибка при удалении каталога \"%s\": %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "не удалось создать символическую ссылку \"%s\": %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "ошибка при удалении символической ссылки \"%s\": %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: file_ops.c:314 parsexlog.c:347
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "файл данных \"%s\" в источнике не является обычным файлом"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" не является каталогом"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" не является символической ссылкой"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" не является обычным файлом"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "список файлов в источнике пуст"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr ""
+"неожиданная модификация страницы для каталога или символической ссылки \"%s\""
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: libpq_fetch.c:53
+#, c-format
+msgid "connected to server"
+msgstr "подключение к серверу установлено"
+
+#: libpq_fetch.c:62
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "не удалось очистить search_path: %s"
+
+#: libpq_fetch.c:74
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "исходный сервер должен выйти из режима восстановления"
+
+#: libpq_fetch.c:84
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "на исходном сервере должен быть включён режим full_page_writes"
+
+#: libpq_fetch.c:110
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s"
+
+#: libpq_fetch.c:115
+#, c-format
+msgid "unexpected result set from query"
+msgstr "неожиданный результат запроса"
+
+#: libpq_fetch.c:136
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s"
+
+#: libpq_fetch.c:156
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr ""
+"нераспознанный результат \"%s\" вместо текущей позиции добавления в WAL"
+
+#: libpq_fetch.c:206
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "не удалось получить список файлов: %s"
+
+#: libpq_fetch.c:211
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "неожиданный результат при получении списка файлов"
+
+#: libpq_fetch.c:264
+#, c-format
+msgid "could not send query: %s"
+msgstr "не удалось отправить запрос: %s"
+
+#: libpq_fetch.c:269
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "не удалось перевести подключение libpq в однострочный режим"
+
+#: libpq_fetch.c:289
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "неожиданный результат при получении файлов с сервера: %s"
+
+#: libpq_fetch.c:295
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "неожиданный размер набора результатов при получении файлов с сервера"
+
+#: libpq_fetch.c:301
+#, c-format
+msgid ""
+"unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr ""
+"неожиданные типы данных в наборе результатов при получении файлов с сервера: "
+"%u %u %u"
+
+#: libpq_fetch.c:309
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "неожиданный формат результата при получении файлов с сервера"
+
+#: libpq_fetch.c:315
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "неожиданные значения NULL в результате при получении файлов с сервера"
+
+#: libpq_fetch.c:319
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "неожиданная длина результата при получении файлов с сервера"
+
+#: libpq_fetch.c:380
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "не удалось получить с сервера файл \"%s\": %s"
+
+#: libpq_fetch.c:385
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "неожиданный набор результатов при получении файла \"%s\" с сервера"
+
+#: libpq_fetch.c:429
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "не удалось отправить данные COPY: %s"
+
+#: libpq_fetch.c:458
+#, c-format
+msgid "could not send file list: %s"
+msgstr "не удалось отправить список файлов: %s"
+
+#: libpq_fetch.c:500
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "не удалось отправить сообщение о завершении копирования: %s"
+
+#: libpq_fetch.c:506
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "неожиданный результат при передаче списка: %s"
+
+#: parsexlog.c:88 parsexlog.c:141
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "не удалось прочитать запись WAL в позиции %X/%X: %s"
+
+#: parsexlog.c:92 parsexlog.c:144
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "не удалось прочитать запись WAL в позиции %X/%X"
+
+#: parsexlog.c:207
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "не удалось найти предыдущую запись WAL в позиции %X/%X: %s"
+
+#: parsexlog.c:211
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "не удалось найти предыдущую запись WAL в позиции %X/%X"
+
+#: parsexlog.c:336
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "не удалось переместиться в файле \"%s\": %m"
+
+#: parsexlog.c:416
+#, c-format
+msgid ""
+"WAL record modifies a relation, but record type is not recognized: lsn: %X/"
+"%X, rmgr: %s, info: %02X"
+msgstr ""
+"Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%X, "
+"rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s синхронизирует кластер PostgreSQL с другой копией кластера.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Использование:\n"
+" %s [ПАРАМЕТР]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Параметры:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration "
+"to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal использовать для получения файлов WAL из\n"
+" архива команду restore_command из целевой\n"
+" конфигурации\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr ""
+" -D, --target-pgdata=КАТАЛОГ существующий каталог, куда будут записаны "
+"данные\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid ""
+" --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr ""
+" --source-pgdata=КАТАЛОГ исходный каталог, с которым будет проведена "
+"синхронизация\n"
+
+# well-spelled: ПОДКЛ
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr ""
+" --source-server=СТР_ПОДКЛ сервер, с которым будет проведена "
+"синхронизация\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr ""
+" -n, --dry-run остановиться до внесения каких-либо "
+"изменений\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync не ждать завершения сохранения данных на "
+"диске\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress выводить сообщения о ходе процесса\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf записать конфигурацию для репликации\n"
+" (требуется указание --source-server)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr ""
+" --debug выдавать множество отладочных сообщений\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid ""
+" --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr ""
+" --no-ensure-shutdown не исправлять автоматически состояние,\n"
+" возникающее при нештатном отключении\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid ""
+" -V, --version output version information, then exit\n"
+msgstr " -V, --version показать версию и выйти\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показать эту справку и выйти\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Об ошибках сообщайте по адресу <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашняя страница %s: <%s>\n"
+
+#: pg_rewind.c:160 pg_rewind.c:209 pg_rewind.c:216 pg_rewind.c:223
+#: pg_rewind.c:230 pg_rewind.c:238
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
+
+#: pg_rewind.c:208
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "источник не указан (требуется --source-pgdata или --source-server)"
+
+#: pg_rewind.c:215
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "указать можно только --source-pgdata либо --source-server"
+
+#: pg_rewind.c:222
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "целевой каталог данных не указан (--target-pgdata)"
+
+#: pg_rewind.c:229
+#, c-format
+msgid ""
+"no source server information (--source-server) specified for --write-"
+"recovery-conf"
+msgstr ""
+"отсутствует информация об исходном сервере (--source-server) для --write-"
+"recovery-conf"
+
+#: pg_rewind.c:236
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "слишком много аргументов командной строки (первый: \"%s\")"
+
+#: pg_rewind.c:251
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "программу не должен запускать root"
+
+#: pg_rewind.c:252
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL.\n"
+
+#: pg_rewind.c:263
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "не удалось считать права на каталог \"%s\": %m"
+
+#: pg_rewind.c:317
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "исходный и целевой кластер уже на одной линии времени"
+
+#: pg_rewind.c:326
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "серверы разошлись в позиции WAL %X/%X на линии времени %u"
+
+#: pg_rewind.c:374
+#, c-format
+msgid "no rewind required"
+msgstr "перемотка не требуется"
+
+#: pg_rewind.c:383
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr ""
+"перемотка от последней общей контрольной точки в позиции %X/%X на линии "
+"времени %u"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading source file list"
+msgstr "чтение списка исходных файлов"
+
+#: pg_rewind.c:395
+#, c-format
+msgid "reading target file list"
+msgstr "чтение списка целевых файлов"
+
+#: pg_rewind.c:404
+#, c-format
+msgid "reading WAL in target"
+msgstr "чтение WAL в целевом кластере"
+
+#: pg_rewind.c:421
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "требуется скопировать %lu МБ (общий размер исходного каталога: %lu МБ)"
+
+#: pg_rewind.c:439
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "создание метки копии и модификация управляющего файла"
+
+#: pg_rewind.c:469
+#, c-format
+msgid "syncing target data directory"
+msgstr "синхронизация целевого каталога данных"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "Done!"
+msgstr "Готово!"
+
+#: pg_rewind.c:488
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "исходный и целевой кластеры относятся к разным системам"
+
+#: pg_rewind.c:496
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "кластеры несовместимы с этой версией pg_rewind"
+
+#: pg_rewind.c:506
+#, c-format
+msgid ""
+"target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr ""
+"на целевом сервере должны быть контрольные суммы данных или \"wal_log_hints "
+"= on\""
+
+#: pg_rewind.c:517
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "целевой сервер должен быть выключен штатно"
+
+#: pg_rewind.c:527
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "работа с исходным каталогом данных должна быть завершена штатно"
+
+#: pg_rewind.c:579
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s КБ (%d%%) скопировано"
+
+#: pg_rewind.c:642
+#, c-format
+msgid "invalid control file"
+msgstr "неверный управляющий файл"
+
+#: pg_rewind.c:726
+#, c-format
+msgid ""
+"could not find common ancestor of the source and target cluster's timelines"
+msgstr ""
+"не удалось найти общего предка линий времени исходного и целевого кластеров"
+
+#: pg_rewind.c:767
+#, c-format
+msgid "backup label buffer too small"
+msgstr "буфер для метки копии слишком мал"
+
+#: pg_rewind.c:790
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "неверная контрольная сумма управляющего файла"
+
+#: pg_rewind.c:800
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "неверный размер управляющего файла (%d), ожидалось: %d"
+
+#: pg_rewind.c:809
+#, c-format
+msgid ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
+"control file specifies %d byte"
+msgid_plural ""
+"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
+"control file specifies %d bytes"
+msgstr[0] ""
+"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в управляющем файле указано значение: %d"
+msgstr[1] ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в управляющем файле указано значение: %d"
+msgstr[2] ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
+"ГБ, но в управляющем файле указано значение: %d"
+
+#: pg_rewind.c:866 pg_rewind.c:924
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"Программа \"%s\" нужна для %s, но она не найдена\n"
+"в каталоге \"%s\".\n"
+"Проверьте правильность установки СУБД."
+
+#: pg_rewind.c:871 pg_rewind.c:929
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"Программа \"%s\" найдена программой \"%s\",\n"
+"но её версия отличается от версии %s.\n"
+"Проверьте правильность установки СУБД."
+
+#: pg_rewind.c:892
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "команда restore_command в целевом кластере не определена"
+
+#: pg_rewind.c:935
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr ""
+"выполнение \"%s\" для восстановления согласованности на целевом сервере"
+
+#: pg_rewind.c:955
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr ""
+"не удалось запустить postgres в целевом кластере в однопользовательском "
+"режиме"
+
+#: pg_rewind.c:956
+#, c-format
+msgid "Command was: %s"
+msgstr "Выполнялась команда: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "синтаксическая ошибка в файле истории: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Ожидается числовой идентификатор линии времени."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Ожидается положение точки переключения журнала предзаписи."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "неверные данные в файле истории: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Идентификаторы линий времени должны возрастать."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "неверные данные в файле истории"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr ""
+"Идентификаторы линий времени должны быть меньше идентификатора линии-потомка."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "неверное смещение записи: %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "по смещению %X/%X запрошено продолжение записи"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
+
+#: xlogreader.c:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "длина записи %u по смещению %X/%X слишком велика"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "нет флага contrecord в позиции %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "неверная длина contrecord (%u) в позиции %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X"
+
+#: xlogreader.c:771
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr ""
+"некорректная контрольная сумма данных менеджера ресурсов в записи по "
+"смещению %X/%X"
+
+#: xlogreader.c:808
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:822 xlogreader.c:863
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:837
+#, 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:845
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect segment size in page "
+"header"
+msgstr ""
+"файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке "
+"страницы"
+
+#: xlogreader.c:851
+#, c-format
+msgid ""
+"WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
+"header"
+msgstr ""
+"файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
+"страницы"
+
+#: xlogreader.c:882
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u"
+
+#: xlogreader.c:907
+#, 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:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+
+#: xlogreader.c:1270
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+
+#: xlogreader.c:1277
+#, 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:1313
+#, 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:1329
+#, 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:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_IS_COMPRESSED установлен, но длина образа блока равна %u в позиции "
+"%X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_IS_COMPRESSED не установлены, но длина "
+"образа блока равна %u в позиции %X/%X"
+
+#: xlogreader.c:1375
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr ""
+"BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
+"%X"
+
+#: xlogreader.c:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "неверный идентификатор блока %u в позиции %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "запись с неверной длиной в позиции %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "неверный сжатый образ в позиции %X/%X, блок %d"
+
+#~ msgid "could not connect to server: %s"
+#~ msgstr "не удалось подключиться к серверу: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Об ошибках сообщайте по адресу <pgsql-bugs@lists.postgresql.org>.\n"
+
+#~ msgid " block %u\n"
+#~ msgstr " блок %u\n"
+
+#~ msgid "entry \"%s\" excluded from source file list\n"
+#~ msgstr "\"%s\" исключён из списка исходных файлов\n"
+
+#~ msgid "entry \"%s\" excluded from target file list\n"
+#~ msgstr "\"%s\" исключён из списка целевых файлов\n"
+
+#~ msgid "%s (%s)\n"
+#~ msgstr "%s (%s)\n"
+
+#, fuzzy
+#~ msgid "could not set up connection context: %s"
+#~ msgstr "не удалось настроить контекст подключения: %s"
+
+#~ msgid "getting file chunks\n"
+#~ msgstr "получение сегментов файлов\n"
+
+#~ msgid ""
+#~ "received null value for chunk for file \"%s\", file has been deleted\n"
+#~ msgstr ""
+#~ "для файла \"%s\" вместо сегмента получено NULL-значение, файл удалён\n"
+
+#~ msgid "received chunk for file \"%s\", offset %s, size %d\n"
+#~ msgstr "получен сегмент файла \"%s\": смещение %s, размер %d\n"
+
+#~ msgid "fetched file \"%s\", length %d\n"
+#~ msgstr "получен файл \"%s\", длина %d\n"
+
+#, fuzzy
+#~ msgid "could not create temporary table: %s"
+#~ msgstr "не удалось создать временную таблицу: %s"
+
+#~ msgid "Failure, exiting\n"
+#~ msgstr "Ошибка, выполняется выход\n"
+
+#~ msgid "could not read from file \"%s\": %s\n"
+#~ msgstr "не удалось прочитать файл \"%s\": %s\n"
+
+#~ msgid "Source timeline history:\n"
+#~ msgstr "История линии времени источника:\n"
+
+#~ msgid "Target timeline history:\n"
+#~ msgstr "История линии времени получателя:\n"
+
+#~ msgid "%d: %X/%X - %X/%X\n"
+#~ msgstr "%d: %X/%X - %X/%X\n"
+
+#~ msgid "sync of target directory failed\n"
+#~ msgstr "сбой синхронизации целевого каталога\n"
+
+#~ msgid ""
+#~ "WAL file is from different database system: incorrect XLOG_SEG_SIZE in "
+#~ "page header"
+#~ msgstr ""
+#~ "файл WAL принадлежит другой СУБД: некорректный XLOG_SEG_SIZE в заголовке "
+#~ "страницы"
diff --git a/src/bin/pg_rewind/po/sv.po b/src/bin/pg_rewind/po/sv.po
new file mode 100644
index 0000000..0df9e35
--- /dev/null
+++ b/src/bin/pg_rewind/po/sv.po
@@ -0,0 +1,973 @@
+# Swedish message translation file for pg_rewind
+# 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.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 13\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-09-16 05:17+0000\n"
+"PO-Revision-Date: 2020-09-16 07:53+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:236
+#, c-format
+msgid "fatal: "
+msgstr "fatalt: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "fel: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "varning: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "slut på minne\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "kan inte duplicera null-pekare (internt fel)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "kunde inte öppna process-token: felkod %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "kunde inte allokera SID: felkod %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "kunde inte skapa token för begränsad åtkomst: felkod %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "kunde inte starta process för kommando \"%s\": felkod %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "kunde inte hämta statuskod för underprocess: felkod %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "kan inte använda restore_command med %%r-platshållare"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "oväntad filstorlek på \"%s\": %lu istället för %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "kunde inte öppna fil \"%s\" återställd från arkiv: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "kunde inte göra stat() på fil \"%s\": %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "restore_command misslyckades: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "kunde inte återställa fil \"%s\" från arkiv"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:73 parsexlog.c:125
+#: parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "slut på minne"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:298
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "kunde inte öppna fil \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "kunde inte skriva till fil \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "kan inte skapa fil \"%s\": %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "kunde inte öppna katalog \"%s\": %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "kan inte läsa symbolisk länk \"%s\": %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "mål för symbolisk länk \"%s\" är för lång"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\" är en symbolisk länk men symboliska länkar stöds inte på denna plattform"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "kunde inte läsa katalog \"%s\": %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "kunde inte stänga katalog \"%s\": %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "kunde inte öppna källfil \"%s\": %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "kunde inte söka i källfil: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:336
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "kunde inte läsa fil \"%s\": %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "oväntad EOF under läsning av fil \"%s\""
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "kunde inte stänga fil \"%s\": %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "kunde inte öppna målfil \"%s\": %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "kunde inte stänga målfil \"%s\": %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "kunde inte söka i målfil \"%s\": %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "kunde inte skriva fil \"%s\": %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "ogiltig aktion (CREATE) för vanlig fil"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "kunde inte ta bort fil \"%s\": %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "kunde inte öppna fil \"%s\" för trunkering: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "kunde inte trunkera fil \"%s\" till %u: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "kunde inte skapa katalog \"%s\": %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "kunde inte ta bort katalog \"%s\": %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "kunde inte skapa en symnbolisk länk vid \"%s\": %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "kan inte ta bort symbolisk länk \"%s\": %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "kunde inte öppna filen \"%s\" för läsning: %m"
+
+#: file_ops.c:314 parsexlog.c:338
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "kunde inte läsa fil \"%s\": läste %d av %zu"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "datafil \"%s\" i källan är inte en vanlig fil"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" är inte en katalog"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" är inte en symbolisk länk"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" är inte en vanlig fil"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "källfillistan är tom"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "oväntad sidmodifiering för katalog eller symbolisk länk \"%s\""
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "kunde inte ansluta till server: %s"
+
+#: libpq_fetch.c:54
+#, c-format
+msgid "connected to server"
+msgstr "ansluten till server"
+
+#: libpq_fetch.c:63
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "kunde inte nollställa search_path: %s"
+
+#: libpq_fetch.c:75
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "källserver får inte vara i återställningsläge"
+
+#: libpq_fetch.c:85
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "full_page_writes måste vara påslagen i källservern"
+
+#: libpq_fetch.c:111
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "fel vid körande av fråga (%s) på källserver: %s"
+
+#: libpq_fetch.c:116
+#, c-format
+msgid "unexpected result set from query"
+msgstr "oväntad resultatmängd från fråga"
+
+#: libpq_fetch.c:137
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "fel vid körande av fråga (%s) i källserver: %s"
+
+#: libpq_fetch.c:157
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "oväntat resultat \"%s\" för nuvarande WAL-insättningsposition"
+
+#: libpq_fetch.c:207
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "kunde inte hämta fillista: %s"
+
+#: libpq_fetch.c:212
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "oväntad resultatmängd vid hämtning av fillista"
+
+#: libpq_fetch.c:265
+#, c-format
+msgid "could not send query: %s"
+msgstr "kunde inte skicka fråga: %s"
+
+#: libpq_fetch.c:270
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "kunde inte sätta libpq-anslutning till enradsläge"
+
+#: libpq_fetch.c:290
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "oväntat resultat vid hämtning av extern fil: %s"
+
+#: libpq_fetch.c:296
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "oväntad resultatmängdstorlek vid hämtning av externa filer"
+
+#: libpq_fetch.c:302
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "oväntade datayper i resultatmängd vid hämtning av externa filer: %u %u %u"
+
+#: libpq_fetch.c:310
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "oväntat resultatformat vid hämtning av externa filer"
+
+#: libpq_fetch.c:316
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "oväntade null-värden i resultat vid hämtning av externa filer"
+
+#: libpq_fetch.c:320
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "oväntad resultatlängd vid hämtning av externa filer"
+
+#: libpq_fetch.c:381
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "kunde inte hämta extern fil \"%s\": %s"
+
+#: libpq_fetch.c:386
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "oväntat resultatmängd vid hämtning av extern fil \"%s\""
+
+#: libpq_fetch.c:430
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "kunde inte skicka COPY-data: %s"
+
+#: libpq_fetch.c:459
+#, c-format
+msgid "could not send file list: %s"
+msgstr "kunde inte skicka fillista: %s"
+
+#: libpq_fetch.c:501
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "kunde inte skicka slut-på-COPY: %s"
+
+#: libpq_fetch.c:507
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "oväntat resultat vid skickande av fillista: %s"
+
+#: parsexlog.c:85 parsexlog.c:132
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "kunde inte läsa WAL-post vid %X/%X: %s"
+
+#: parsexlog.c:89 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "kunde inte läsa WAL-post vid %X/%X"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "kunde inte hitta föregående WAL-post vid %X/%X: %s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "kunde inte hitta förgående WAL-post vid %X/%X"
+
+#: parsexlog.c:327
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "kunde inte söka (seek) i fil \"%s\": %m"
+
+#: parsexlog.c:407
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL-post modifierar en relation, men posttypen känns inte igen: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s resynkroniserar ett PostgreSQL-kluster med en annan kopia av klustret.\n"
+"\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Användning:\n"
+" %s [FLAGGA]...\n"
+"\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Flaggor:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid ""
+" -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr ""
+" -c, --restore-target-wal använd restore_command i målkonfigurationen\n"
+" för att hämta WAL-filer från arkiv\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=KATALOG existerande datakatalog att modifiera\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=KATALOG källdatakatalog att synkronisera med\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=ANSLSTR källserver att synkronisera med\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run stoppa innan något modifieras\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync vänta inte på att ändingar säkert\n"
+" skrivits till disk\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress skriv ut förloppmeddelanden\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid ""
+" -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr ""
+" -R, --write-recovery-conf\n"
+" skriv konfiguration för replikering\n"
+" (kräver --source-server)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug skriv ut en massa debugmeddelanden\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown ingen automatisk hantering av trasig nedstängning\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version skriv ut versioninformation och avsluta sedan\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help visa denna hjälp och avsluta sedan\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Rapportera fel till <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "hemsida för %s: <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Försök med \"%s --help\" för mer information.\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "ingen källa angavs (--source-pgdata eller --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "bara en av --source-pgdata och --source-server får anges"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "ingen måldatakatalog angiven (--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "ingen källserverinformation (--source-server) angiven för --write-recovery-conf"
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "för många kommandoradsargument (första är \"%s\")"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "kan inte köras av \"root\""
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Du måste köra %s som PostgreSQL:s superanvändare.\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "kunde inte läsa rättigheter på katalog \"%s\": %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "källa och målkluster är på samma tidslinje"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "servrarna divergerade vid WAL-position %X/%X på tidslinje %u"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "ingen rewind krävs"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "rewind från senaste gemensamma checkpoint vid %X/%X på tidslinje %u"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "läser källfillista"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "läser målfillista"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "läser WAL i målet"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "behöver kopiera %lu MB (total källkatalogstorlek är %lu MB)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "skapar backupetikett och uppdaterar kontrollfil"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "synkar måldatakatalog"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "Klar!"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "källa och målkluster är från olika system"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "klustren är inte kompatibla med denna version av pg_rewind"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "målservern behöver använda antingen datachecksums eller \"wal_log_hints = on\""
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "målserver måste stängas ner utan fel"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "måldatakatalog måste stängas ner utan fel"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) kopierad"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "ogiltig kontrollfil"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "kunde inte finna en gemensam anfader av källa och målklusterets tidslinjer"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "backupetikett-buffer för liten"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "oväntad kontrollfil-CRC"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "oväntad kontrollfilstorlek %d, förväntade %d"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte"
+msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid ""
+"The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr ""
+"Programmet \"%s\" behövs av %s men hittades inte i samma\n"
+"katalog som \"%s\".\n"
+"Kontrollera din installation."
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid ""
+"The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr ""
+"Programmet \"%s\" hittades av \"%s\"\n"
+"men är inte av samma version som %s.\n"
+"Kontrollera din installation."
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "restore_command är inte satt i målklustret"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "kör \"%s\" för målservern för att slutföra krashåterställning"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "postgres enanvändarläge misslyckades i målklustret"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "Kommandot var: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "syntaxfel i history-fil: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Förväntade ett numeriskt tidslinje-ID."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Förväntade en write-ahead-logg:s switchpoint-position."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "felaktig data i history-fil: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Tidslinje-ID måste komma i en stigande sekvens."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "ogiltig data i historikfil"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Tidslinje-ID:er måste vara mindre än barnens tidslinje-ID:er."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ogiltig postoffset vid %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord är begärd vid %X/%X"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, 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:422
+#, 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:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "det finns ingen contrecord-flagga vid %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "ogiltig contrecord-längd %u vid %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ogiltigt resurshanterar-ID %u vid %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, 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:771
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X"
+
+#: xlogreader.c:808
+#, 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:822 xlogreader.c:863
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ogiltiga infobitar %04X i loggsegment %s, offset %u"
+
+#: xlogreader.c:837
+#, 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:845
+#, 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 sidhuvud"
+
+#: xlogreader.c:851
+#, 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 sidhuvud"
+
+#: xlogreader.c:882
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "oväntad sidadress %X/%X i loggsegment %s, offset %u"
+
+#: xlogreader.c:907
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i loggsegment %s, offset %u"
+
+#: xlogreader.c:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "ej-i-sekvens block_id %u vid %X/%X"
+
+#: xlogreader.c:1270
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA satt, men ingen data inkluderad vid %X/%X"
+
+#: xlogreader.c:1277
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA ej satt, men datalängd är %u vid %X/%X"
+
+#: xlogreader.c:1313
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE satt, men håloffset %u längd %u block-image-längd %u vid %X/%X"
+
+#: xlogreader.c:1329
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE ej satt, men håloffset %u längd %u vid %X/%X"
+
+#: xlogreader.c:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED satt, men block-image-längd %u vid %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_IS_COMPRESSED satt, men block-image-längd är %u vid %X/%X"
+
+#: xlogreader.c:1375
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL satt men ingen tidigare rel vid %X/%X"
+
+#: xlogreader.c:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "ogiltig block_id %u vid %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "post med ogiltig längd vid %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "ogiltig komprimerad image vid %X/%X, block %d"
+
+#~ msgid "could not load advapi32.dll: error code %lu"
+#~ msgstr "kunde inte ladda advapi32.dll: felkod %lu"
+
+#~ msgid ""
+#~ "The program \"%s\" was found by \"%s\" but was\n"
+#~ "not the same version as %s.\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Programmet \"%s\" hittades av \"%s\"\n"
+#~ "men är inte av samma version som %s.\n"
+#~ "Kontrollera din installation."
+
+#~ msgid ""
+#~ "The program \"%s\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Programmet \"%s\" behövs av %s men hittades inte i samma\n"
+#~ "katalog som \"%s\".\n"
+#~ "Kontrollera din installation."
+
+#~ msgid ""
+#~ "The program \"postgres\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Programmet \"postgres\" hittades av \"%s\",\n"
+#~ "men det är inte byggt i samma version som %s.\n"
+#~ "Kontrollera din installation."
+
+#~ msgid ""
+#~ "The program \"postgres\" is needed by %s but was not found in the\n"
+#~ "same directory as \"%s\".\n"
+#~ "Check your installation."
+#~ msgstr ""
+#~ "Programmet \"postgres\" behövs av %s men kunde inte hittas\n"
+#~ "i samma katalog som \"%s\".\n"
+#~ "Kontrollera din installation."
diff --git a/src/bin/pg_rewind/po/tr.po b/src/bin/pg_rewind/po/tr.po
new file mode 100644
index 0000000..d314931
--- /dev/null
+++ b/src/bin/pg_rewind/po/tr.po
@@ -0,0 +1,966 @@
+# LANGUAGE message translation file for pg_rewind
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_rewind (PostgreSQL) package.
+# Abdullah GÜLNER <agulner@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-04-26 13:48+0000\n"
+"PO-Revision-Date: 2019-06-12 16:57+0300\n"
+"Last-Translator: Abdullah Gülner\n"
+"Language-Team: \n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../../src/fe_utils/logging.c:182
+#, c-format
+msgid "fatal: "
+msgstr "ölümcül (fatal): "
+
+#: ../../../src/fe_utils/logging.c:189
+#, c-format
+msgid "error: "
+msgstr "hata: "
+
+#: ../../../src/fe_utils/logging.c:196
+#, c-format
+msgid "warning: "
+msgstr "uyarı: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
+#, c-format
+msgid "out of memory\n"
+msgstr "bellek yetersiz\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "null pointer duplicate edilemiyor (iç hata)\n"
+
+#: ../../common/restricted_token.c:69
+#, c-format
+msgid "cannot create restricted tokens on this platform"
+msgstr "bu platformda restricted token oluşturulamıyor"
+
+#: ../../common/restricted_token.c:78
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "process token açma başarısız: hata kodu %lu"
+
+#: ../../common/restricted_token.c:91
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "SIDler ayrılamıyor (allocate): hata kodu %lu"
+
+#: ../../common/restricted_token.c:110
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "restricted token oluşturulamıyor: hata kodu %lu"
+
+#: ../../common/restricted_token.c:131
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "\"%s\" komutu için işlem (process) başlatılamadı: hata kodu %lu"
+
+#: ../../common/restricted_token.c:169
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "restricted token ile tekrar çalıştırılamadı (re-execute): hata kodu %lu"
+
+#: ../../common/restricted_token.c:185
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "alt-işlemden çıkış kodu alınamadı: hata kodu %lu"
+
+#: copy_fetch.c:60
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "\"%s\" dizini açılamıyor: %m"
+
+#: copy_fetch.c:89 filemap.c:189 filemap.c:350
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "\"%s\" dosyası durumlanamadı: %m"
+
+#: copy_fetch.c:118
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "symbolic link \"%s\" okuma hatası: %m"
+
+#: copy_fetch.c:121
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "symbolic link \"%s\" hedefi çok uzun"
+
+#: copy_fetch.c:136
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\" bir sembolik link, fakat bu platformda sembolik linkler desteklenmiyor"
+
+#: copy_fetch.c:143
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "\"%s\" dizini okunamıyor: %m"
+
+#: copy_fetch.c:147
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "\"%s\" dizini kapatılamadı: %m"
+
+#: copy_fetch.c:167
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "\"%s\" kaynak dosyası açılamadı: %m"
+
+#: copy_fetch.c:171
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "kaynak dosyada arama yapılamadı: %m"
+
+#: copy_fetch.c:188 file_ops.c:312 parsexlog.c:316
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "\"%s\" dosyası okuma hatası: %m"
+
+#: copy_fetch.c:191
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "\"%s\" dosyası okunurken beklenmedik dosya sonu (EOF)"
+
+#: copy_fetch.c:198
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "\"%s\" dosyası kapatılamıyor: %m"
+
+#: file_ops.c:63
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "\"%s\" hedef dosyası açılamadı: %m"
+
+#: file_ops.c:77
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "\"%s\" hedef dosyası kapatılamadı: %m"
+
+#: file_ops.c:97
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "\"%s\" hedef dosyasında arama yapılamadı: %m"
+
+#: file_ops.c:113
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "\"%s\" dosyasına yazma hatası: %m"
+
+#: file_ops.c:163
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "normal (regular) dosya için geçersiz işlem (CREATE)"
+
+#: file_ops.c:186
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "\"%s\" dosyası silinemedi: %m"
+
+#: file_ops.c:204
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "\"%s\" dosyası küçültme (truncation) için açılamadı: %m"
+
+#: file_ops.c:208
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "%s dosyası %u'ya küçültülemedi: %m"
+
+#: file_ops.c:224
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "\"%s\" dizini oluşturulamadı: %m"
+
+#: file_ops.c:238
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "\"%s\" dizini silme hatası: %m"
+
+#: file_ops.c:252
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "\"%s\" de sembolik link oluşturulamadı: %m"
+
+#: file_ops.c:266
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "symbolic link \"%s\" kaldırma hatası: %m"
+
+#: file_ops.c:297 file_ops.c:301
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "\"%s\" dosyası, okunmak için açılamadı: %m"
+
+#: file_ops.c:315 parsexlog.c:318
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "\"%1$s\" dosyası okuma hatası: %3$zu nun %2$d si okundu"
+
+#: filemap.c:181
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "kaynaktaki \"%s\" veri dosyası normal (regular) bir dosya değil"
+
+#: filemap.c:203
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" bir dizin değil"
+
+#: filemap.c:226
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" bir sembolik link değil"
+
+#: filemap.c:238
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" normal (regular) bir dosya değil"
+
+#: filemap.c:362
+#, c-format
+msgid "source file list is empty"
+msgstr "kaynak dosya listesi boş"
+
+#: filemap.c:477
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "\"%s\" dizini veya sembolik linki için beklenmedik sayfa değişikliği (page modification)"
+
+#: libpq_fetch.c:53
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "sunucuya bağlanamadı: %s"
+
+#: libpq_fetch.c:57
+#, c-format
+msgid "connected to server"
+msgstr "sunucuya bağlandı"
+
+#: libpq_fetch.c:61
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "search_path temizlenemedi: %s"
+
+#: libpq_fetch.c:73
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "kaynak sunucu kurtarma (recovery) modunda olmamalı"
+
+#: libpq_fetch.c:83
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "kaynak sunucuda full_page_writes etkinleştirilmiş olmalı"
+
+#: libpq_fetch.c:95
+#, c-format
+msgid "could not set up connection context: %s"
+msgstr "bağlantı bağlamı (context) kurulamadı: %s"
+
+#: libpq_fetch.c:113
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "kaynak sunucuda (%s) sorgusu hata üretti: %s"
+
+#: libpq_fetch.c:118
+#, c-format
+msgid "unexpected result set from query"
+msgstr "sorgudan beklenmedik sonuç kümesi"
+
+#: libpq_fetch.c:141
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "geçerli WAL ekleme (insert) yeri için bilinmeyen sonuç \"%s\""
+
+#: libpq_fetch.c:191
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "dosya listesi getirilemedi: %s"
+
+#: libpq_fetch.c:196
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "dosya listesi getirilirken beklenmedik sonuç kümesi"
+
+#: libpq_fetch.c:244
+#, c-format
+msgid "could not send query: %s"
+msgstr "sorgu gönderilemedi: %s"
+
+#: libpq_fetch.c:249
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "libpq bağlantısı tek satır moduna ayarlanamadı"
+
+#: libpq_fetch.c:270
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "uzak dosyalar getirilirken beklenmedik sonuç: %s"
+
+#: libpq_fetch.c:276
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "uzak dosyalar getirilirken beklenmedik sonuç kümesi"
+
+#: libpq_fetch.c:282
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "uzak dosyalar getirilirken sonuç kümesinde beklenmedik veri tipleri: %u %u %u"
+
+#: libpq_fetch.c:290
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "uzak dosyalar getirilirken beklenmedik sonuç formatı"
+
+#: libpq_fetch.c:296
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "uzak dosyalar getirilirken sonuçta beklenmeyen boş (null) değerler"
+
+#: libpq_fetch.c:300
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "uzak dosyalar getirilirken beklenmedik sonuç uzunluğu"
+
+#: libpq_fetch.c:366
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "\"%s\" uzak dosyası getirilemedi: %s"
+
+#: libpq_fetch.c:371
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "\"%s\" uzak dosyası getirilirken beklenmedik sonuç kümesi"
+
+#: libpq_fetch.c:415
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "COPY veri gönderilemedi: %s"
+
+#: libpq_fetch.c:441
+#, c-format
+msgid "could not create temporary table: %s"
+msgstr "geçici dosya oluşturulamadı: %s"
+
+#: libpq_fetch.c:449
+#, c-format
+msgid "could not send file list: %s"
+msgstr "dosya listesi gönderilemedi: %s"
+
+#: libpq_fetch.c:491
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "kopya sonu (end-of-COPY) gönderilemedi: %s"
+
+#: libpq_fetch.c:497
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "dosya listesi gönderilirken beklenmeye sonuç: %s"
+
+#: logging.c:72
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "%*s/%s kB (%d%%) kopyalandı"
+
+#: parsexlog.c:75 parsexlog.c:129 parsexlog.c:187
+#, c-format
+msgid "out of memory"
+msgstr "yetersiz bellek"
+
+#: parsexlog.c:88 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "%X/%X deki WAL kaydı okunamadı: %s"
+
+#: parsexlog.c:92 parsexlog.c:138
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "%X/%X deki WAL kaydı okunamadı"
+
+#: parsexlog.c:199
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "önceki WAL kaydı %X/%X de bulunamadı: %s"
+
+#: parsexlog.c:203
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "önceki WAL kaydı %X/%X de bulunamadı"
+
+#: parsexlog.c:294
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "\"%s\" dosyası açılamıyor: %m"
+
+#: parsexlog.c:307
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "\"%s\" dosyası ilerleme hatası: %m"
+
+#: parsexlog.c:387
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL kaydı bir nesneyi değiştiriyor, fakat kayıt türü tanınmıyor: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:69
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s bir PostgreSQL kümesini kümenin diğer bir kopyasıyla yeniden senkronize eder.\n"
+"\n"
+
+#: pg_rewind.c:70
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"kullanım:\n"
+" %s [OPTION]...\n"
+"\n"
+
+#: pg_rewind.c:71
+#, c-format
+msgid "Options:\n"
+msgstr "Seçenekler:\n"
+
+#: pg_rewind.c:72
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=DİZİN değiştirilecek mevcut veri dizini\n"
+
+#: pg_rewind.c:73
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=DİZİN senkronize edilecek kaynak veri dizini\n"
+
+#: pg_rewind.c:74
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR senkronize edilecek kaynak sunucu\n"
+
+#: pg_rewind.c:75
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run herhangi bir şeyi değiştirmeden dur\n"
+
+#: pg_rewind.c:76
+#, fuzzy, c-format
+#| msgid " -N, --no-sync do not wait for changes to be written safely to disk\n"
+msgid " -N, --no-sync do not wait for changes to be written\n"
+msgstr " -N, --no-sync değişikliklerin diske yazılmasını bekleme\n"
+
+#: pg_rewind.c:77
+#, fuzzy, c-format
+#| msgid " --no-sync do not wait for changes to be written safely to disk\n"
+msgid " safely to disk\n"
+msgstr ""
+" --no-sync değişikliklerin diske yazılması için bekleme\n"
+"\n"
+
+#: pg_rewind.c:78
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress ilerleme mesajları yaz\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug bir çok hata ayıklama mesajı yaz\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version sürüm bilgisini göster, sonra çık\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help bu yardımı göster, sonra çık\n"
+
+#: pg_rewind.c:82
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+msgstr ""
+"\n"
+"Hataları <pgsql-bugs@lists.postgresql.org> adresine bildirebilirsiniz.\n"
+
+#: pg_rewind.c:139 pg_rewind.c:175 pg_rewind.c:182 pg_rewind.c:189
+#: pg_rewind.c:197
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Daha fazla bilgi için \"%s --help\" yazın\n"
+
+#: pg_rewind.c:174
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "kaynak belirtilmemiş (--source-pgdata veya --source-server)"
+
+#: pg_rewind.c:181
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "--source-pgdata veya --source-server'dan sadece biri belirtilebilir"
+
+#: pg_rewind.c:188
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "hedef veri dizini belirtilmemiş (--target-pgdata)"
+
+#: pg_rewind.c:195
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "çok fazla komut satırı girdisi var (ilki \"%s\")"
+
+#: pg_rewind.c:210
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "\"root\" tarafından çalıştırılamaz"
+
+#: pg_rewind.c:211
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "%s komutunu PostgreSQL superuser olarak çalıştırmalısınız.\n"
+
+#: pg_rewind.c:222
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "\"%s\" dizininin erişim haklarını okunamıyor: %m"
+
+#: pg_rewind.c:253
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "kaynak ve hedef kümesi aynı zaman çizelgesinde"
+
+#: pg_rewind.c:259
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "sunucular %3$u zaman çizelgesinde %1$X/%2$X WAL konumunda birbirlerinden farklılaşıyor"
+
+#: pg_rewind.c:296
+#, c-format
+msgid "no rewind required"
+msgstr "geri sarma (rewind) gerekmiyor"
+
+#: pg_rewind.c:303
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "%3$u zaman çizelgesinde %1$X/%2$X deki son ortak kontrol noktasından geri sarıyor (rewind)"
+
+#: pg_rewind.c:312
+#, c-format
+msgid "reading source file list"
+msgstr "kaynak dosya listesi okunuyor"
+
+#: pg_rewind.c:315
+#, c-format
+msgid "reading target file list"
+msgstr "hedef dosya listesi okunuyor"
+
+#: pg_rewind.c:326
+#, c-format
+msgid "reading WAL in target"
+msgstr "hedefteki WAL okunuyor"
+
+#: pg_rewind.c:343
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "%lu MB kopyalanmalı (toplam kaynak dizin boyutu %lu MB)"
+
+#: pg_rewind.c:362
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "yedek etiketi oluşturuluyor ve kontrol dosyası güncelleniyor"
+
+#: pg_rewind.c:391
+#, c-format
+msgid "syncing target data directory"
+msgstr "hedef veri dizini senkronize ediliyor"
+
+#: pg_rewind.c:394
+#, c-format
+msgid "Done!"
+msgstr "Tamamlandı!"
+
+#: pg_rewind.c:406
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "kaynak ve hedef kümeleri farklı sistemlerden"
+
+#: pg_rewind.c:414
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "kümeler pg_rewind'in bu sürümüyle uyumlu değil"
+
+#: pg_rewind.c:424
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "hedef sunucu ya veri sağlama toplamları (checksum) ya da \"wal_log_hints = on\" kullanmalı"
+
+#: pg_rewind.c:435
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "hedef sunucu düzgün bir şekilde kapatılmalı"
+
+#: pg_rewind.c:445
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "kaynak veri dizini düzgün bir şekilde kapatılmalı"
+
+#: pg_rewind.c:500
+#, c-format
+msgid "invalid control file\n"
+msgstr "geçersiz kontrol dosyası\n"
+
+#: pg_rewind.c:584
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "kaynak ve hedef kümelerin zaman çizelgelerinin ortak atası bulunamadı"
+
+#: pg_rewind.c:625
+#, c-format
+msgid "backup label buffer too small"
+msgstr "yedek etiketi tamponu (buffer) çok küçük"
+
+#: pg_rewind.c:648
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "beklenmedik kontrol dosyası CRC'si"
+
+#: pg_rewind.c:658
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "beklenmedik kontrol dosyası boyutu %d, beklenen %d"
+
+#: pg_rewind.c:667
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir"
+msgstr[1] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir"
+
+#: timeline.c:77 timeline.c:83
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "%s geçmiş dosyasında sözdizimi hatası"
+
+#: timeline.c:78
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Sayısal timeline ID bekleniyordu."
+
+#: timeline.c:84
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Bir write-ahead log geçiş noktası (switchpoint) lokasyonu bekleniyordu "
+
+#: timeline.c:89
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "geçmiş dosyasında geçersiz veri: %s"
+
+#: timeline.c:90
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Timeline ID daima artan sırayla olmalıdır."
+
+#: timeline.c:110
+#, c-format
+msgid "invalid data in history file"
+msgstr "geçmiş dosyasında geçersiz veri"
+
+#: timeline.c:111
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "timeline ID, child timeline ID'sinden daha düşük olmalıdır."
+
+#: xlogreader.c:299
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "%X/%X adresinde geçersiz kayıt offseti"
+
+#: xlogreader.c:307
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord %X/%X tarafından talep edilmiştir"
+
+#: xlogreader.c:348 xlogreader.c:645
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%X adresinde geçersiz kayıt uzunluğu: istenen %u, alınan %u"
+
+#: xlogreader.c:372
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "%2$X/%3$X adresinde çok büyük kayıt uzunluğu: %1$u "
+
+#: xlogreader.c:404
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%X de contrecord bayrağı (flag) bulunmuyor"
+
+#: xlogreader.c:417
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "%X/%X adresinde geçersiz %u contrecord uzunluğu"
+
+#: xlogreader.c:653
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "%2$X/%3$X adresinde geçersiz resource manager ID %1$u"
+
+#: xlogreader.c:667 xlogreader.c:684
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "geçersiz incorrect prev-link olan kayıt: %X/%X at %X/%X"
+
+#: xlogreader.c:721
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "resoource manager data checksum %X/%X kaydında geçersiz"
+
+#: xlogreader.c:758
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "%04X geçersiz tanııtım kodu; %s kayıt segmentinde, offset %u"
+
+#: xlogreader.c:772 xlogreader.c:823
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "%04X geçersiz info bits; %s kayıt segmentinde, offset %u"
+
+#: xlogreader.c:798
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
+msgstr "WAL dosyası farklı veritabanı sisteminden: WAL dosya veritabanı sistem tanımlayıcı %s, pg_control veritabanı sistem tanımlayıcı %s"
+
+#: xlogreader.c:805
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış segment boyutu değeri"
+
+#: xlogreader.c:811
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış XLOG_BLCKSZ değeri"
+
+#: xlogreader.c:842
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "beklenmeyen pageaddr %X/%X: log segmenti %s, offset %u"
+
+#: xlogreader.c:867
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "sıra dışı timeline ID %u (%u'dan sonra), bulunduğu log segmenti %s, offset %u"
+
+#: xlogreader.c:1112
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "%X/%X deki %u block_id değeri bozuk"
+
+#: xlogreader.c:1135
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA ayarlandı, fakat %X/%X de veri yok"
+
+#: xlogreader.c:1142
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA ayarlanmadı, fakat veri uzunluğu %u (%X/%x de)"
+
+#: xlogreader.c:1178
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE ayarlandı, fakat hole offset %u uzunluk %u blok image uzunluğu %u (%X/%X de)"
+
+#: xlogreader.c:1194
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE ayarlanmadı, fakat hole offset %u uzunluk %u (%X/%X de)"
+
+#: xlogreader.c:1209
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED ayarlandı, fakat block image uzunluğu %u (%X/%X de)"
+
+#: xlogreader.c:1224
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE ve BKPIMAGE_IS_COMPRESSED ayarlanmadı, fakat block image uzunluğu %u (%X/%X de)"
+
+#: xlogreader.c:1240
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL ayarlandı fakat %X/%X de önceki rel yok"
+
+#: xlogreader.c:1252
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "%X/%X adresinde %u block_id geçersiz"
+
+#: xlogreader.c:1341
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "%X/%X adresinde geçersiz uzunlukta kayıt"
+
+#: xlogreader.c:1430
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "%X/%X adresinde (blok %d), geçersiz compressed image"
+
+#~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
+#~ msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış XLOG_SEG_SIZE değeri"
+
+#~ msgid "Timeline IDs must be less than child timeline's ID.\n"
+#~ msgstr "Zamançizelgesi ID'leri alt zaman çizelgesinin ID'lerinden küçük olmalı.\n"
+
+#~ msgid "Timeline IDs must be in increasing sequence.\n"
+#~ msgstr "Zaman çizelgesi ID'leri artan sırada olmalı.\n"
+
+#~ msgid "invalid data in history file: %s\n"
+#~ msgstr "geçmiş dosyasında geçersiz veri: %s\n"
+
+#~ msgid "Expected a write-ahead log switchpoint location.\n"
+#~ msgstr "İşlem kaydı (WAL) geçiş noktası konumu bekleniyor.\n"
+
+#~ msgid "Expected a numeric timeline ID.\n"
+#~ msgstr "Sayısal bir zaman çizelgesi ID'si bekleniyor.\n"
+
+#~ msgid "syntax error in history file: %s\n"
+#~ msgstr "geçmiş dosyasında sözdizimi hatası: %s\n"
+
+#~ msgid "sync of target directory failed\n"
+#~ msgstr "hedef dizinin senkronizasyonu başarısız oldu\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" was found by \"%s\"\n"
+#~ "but was not the same version as %s.\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "\"initdb\" programı \"%s\" tarafından bulundu\n"
+#~ "fakat %s ile aynı sürümde değil.\n"
+#~ "Kurulumunuzu kontrol ediniz\n"
+
+#~ msgid ""
+#~ "The program \"initdb\" is needed by %s but was\n"
+#~ "not found in the same directory as \"%s\".\n"
+#~ "Check your installation.\n"
+#~ msgstr ""
+#~ "\"initdb\" programına %s tarafından ihtiyaç duyuluyor fakat\n"
+#~ "\"%s\" ile aynı dizinde bulunmuyor.\n"
+#~ "Kurulumunuzu kontrol ediniz.\n"
+
+#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte\n"
+#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes\n"
+#~ msgstr[0] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir\n"
+#~ msgstr[1] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir\n"
+
+#~ msgid "%d: %X/%X - %X/%X\n"
+#~ msgstr "%d: %X/%X - %X/%X\n"
+
+#~ msgid "Target timeline history:\n"
+#~ msgstr "Hedef zaman çizelgesi geçmişi:\n"
+
+#~ msgid "Source timeline history:\n"
+#~ msgstr "Kaynak zaman çizelgesi geçmişi:\n"
+
+#~ msgid "%s: could not read permissions of directory \"%s\": %s\n"
+#~ msgstr "%s: \"%s\" dizininin erişim hakları okunamadı : %s\n"
+
+#~ msgid "could not read from file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyasından okuma hatası: %s\n"
+
+#~ msgid "could not seek in file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyasında arama yapılamadı: %s\n"
+
+#~ msgid "could not open file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyası açılamadı: %s\n"
+
+#~ msgid "Failure, exiting\n"
+#~ msgstr "Başarısız, çıkılıyor\n"
+
+#~ msgid "fetched file \"%s\", length %d\n"
+#~ msgstr "\"%s\" dosyası getirildi, uzunluk %d\n"
+
+#~ msgid "received chunk for file \"%s\", offset %s, size %d\n"
+#~ msgstr "\"%s\" dosyası için parça (chunk) alındı, ofset %s, boyut %d\n"
+
+#~ msgid "received null value for chunk for file \"%s\", file has been deleted\n"
+#~ msgstr "\"%s\" dosyası parçası (chunk) için boş (null) değer alındı, dosya silindi\n"
+
+#~ msgid "getting file chunks\n"
+#~ msgstr "dosya parçaları alınıyor\n"
+
+#~ msgid "%s (%s)\n"
+#~ msgstr "%s (%s)\n"
+
+#~ msgid "entry \"%s\" excluded from target file list\n"
+#~ msgstr "\"%s\" kaydı hedef dosya listesinden hariç tutuldu\n"
+
+#~ msgid "entry \"%s\" excluded from source file list\n"
+#~ msgstr "\"%s\" kaydı kaynak dosya listesinden hariç tutuldu\n"
+
+#~ msgid "could not open file \"%s\" for reading: %s\n"
+#~ msgstr "\"%s\" dosyası okuma için açılamadı: %s\n"
+
+#~ msgid "could not remove symbolic link \"%s\": %s\n"
+#~ msgstr "\"%s\" sembolik linki kaldırılamadı: %s\n"
+
+#~ msgid "could not remove directory \"%s\": %s\n"
+#~ msgstr "\"%s\" dizini silinemedi: %s\n"
+
+#~ msgid "could not create directory \"%s\": %s\n"
+#~ msgstr "\"%s\" dizini oluşturulamadı: %s\n"
+
+#~ msgid "could not truncate file \"%s\" to %u: %s\n"
+#~ msgstr "\"%s\" dosyası %u'ya küçültülemedi (truncate): %s\n"
+
+#~ msgid "could not remove file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyası silinemedi: %s\n"
+
+#~ msgid "could not write file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyasına yazılamadı: %s\n"
+
+#~ msgid " block %u\n"
+#~ msgstr " blok %u\n"
+
+#~ msgid "could not close file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyası kapatılamadı: %s\n"
+
+#~ msgid "could not read file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyası okunamadı: %s\n"
+
+#~ msgid "could not read directory \"%s\": %s\n"
+#~ msgstr "\"%s\" dizini okunamıyor: %s\n"
+
+#~ msgid "symbolic link \"%s\" target is too long\n"
+#~ msgstr "\"%s\" sembolik link hedefi çok uzun\n"
+
+#~ msgid "could not read symbolic link \"%s\": %s\n"
+#~ msgstr "\"%s\" sembolik linki okunamadı: %s\n"
+
+#~ msgid "could not stat file \"%s\": %s\n"
+#~ msgstr "\"%s\" dosyasının durumu görüntülenemedi (stat): %s\n"
+
+#~ msgid "could not open directory \"%s\": %s\n"
+#~ msgstr "\"%s\" dizini açılamıyor: %s\n"
+
+#~ msgid "%s: could not open process token: error code %lu\n"
+#~ msgstr "%s: process token açma başarısız: hata kodu %lu\n"
diff --git a/src/bin/pg_rewind/po/uk.po b/src/bin/pg_rewind/po/uk.po
new file mode 100644
index 0000000..841576c
--- /dev/null
+++ b/src/bin/pg_rewind/po/uk.po
@@ -0,0 +1,913 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: postgresql\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-09-21 21:17+0000\n"
+"PO-Revision-Date: 2020-09-22 13:43\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: /DEV_13/pg_rewind.pot\n"
+"X-Crowdin-File-ID: 504\n"
+
+#: ../../../src/common/logging.c:236
+#, c-format
+msgid "fatal: "
+msgstr "збій: "
+
+#: ../../../src/common/logging.c:243
+#, c-format
+msgid "error: "
+msgstr "помилка: "
+
+#: ../../../src/common/logging.c:250
+#, c-format
+msgid "warning: "
+msgstr "попередження: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162
+#, c-format
+msgid "out of memory\n"
+msgstr "недостатньо пам'яті\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n"
+
+#: ../../common/restricted_token.c:64
+#, c-format
+msgid "could not load library \"%s\": error code %lu"
+msgstr "не вдалося завантажити бібліотеку \"%s\": код помилки %lu"
+
+#: ../../common/restricted_token.c:73
+#, c-format
+msgid "cannot create restricted tokens on this platform: error code %lu"
+msgstr "не вдалося створити обмежені токени на цій платформі: код помилки %lu"
+
+#: ../../common/restricted_token.c:82
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "не вдалося відкрити токен процесу: код помилки %lu"
+
+#: ../../common/restricted_token.c:97
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "не вдалося виділити SID: код помилки %lu"
+
+#: ../../common/restricted_token.c:119
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "не вдалося створити обмежений токен: код помилки %lu"
+
+#: ../../common/restricted_token.c:140
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "не вдалося запустити процес для команди \"%s\": код помилки %lu"
+
+#: ../../common/restricted_token.c:178
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "не вдалося перезапустити з обмеженим токеном: код помилки %lu"
+
+#: ../../common/restricted_token.c:194
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "не вдалося отримати код завершення підпроцесу: код помилки %lu"
+
+#: ../../fe_utils/archive.c:53
+#, c-format
+msgid "cannot use restore_command with %%r placeholder"
+msgstr "не вдалося використати restore_command із заповнювачем %%r"
+
+#: ../../fe_utils/archive.c:74
+#, c-format
+msgid "unexpected file size for \"%s\": %lu instead of %lu"
+msgstr "неочікуваний розмір файлу для \"%s\": %lu замість %lu"
+
+#: ../../fe_utils/archive.c:85
+#, c-format
+msgid "could not open file \"%s\" restored from archive: %m"
+msgstr "не вдалося відкрити файл \"%s\" відновлений з архіву: %m"
+
+#: ../../fe_utils/archive.c:97 copy_fetch.c:88 filemap.c:208
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не вдалося отримати інформацію від файлу \"%s\": %m"
+
+#: ../../fe_utils/archive.c:112
+#, c-format
+msgid "restore_command failed: %s"
+msgstr "помилка restore_command: %s"
+
+#: ../../fe_utils/archive.c:121
+#, c-format
+msgid "could not restore file \"%s\" from archive"
+msgstr "не вдалося відновити файл \"%s\" з архіву"
+
+#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49
+#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100
+#: ../../fe_utils/recovery_gen.c:171 parsexlog.c:73 parsexlog.c:125
+#: parsexlog.c:185
+#, c-format
+msgid "out of memory"
+msgstr "недостатньо пам'яті"
+
+#: ../../fe_utils/recovery_gen.c:134 parsexlog.c:298
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не можливо відкрити файл \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:140
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "неможливо записати до файлу \"%s\": %m"
+
+#: ../../fe_utils/recovery_gen.c:152
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "неможливо створити файл \"%s\": %m"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не вдалося відкрити каталог \"%s\": %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "не можливо прочитати символічне послання \"%s\": %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "таргет символічного посилання \"%s\" задовгий"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\"є символічним посиланням, але символічні посилання не підтримуються на даній платформі"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не вдалося прочитати каталог \"%s\": %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "не вдалося закрити каталог \"%s\": %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "не вдалося відкрити вихідний файл \"%s\": %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "не вдалося знайти у вихідному файлі: %m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:336
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не вдалося прочитати файл \"%s\": %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "неочікуваний кінець при читанні файлу \"%s\""
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "неможливо закрити файл \"%s\": %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "не вдалося відкрити цільовий файл \"%s\": %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "не вдалося закрити цільовий файл \"%s\": %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "не вдалося знайти в цільовому файлі \"%s\": %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не вдалося записати файл \"%s\": %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "неприпустима дія (CREATE) для звичайного файлу"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "не можливо видалити файл \"%s\": %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "не вдалося відкрити файл \"%s\" для скорочення: %m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "не вдалося скоротити файл \"%s\" до потрібного розміру %u: %m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "не вдалося створити каталог \"%s\": %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "не вдалося видалити каталог \"%s\": %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "неможливо створити символічне послання на \"%s\": %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "не вдалося видалити символьне посилання \"%s\": %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не вдалося відкрити файл \"%s\" для читання: %m"
+
+#: file_ops.c:314 parsexlog.c:338
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu"
+
+#: filemap.c:200
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "файл даних \"%s\" в джерелі не є регулярним файлом"
+
+#: filemap.c:222
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\" не є каталогом"
+
+#: filemap.c:245
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\" не є символічним посиланням"
+
+#: filemap.c:257
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\" не є регулярним файлом"
+
+#: filemap.c:369
+#, c-format
+msgid "source file list is empty"
+msgstr "список файлів в джерелі порожній"
+
+#: filemap.c:484
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "неочікувана модифікація сторінки для каталогу або символічного посилання \"%s\""
+
+#: libpq_fetch.c:50
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "не вдалося підключитися до сервера: %s"
+
+#: libpq_fetch.c:54
+#, c-format
+msgid "connected to server"
+msgstr "під'єднано до серверу"
+
+#: libpq_fetch.c:63
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "не вдалося очистити search_path: %s"
+
+#: libpq_fetch.c:75
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "початковий сервер не повинен бути у стані відновлення"
+
+#: libpq_fetch.c:85
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "на початковому сервері повинно бути увімкнено full_page_writes"
+
+#: libpq_fetch.c:111
+#, c-format
+msgid "error running query (%s) on source server: %s"
+msgstr "помилка при виконанні запиту (%s) на вихідному сервері: %s"
+
+#: libpq_fetch.c:116
+#, c-format
+msgid "unexpected result set from query"
+msgstr "неочікуваний результат запиту"
+
+#: libpq_fetch.c:137
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "помилка при виконанні запиту (%s) на початковому сервері: %s"
+
+#: libpq_fetch.c:157
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "нерозпізнаний результат \"%s\" замість поточної добавленої позиції WAL"
+
+#: libpq_fetch.c:207
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "не вдалося отримати список файлів: %s"
+
+#: libpq_fetch.c:212
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "неочікуваний результат при отриманні списку файлів"
+
+#: libpq_fetch.c:265
+#, c-format
+msgid "could not send query: %s"
+msgstr "не вдалося надіслати запит: %s"
+
+#: libpq_fetch.c:270
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "не вдалося встановити libpq з'єднання для однорядкового режиму"
+
+#: libpq_fetch.c:290
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "неочікуваний результат при отриманні віддалених файлів: %s"
+
+#: libpq_fetch.c:296
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "неочікуваний розмір набору результатів при отриманні віддалених файлів"
+
+#: libpq_fetch.c:302
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "неочікувані типи даних в результаті при отриманні віддалених файлів: %u %u %u"
+
+#: libpq_fetch.c:310
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "неочікуваний формат результату при отриманні віддалених файлів"
+
+#: libpq_fetch.c:316
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "неочікувані нульові значення в результаті при отриманні віддалених файлів"
+
+#: libpq_fetch.c:320
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "неочікувана довжина результату при отриманні віддалених файлів"
+
+#: libpq_fetch.c:381
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "не вдалося отримати віддалений файл \"%s\": %s"
+
+#: libpq_fetch.c:386
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "неочікуваний набір результатів при отриманні віддаленого файлу \"%s\""
+
+#: libpq_fetch.c:430
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "не вдалося надіслати дані COPY: %s"
+
+#: libpq_fetch.c:459
+#, c-format
+msgid "could not send file list: %s"
+msgstr "не вдалося надіслати список файлів: %s"
+
+#: libpq_fetch.c:501
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "не вдалося надіслати сповіщення про закінчення копіювання: %s"
+
+#: libpq_fetch.c:507
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "неочікуваний результат при надсиланні списку файлів: %s"
+
+#: parsexlog.c:85 parsexlog.c:132
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "не вдалося прочитати запис WAL на %X/%X: %s"
+
+#: parsexlog.c:89 parsexlog.c:135
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "не вдалося прочитати запис WAL на %X/%X"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "не вдалося знайти попередній запис WAL на %X/%X: %s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "не вдалося знайти попередній запис WAL на %X/%X"
+
+#: parsexlog.c:327
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "не вдалося знайти в файлі \"%s\": %m"
+
+#: parsexlog.c:407
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL модифікує відношення, але тип запису не розпізнано: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:78
+#, c-format
+msgid "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n\n"
+msgstr "%s синхронізує кластер PostgreSQL з іншою копією кластеру.\n\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid "Usage:\n"
+" %s [OPTION]...\n\n"
+msgstr "Використання:\n"
+" %s [OPTION]...\n\n"
+
+#: pg_rewind.c:80
+#, c-format
+msgid "Options:\n"
+msgstr "Параметри:\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid " -c, --restore-target-wal use restore_command in target configuration to\n"
+" retrieve WAL files from archives\n"
+msgstr " -c, --restore-target-wal використовує restore_command в цільовій конфігурації, щоб\n"
+" отримати файли WAL з архівів\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=DIRECTORY існуючий каталог для змін\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=DIRECTORY початковий каталог даних для синхронізації\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR початковий сервер для синхронізації\n"
+
+#: pg_rewind.c:86
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run зупинитися до внесення будь-яких змін\n"
+
+#: pg_rewind.c:87
+#, c-format
+msgid " -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr " -N, --no-sync не чекати поки зміни будуть записані на диск\n"
+
+#: pg_rewind.c:89
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress повідомляти про хід процесу\n"
+
+#: pg_rewind.c:90
+#, c-format
+msgid " -R, --write-recovery-conf write configuration for replication\n"
+" (requires --source-server)\n"
+msgstr " -R, --write-recovery-conf записує конфігурацію для реплікації \n"
+" (потребує --source-server)\n"
+
+#: pg_rewind.c:92
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug виводити багато налагоджувальних повідомлень\n"
+
+#: pg_rewind.c:93
+#, c-format
+msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n"
+msgstr " --no-ensure-shutdown не виправляти автоматично неочищене завершення роботи\n"
+
+#: pg_rewind.c:94
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version вивести інформацію про версію і вийти\n"
+
+#: pg_rewind.c:95
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help показати довідку, потім вийти\n"
+
+#: pg_rewind.c:96
+#, c-format
+msgid "\n"
+"Report bugs to <%s>.\n"
+msgstr "\n"
+"Повідомляти про помилки на <%s>.\n"
+
+#: pg_rewind.c:97
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Домашня сторінка %s: <%s>\n"
+
+#: pg_rewind.c:159 pg_rewind.c:208 pg_rewind.c:215 pg_rewind.c:222
+#: pg_rewind.c:229 pg_rewind.c:237
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Спробуйте \"%s --help\" для отримання додаткової інформації.\n"
+
+#: pg_rewind.c:207
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "джерело не вказано (--source-pgdata чи --source-server)"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "може бути вказано лише --source-pgdata чи --source-server"
+
+#: pg_rewind.c:221
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "не вказано жодного каталогу цільових даних (--target-pgdata)"
+
+#: pg_rewind.c:228
+#, c-format
+msgid "no source server information (--source-server) specified for --write-recovery-conf"
+msgstr "немає інформації про вихідний сервер (--source-server) вказаної для --write-recovery-conf"
+
+#: pg_rewind.c:235
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "забагато аргументів у командному рядку (перший \"%s\")"
+
+#: pg_rewind.c:250
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "\"root\" не може це виконувати"
+
+#: pg_rewind.c:251
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "Запускати %s треба від суперкористувача PostgreSQL.\n"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m"
+
+#: pg_rewind.c:316
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "початковий і цільовий кластери знаходяться на одній лінії часу"
+
+#: pg_rewind.c:322
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "сервери розійшлись в позиції WAL %X/%X на лінії часу %u"
+
+#: pg_rewind.c:360
+#, c-format
+msgid "no rewind required"
+msgstr "перемотування не потрібне"
+
+#: pg_rewind.c:369
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "перемотування від останньої спільної контрольної точки на %X/%X на лінії часу %u"
+
+#: pg_rewind.c:378
+#, c-format
+msgid "reading source file list"
+msgstr "читання списку файлів із джерела"
+
+#: pg_rewind.c:381
+#, c-format
+msgid "reading target file list"
+msgstr "читання списку цільових файлів"
+
+#: pg_rewind.c:392
+#, c-format
+msgid "reading WAL in target"
+msgstr "читання WAL у цілі"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "треба скопіювати %lu МБ (загальний розмір каталогу джерела становить %lu МБ)"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "створення мітки резервного копіювання і оновлення контрольного файлу"
+
+#: pg_rewind.c:457
+#, c-format
+msgid "syncing target data directory"
+msgstr "синхронізація цільового каталогу даних"
+
+#: pg_rewind.c:464
+#, c-format
+msgid "Done!"
+msgstr "Готово!"
+
+#: pg_rewind.c:476
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "початковий і цільовий кластер належать до різних систем"
+
+#: pg_rewind.c:484
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "кластери не сумісні з даною версією pg_rewind"
+
+#: pg_rewind.c:494
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "цільовий сервер потребує використання контрольної суми даних або \"wal_log_hints = on\""
+
+#: pg_rewind.c:505
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "цільовий сервер повинен бути вимкненим штатно"
+
+#: pg_rewind.c:515
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "робота з початковим каталогом даних повинна бути завершена штатно"
+
+#: pg_rewind.c:567
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "скопійовано %*s/%s кБ (%d%%)"
+
+#: pg_rewind.c:630
+#, c-format
+msgid "invalid control file"
+msgstr "неприпустимий контрольний файл"
+
+#: pg_rewind.c:714
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "не вдалося знайти спільного предка ліній часу початкового та цільового кластерів"
+
+#: pg_rewind.c:755
+#, c-format
+msgid "backup label buffer too small"
+msgstr "буфер для мітки резервного копіювання замалий"
+
+#: pg_rewind.c:778
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "неочікуваний контрольний файл CRC"
+
+#: pg_rewind.c:788
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "неочікуваний розмір контрольного файлу %d, очікувалося %d"
+
+#: pg_rewind.c:797
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d"
+msgstr[1] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d"
+msgstr[2] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d"
+msgstr[3] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d"
+
+#: pg_rewind.c:854 pg_rewind.c:912
+#, c-format
+msgid "The program \"%s\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation."
+msgstr "Програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\".\n"
+"Перевірте вашу установку."
+
+#: pg_rewind.c:859 pg_rewind.c:917
+#, c-format
+msgid "The program \"%s\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation."
+msgstr "Програма \"%s\" була знайдена \"%s\", але не була тієї ж версії, що %s.\n"
+"Перевірте вашу установку."
+
+#: pg_rewind.c:880
+#, c-format
+msgid "restore_command is not set in the target cluster"
+msgstr "команда restore_command не встановлена в цільовому кластері"
+
+#: pg_rewind.c:923
+#, c-format
+msgid "executing \"%s\" for target server to complete crash recovery"
+msgstr "виконання \"%s\" для цільового серверу, щоб завершити відновлення після аварійного завершення роботи"
+
+#: pg_rewind.c:943
+#, c-format
+msgid "postgres single-user mode in target cluster failed"
+msgstr "не вдалося ввімкнути однокористувацький режим postgres в цільовому кластері"
+
+#: pg_rewind.c:944
+#, c-format
+msgid "Command was: %s"
+msgstr "Команда була: %s"
+
+#: timeline.c:75 timeline.c:81
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "синтаксична помилка у файлі історії: %s"
+
+#: timeline.c:76
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Очікується числовий ідентифікатор лінії часу."
+
+#: timeline.c:82
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Очікується положення точки випереджувального журналювання."
+
+#: timeline.c:87
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "неприпустимі дані у файлу історії: %s"
+
+#: timeline.c:88
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "Ідентифікатори ліній часу повинні збільшуватись."
+
+#: timeline.c:108
+#, c-format
+msgid "invalid data in history file"
+msgstr "неприпустимі дані у файлі історії"
+
+#: timeline.c:109
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Ідентифікатори ліній часу повинні бути меншими від ідентифікатора дочірньої лінії."
+
+#: xlogreader.c:349
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "невірний зсув запису: %X/%X"
+
+#: xlogreader.c:357
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "по зсуву %X/%X запитано продовження запису"
+
+#: xlogreader.c:398 xlogreader.c:695
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "невірна довжина запису по зсуву %X/%X: очікувалось %u, отримано %u"
+
+#: xlogreader.c:422
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "довжина запису %u на %X/%X є задовгою"
+
+#: xlogreader.c:454
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "немає флага contrecord в позиції %X/%X"
+
+#: xlogreader.c:467
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "невірна довижна contrecord (%u) в позиції %X/%X"
+
+#: xlogreader.c:703
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "невірний ID менеджера ресурсів %u в %X/%X"
+
+#: xlogreader.c:717 xlogreader.c:734
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X"
+
+#: xlogreader.c:771
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X"
+
+#: xlogreader.c:808
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "невірне магічне число %04X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:822 xlogreader.c:863
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "невірні інформаційні біти %04X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:837
+#, 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:845
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки"
+
+#: xlogreader.c:851
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки"
+
+#: xlogreader.c:882
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "неочікуваний pageaddr %X/%X в сегменті журналу %s, зсув %u"
+
+#: xlogreader.c:907
+#, 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:1247
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X"
+
+#: xlogreader.c:1270
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X"
+
+#: xlogreader.c:1277
+#, 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:1313
+#, 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:1329
+#, 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:1344
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X"
+
+#: xlogreader.c:1359
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_IS_COMPRESSED не встановлені, але довжина образу блока дорвінює %u в позиції %X/%X"
+
+#: xlogreader.c:1375
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X"
+
+#: xlogreader.c:1387
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "невірний ідентифікатор блоку %u в позиції %X/%X"
+
+#: xlogreader.c:1476
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "запис з невірною довжиною на %X/%X"
+
+#: xlogreader.c:1565
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "невірно стиснутий образ в позиції %X/%X, блок %d"
+
diff --git a/src/bin/pg_rewind/po/zh_CN.po b/src/bin/pg_rewind/po/zh_CN.po
new file mode 100644
index 0000000..4918fd4
--- /dev/null
+++ b/src/bin/pg_rewind/po/zh_CN.po
@@ -0,0 +1,821 @@
+# LANGUAGE message translation file for pg_rewind
+# Copyright (C) 2019 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_rewind (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-05-22 17:56+0800\n"
+"PO-Revision-Date: 2019-05-31 18:00+0800\n"
+"Last-Translator: Jie Zhang <zhangjie2@cn.fujitsu.com>\n"
+"Language-Team: Chinese (Simplified) <zhangjie2@cn.fujitsu.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.7\n"
+
+#: ../../../src/common/logging.c:188
+#, c-format
+msgid "fatal: "
+msgstr "致命的: "
+
+#: ../../../src/common/logging.c:195
+#, c-format
+msgid "error: "
+msgstr "错误: "
+
+#: ../../../src/common/logging.c:202
+#, c-format
+msgid "warning: "
+msgstr "警告: "
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
+#, c-format
+msgid "out of memory\n"
+msgstr "内存溢出\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "无法复制空指针 (内部错误)\n"
+
+#: ../../common/restricted_token.c:69
+#, c-format
+msgid "cannot create restricted tokens on this platform"
+msgstr "无法为该平台创建受限制的令牌"
+
+#: ../../common/restricted_token.c:78
+#, c-format
+msgid "could not open process token: error code %lu"
+msgstr "无法打开进程令牌 (token): 错误码 %lu"
+
+#: ../../common/restricted_token.c:91
+#, c-format
+msgid "could not allocate SIDs: error code %lu"
+msgstr "无法分配SID: 错误码 %lu"
+
+#: ../../common/restricted_token.c:110
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "无法创建受限令牌: 错误码为 %lu"
+
+#: ../../common/restricted_token.c:131
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "无法为命令 \"%s\"创建进程: 错误码 %lu"
+
+#: ../../common/restricted_token.c:169
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "无法使用受限令牌再次执行: 错误码 %lu"
+
+#: ../../common/restricted_token.c:185
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "无法从子进程得到退出码: 错误码 %lu"
+
+#: copy_fetch.c:59
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "无法打开目录 \"%s\": %m"
+
+#: copy_fetch.c:88 filemap.c:187 filemap.c:348
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "无法取文件 \"%s\" 的状态: %m"
+
+#: copy_fetch.c:117
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "无法读取符号链接 \"%s\": %m"
+
+#: copy_fetch.c:120
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "符号链接 \"%s\" 目标超长"
+
+#: copy_fetch.c:135
+#, c-format
+msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
+msgstr "\"%s\"是一个符号链接,但是这个平台上不支持平台链接"
+
+#: copy_fetch.c:142
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "无法读取目录 \"%s\": %m"
+
+#: copy_fetch.c:146
+#, c-format
+msgid "could not close directory \"%s\": %m"
+msgstr "无法关闭目录 \"%s\": %m"
+
+#: copy_fetch.c:166
+#, c-format
+msgid "could not open source file \"%s\": %m"
+msgstr "无法打开源文件\"%s\": %m"
+
+#: copy_fetch.c:170
+#, c-format
+msgid "could not seek in source file: %m"
+msgstr "无法在源文件中定位(seek):%m"
+
+#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:315
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "无法读取文件 \"%s\": %m"
+
+#: copy_fetch.c:190
+#, c-format
+msgid "unexpected EOF while reading file \"%s\""
+msgstr "读取文件\"%s\"时遇到意料之外的EOF"
+
+#: copy_fetch.c:197
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "无法关闭文件 \"%s\": %m"
+
+#: file_ops.c:62
+#, c-format
+msgid "could not open target file \"%s\": %m"
+msgstr "无法打开目标文件\"%s\": %m"
+
+#: file_ops.c:76
+#, c-format
+msgid "could not close target file \"%s\": %m"
+msgstr "无法关闭目标文件\"%s\": %m"
+
+#: file_ops.c:96
+#, c-format
+msgid "could not seek in target file \"%s\": %m"
+msgstr "无法在目标文件\"%s\"中定位(seek): %m"
+
+#: file_ops.c:112
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "无法写入文件 \"%s\": %m"
+
+#: file_ops.c:162
+#, c-format
+msgid "invalid action (CREATE) for regular file"
+msgstr "对常规文件无效的动作(CREATE)"
+
+#: file_ops.c:185
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "无法删除文件 \"%s\": %m"
+
+#: file_ops.c:203
+#, c-format
+msgid "could not open file \"%s\" for truncation: %m"
+msgstr "无法打开文件\"%s\"用于截断:%m"
+
+#: file_ops.c:207
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "无法将文件\"%s\"截断为%u:%m"
+
+#: file_ops.c:223
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "无法创建目录 \"%s\": %m"
+
+#: file_ops.c:237
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "无法删除目录 \"%s\": %m"
+
+#: file_ops.c:251
+#, c-format
+msgid "could not create symbolic link at \"%s\": %m"
+msgstr "无法在\"%s\"创建符号链接: %m"
+
+#: file_ops.c:265
+#, c-format
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "无法删除符号链接 \"%s\": %m"
+
+#: file_ops.c:296 file_ops.c:300
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "为了读取, 无法打开文件 \"%s\": %m"
+
+#: file_ops.c:314 parsexlog.c:317
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "无法读取文件\"%1$s\":读取了%3$zu中的%2$d"
+
+#: filemap.c:179
+#, c-format
+msgid "data file \"%s\" in source is not a regular file"
+msgstr "源头的数据文件\"%s\"不是一个常规文件"
+
+#: filemap.c:201
+#, c-format
+msgid "\"%s\" is not a directory"
+msgstr "\"%s\"不是一个目录"
+
+#: filemap.c:224
+#, c-format
+msgid "\"%s\" is not a symbolic link"
+msgstr "\"%s\"不是一个符号链接"
+
+#: filemap.c:236
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%s\"不是一个常规文件"
+
+#: filemap.c:360
+#, c-format
+msgid "source file list is empty"
+msgstr "源文件列表为空"
+
+#: filemap.c:475
+#, c-format
+msgid "unexpected page modification for directory or symbolic link \"%s\""
+msgstr "对目录或符号链接\"%s\"的意料之外的页修改"
+
+#: libpq_fetch.c:51
+#, c-format
+msgid "could not connect to server: %s"
+msgstr "无法连接到服务器:%s"
+
+#: libpq_fetch.c:55
+#, c-format
+msgid "connected to server"
+msgstr "已连接服务器"
+
+#: libpq_fetch.c:59
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "无法清除search_path: %s"
+
+#: libpq_fetch.c:71
+#, c-format
+msgid "source server must not be in recovery mode"
+msgstr "源服务器不能处于恢复模式"
+
+#: libpq_fetch.c:81
+#, c-format
+msgid "full_page_writes must be enabled in the source server"
+msgstr "源服务器中的full_page_writes必须被启用"
+
+#: libpq_fetch.c:93
+#, c-format
+msgid "could not set up connection context: %s"
+msgstr "无法设置连接上下文: %s"
+
+#: libpq_fetch.c:111
+#, c-format
+msgid "error running query (%s) in source server: %s"
+msgstr "源服务器中有错误运行的查询(%s):%s"
+
+#: libpq_fetch.c:116
+#, c-format
+msgid "unexpected result set from query"
+msgstr "从查询得到意料之外的结果集"
+
+#: libpq_fetch.c:139
+#, c-format
+msgid "unrecognized result \"%s\" for current WAL insert location"
+msgstr "当前WAL插入位置的未识别结果\"%s\""
+
+#: libpq_fetch.c:189
+#, c-format
+msgid "could not fetch file list: %s"
+msgstr "无法取得文件列表:%s"
+
+#: libpq_fetch.c:194
+#, c-format
+msgid "unexpected result set while fetching file list"
+msgstr "在取得文件列表时得到意料之外的结果集"
+
+#: libpq_fetch.c:242
+#, c-format
+msgid "could not send query: %s"
+msgstr "无法发送查询:%s"
+
+#: libpq_fetch.c:247
+#, c-format
+msgid "could not set libpq connection to single row mode"
+msgstr "无法设置libpq连接为单行模式"
+
+#: libpq_fetch.c:268
+#, c-format
+msgid "unexpected result while fetching remote files: %s"
+msgstr "在取得远程文件时得到意料之外的结果:%s"
+
+#: libpq_fetch.c:274
+#, c-format
+msgid "unexpected result set size while fetching remote files"
+msgstr "在取得远程文件时得到意料之外的结果集大小"
+
+#: libpq_fetch.c:280
+#, c-format
+msgid "unexpected data types in result set while fetching remote files: %u %u %u"
+msgstr "在取得远程文件时结果集中有意料之外的数据类型:%u %u %u"
+
+#: libpq_fetch.c:288
+#, c-format
+msgid "unexpected result format while fetching remote files"
+msgstr "在取得远程文件时得到意料之外的结果格式"
+
+#: libpq_fetch.c:294
+#, c-format
+msgid "unexpected null values in result while fetching remote files"
+msgstr "在取得远程文件时结果中有意料之外的空值"
+
+#: libpq_fetch.c:298
+#, c-format
+msgid "unexpected result length while fetching remote files"
+msgstr "在取得远程文件时得到意料之外的结果长度"
+
+#: libpq_fetch.c:364
+#, c-format
+msgid "could not fetch remote file \"%s\": %s"
+msgstr "无法取得远程文件\"%s\": %s"
+
+#: libpq_fetch.c:369
+#, c-format
+msgid "unexpected result set while fetching remote file \"%s\""
+msgstr "在取得远程文件\"%s\"时得到意料之外的结果集"
+
+#: libpq_fetch.c:413
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "无法发送COPY数据:%s"
+
+#: libpq_fetch.c:439
+#, c-format
+msgid "could not create temporary table: %s"
+msgstr "无法创建临时表:%s"
+
+#: libpq_fetch.c:447
+#, c-format
+msgid "could not send file list: %s"
+msgstr "无法发送文件列表:%s"
+
+#: libpq_fetch.c:489
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "无法发送COPY结束标记:%s"
+
+#: libpq_fetch.c:495
+#, c-format
+msgid "unexpected result while sending file list: %s"
+msgstr "在发送文件列表时得到意料之外的结果:%s"
+
+#: parsexlog.c:74 parsexlog.c:128 parsexlog.c:186
+#, c-format
+msgid "out of memory"
+msgstr "内存用尽"
+
+#: parsexlog.c:87 parsexlog.c:134
+#, c-format
+msgid "could not read WAL record at %X/%X: %s"
+msgstr "无法读取%X/%X处的WAL记录:%s"
+
+#: parsexlog.c:91 parsexlog.c:137
+#, c-format
+msgid "could not read WAL record at %X/%X"
+msgstr "无法读取%X/%X处的WAL记录"
+
+#: parsexlog.c:198
+#, c-format
+msgid "could not find previous WAL record at %X/%X: %s"
+msgstr "无法在%X/%X找到前一个WAL记录:%s"
+
+#: parsexlog.c:202
+#, c-format
+msgid "could not find previous WAL record at %X/%X"
+msgstr "无法在%X/%X找到前一个WAL记录"
+
+#: parsexlog.c:293
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "无法打开文件 \"%s\": %m"
+
+#: parsexlog.c:306
+#, c-format
+msgid "could not seek in file \"%s\": %m"
+msgstr "无法在文件\"%s\"进行查找: %m"
+
+#: parsexlog.c:386
+#, c-format
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
+msgstr "WAL记录修改了一个关系,但是记录类型无法识别: lsn: %X/%X, rmgr: %s, info: %02X"
+
+#: pg_rewind.c:72
+#, c-format
+msgid ""
+"%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
+"\n"
+msgstr ""
+"%s用一个PostgreSQL集簇的另一个拷贝重新同步了该集簇。\n"
+"\n"
+
+#: pg_rewind.c:73
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"用法:\n"
+" %s [选项]...\n"
+"\n"
+
+#: pg_rewind.c:74
+#, c-format
+msgid "Options:\n"
+msgstr "选项:\n"
+
+#: pg_rewind.c:75
+#, c-format
+msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n"
+msgstr " -D, --target-pgdata=DIRECTORY 已有的要修改的数据目录\n"
+
+#: pg_rewind.c:76
+#, c-format
+msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n"
+msgstr " --source-pgdata=DIRECTORY 要与之同步的源数据目录\n"
+
+#: pg_rewind.c:77
+#, c-format
+msgid " --source-server=CONNSTR source server to synchronize with\n"
+msgstr " --source-server=CONNSTR 要与之同步的源服务器\n"
+
+#: pg_rewind.c:78
+#, c-format
+msgid " -n, --dry-run stop before modifying anything\n"
+msgstr " -n, --dry-run 在修改任何东西之前停止\n"
+
+#: pg_rewind.c:79
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written\n"
+" safely to disk\n"
+msgstr ""
+" -N, --no-sync 不用等待变化安全\n"
+" 写入磁盘\n"
+
+#: pg_rewind.c:81
+#, c-format
+msgid " -P, --progress write progress messages\n"
+msgstr " -P, --progress 写出进度消息\n"
+
+#: pg_rewind.c:82
+#, c-format
+msgid " --debug write a lot of debug messages\n"
+msgstr " --debug 写出很多调试消息\n"
+
+#: pg_rewind.c:83
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version 输出版本信息,然后退出\n"
+
+#: pg_rewind.c:84
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 显示本帮助,然后退出\n"
+
+#: pg_rewind.c:85
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
+msgstr ""
+"\n"
+"报告错误至 <pgsql-bugs@lists.postgresql.org>.\n"
+
+#: pg_rewind.c:142 pg_rewind.c:178 pg_rewind.c:185 pg_rewind.c:192
+#: pg_rewind.c:200
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "请用 \"%s --help\" 获取更多的信息.\n"
+
+#: pg_rewind.c:177
+#, c-format
+msgid "no source specified (--source-pgdata or --source-server)"
+msgstr "没有指定源 (--source-pgdata 或者 --source-server)"
+
+#: pg_rewind.c:184
+#, c-format
+msgid "only one of --source-pgdata or --source-server can be specified"
+msgstr "只能指定--source-pgdata和--source-server这两个选项之一"
+
+#: pg_rewind.c:191
+#, c-format
+msgid "no target data directory specified (--target-pgdata)"
+msgstr "没有指定目标数据目录 (--target-pgdata)"
+
+#: pg_rewind.c:198
+#, c-format
+msgid "too many command-line arguments (first is \"%s\")"
+msgstr "命令行参数太多 (第一个是 \"%s\")"
+
+#: pg_rewind.c:213
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "不能由\"root\"执行"
+
+#: pg_rewind.c:214
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser.\n"
+msgstr "您现在作为PostgreSQL超级用户运行%s.\n"
+
+#: pg_rewind.c:225
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "没有读取目录 \"%s\" 的权限: %m"
+
+#: pg_rewind.c:256
+#, c-format
+msgid "source and target cluster are on the same timeline"
+msgstr "源集簇和目标集簇处于同一时间线"
+
+#: pg_rewind.c:262
+#, c-format
+msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgstr "服务器在时间线%3$u上的WAL位置%1$X/%2$X处发生了分歧"
+
+#: pg_rewind.c:299
+#, c-format
+msgid "no rewind required"
+msgstr "不需要倒带(rewind)"
+
+#: pg_rewind.c:306
+#, c-format
+msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgstr "从时间线%3$u上%1$X/%2$X处的最后一个普通检查点倒带"
+
+#: pg_rewind.c:315
+#, c-format
+msgid "reading source file list"
+msgstr "读取源文件列表"
+
+#: pg_rewind.c:318
+#, c-format
+msgid "reading target file list"
+msgstr "读取目标文件列表"
+
+#: pg_rewind.c:329
+#, c-format
+msgid "reading WAL in target"
+msgstr "读取目标中的WAL"
+
+#: pg_rewind.c:346
+#, c-format
+msgid "need to copy %lu MB (total source directory size is %lu MB)"
+msgstr "需要复制 %lu MB(整个源目录的大小是 %lu MB)"
+
+#: pg_rewind.c:365
+#, c-format
+msgid "creating backup label and updating control file"
+msgstr "正在创建备份标签并且更新控制文件"
+
+#: pg_rewind.c:394
+#, c-format
+msgid "syncing target data directory"
+msgstr "正在同步目标数据目录"
+
+#: pg_rewind.c:397
+#, c-format
+msgid "Done!"
+msgstr "完成!"
+
+#: pg_rewind.c:409
+#, c-format
+msgid "source and target clusters are from different systems"
+msgstr "源集簇和目标集簇来自不同的系统"
+
+#: pg_rewind.c:417
+#, c-format
+msgid "clusters are not compatible with this version of pg_rewind"
+msgstr "集簇与这个pg_rewind的版本不兼容"
+
+#: pg_rewind.c:427
+#, c-format
+msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
+msgstr "目标服务器需要使用数据校验和或者让\"wal_log_hints = on\""
+
+#: pg_rewind.c:438
+#, c-format
+msgid "target server must be shut down cleanly"
+msgstr "目标服务器必须被干净地关闭"
+
+#: pg_rewind.c:448
+#, c-format
+msgid "source data directory must be shut down cleanly"
+msgstr "源数据目录必须被干净地关闭"
+
+#: pg_rewind.c:497
+#, c-format
+msgid "%*s/%s kB (%d%%) copied"
+msgstr "已复制%*s/%s kB (%d%%)"
+
+#: pg_rewind.c:558
+#, c-format
+msgid "invalid control file\n"
+msgstr "无效的控制文件\n"
+
+#: pg_rewind.c:642
+#, c-format
+msgid "could not find common ancestor of the source and target cluster's timelines"
+msgstr "无法找到源集簇和目标集簇的时间线的共同祖先"
+
+#: pg_rewind.c:683
+#, c-format
+msgid "backup label buffer too small"
+msgstr "备份标签缓冲太小"
+
+#: pg_rewind.c:706
+#, c-format
+msgid "unexpected control file CRC"
+msgstr "意料之外的控制文件CRC"
+
+#: pg_rewind.c:716
+#, c-format
+msgid "unexpected control file size %d, expected %d"
+msgstr "意料之外的控制文件大小%d,应该是%d"
+
+#: pg_rewind.c:725
+#, c-format
+msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
+msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
+msgstr[0] "WAL段大小必须是1 MB到1 GB之间的2的幂,但控制文件指定了%d字节"
+msgstr[1] "WAL段大小必须是1 MB到1 GB之间的2的幂,但控制文件指定了%d字节"
+
+#: timeline.c:76 timeline.c:82
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "历史文件中的语法错误: %s"
+
+#: timeline.c:77
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "期望一个数字 timeline ID."
+
+#: timeline.c:83
+#, c-format
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "期望一个预写日志切换点位置."
+
+#: timeline.c:88
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "历史文件中的无效数据: %s"
+
+#: timeline.c:89
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "TimeLine ID 必须为递增序列."
+
+#: timeline.c:109
+#, c-format
+msgid "invalid data in history file"
+msgstr "历史文件中有无效数据"
+
+#: timeline.c:110
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Timeline ID 必须小于子 timeline 的 ID."
+
+#: xlogreader.c:299
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "%X/%X处有无效的记录偏移量"
+
+#: xlogreader.c:307
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "%X/%X请求继续记录(contrecord)"
+
+#: xlogreader.c:348 xlogreader.c:645
+#, c-format
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%X处有无效记录长度: 应该是%u, 但实际是%u"
+
+#: xlogreader.c:372
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "%2$X/%3$X处有的记录长度%1$u过长"
+
+#: xlogreader.c:404
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "%X/%X处没有继续记录标志"
+
+#: xlogreader.c:417
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "%2$X/%3$X处有无效的继续记录长度%1$u"
+
+#: xlogreader.c:653
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "%2$X/%3$X处有无效的资源管理器 ID %1$u"
+
+#: xlogreader.c:667 xlogreader.c:684
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "%3$X/%4$X处的记录有不正确的prev-link %1$X/%2$X"
+
+#: xlogreader.c:721
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "%X/%X处的记录中有不正确的资源管理器数据校验和"
+
+#: xlogreader.c:758
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "在日志段%2$s的偏移量%3$u处有无效的magic号%1$04X"
+
+#: xlogreader.c:772 xlogreader.c:823
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "在日志段%2$s的偏移量%3$u处有无效的info位%1$04X"
+
+#: xlogreader.c:798
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
+msgstr "WAL文件来自于不同的数据库系统:WAL文件数据库系统标识符是%s,pg_control数据库系统标识符是%s"
+
+#: xlogreader.c:805
+#, c-format
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL文件来自于不同的数据库系统:页头部中有不正确的段大小"
+
+#: xlogreader.c:811
+#, c-format
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL文件来自于不同的数据库系统:页头部中有不正确的XLOG_BLCKSZ"
+
+#: xlogreader.c:842
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "在日志段%3$s的偏移量%4$u处有意料之外的pageaddr %1$X/%2$X"
+
+#: xlogreader.c:867
+#, 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:1112
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "在%2$X/%3$X处有无序的block_id %1$u"
+
+#: xlogreader.c:1135
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA已被设置,但是在%X/%X处没有包括数据"
+
+#: xlogreader.c:1142
+#, 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:1178
+#, 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:1194
+#, 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:1209
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED已被设置,但是%2$X/%3$X处记录的块映像长度为%1$u"
+
+#: xlogreader.c:1224
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE和BKPIMAGE_IS_COMPRESSED都没有被设置,但是%2$X/%3$X处记录的块映像长度为%1$u"
+
+#: xlogreader.c:1240
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL已被设置,但是在%X/%X没有前一个关系"
+
+#: xlogreader.c:1252
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "%2$X/%3$X处有无效block_id %1$u"
+
+#: xlogreader.c:1341
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "%X/%X处的记录的长度无效"
+
+#: xlogreader.c:1430
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "%X/%X处是块%d的无效压缩映像"