diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 13:44:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 13:44:03 +0000 |
commit | 293913568e6a7a86fd1479e1cff8e2ecb58d6568 (patch) | |
tree | fc3b469a3ec5ab71b36ea97cc7aaddb838423a0c /src/bin/pg_archivecleanup | |
parent | Initial commit. (diff) | |
download | postgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.tar.xz postgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.zip |
Adding upstream version 16.2.upstream/16.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/bin/pg_archivecleanup')
26 files changed, 3951 insertions, 0 deletions
diff --git a/src/bin/pg_archivecleanup/.gitignore b/src/bin/pg_archivecleanup/.gitignore new file mode 100644 index 0000000..bd05d00 --- /dev/null +++ b/src/bin/pg_archivecleanup/.gitignore @@ -0,0 +1,3 @@ +/pg_archivecleanup + +/tmp_check/ diff --git a/src/bin/pg_archivecleanup/Makefile b/src/bin/pg_archivecleanup/Makefile new file mode 100644 index 0000000..49935d6 --- /dev/null +++ b/src/bin/pg_archivecleanup/Makefile @@ -0,0 +1,36 @@ +# src/bin/pg_archivecleanup/Makefile + +PGFILEDESC = "pg_archivecleanup - cleans archive when used with streaming replication" +PGAPPICON = win32 + +subdir = src/bin/pg_archivecleanup +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + +OBJS = \ + $(WIN32RES) \ + pg_archivecleanup.o + +all: pg_archivecleanup + +pg_archivecleanup: $(OBJS) | submake-libpgport + $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) + +install: all installdirs + $(INSTALL_PROGRAM) pg_archivecleanup$(X) '$(DESTDIR)$(bindir)/pg_archivecleanup$(X)' + +installdirs: + $(MKDIR_P) '$(DESTDIR)$(bindir)' + +uninstall: + rm -f '$(DESTDIR)$(bindir)/pg_archivecleanup$(X)' + +clean distclean maintainer-clean: + rm -f pg_archivecleanup$(X) $(OBJS) + rm -rf tmp_check + +check: + $(prove_check) + +installcheck: + $(prove_installcheck) diff --git a/src/bin/pg_archivecleanup/meson.build b/src/bin/pg_archivecleanup/meson.build new file mode 100644 index 0000000..28349db --- /dev/null +++ b/src/bin/pg_archivecleanup/meson.build @@ -0,0 +1,31 @@ +# Copyright (c) 2022-2023, PostgreSQL Global Development Group + +pg_archivecleanup_sources = files( + 'pg_archivecleanup.c', +) + +if host_system == 'windows' + pg_archivecleanup_sources += rc_bin_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'pg_archivecleanup', + '--FILEDESC', 'pg_archivecleanup - cleans archive when used with streaming replication',]) +endif + +pg_archivecleanup = executable('pg_archivecleanup', + pg_archivecleanup_sources, + dependencies: [frontend_code], + kwargs: default_bin_args, +) +bin_targets += pg_archivecleanup + +tests += { + 'name': 'pg_archivecleanup', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/010_pg_archivecleanup.pl', + ], + }, +} + +subdir('po', if_found: libintl) diff --git a/src/bin/pg_archivecleanup/nls.mk b/src/bin/pg_archivecleanup/nls.mk new file mode 100644 index 0000000..801cf1c --- /dev/null +++ b/src/bin/pg_archivecleanup/nls.mk @@ -0,0 +1,5 @@ +# src/bin/pg_archivecleanup/nls.mk +CATALOG_NAME = pg_archivecleanup +GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_archivecleanup.c +GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS) +GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS) diff --git a/src/bin/pg_archivecleanup/pg_archivecleanup.c b/src/bin/pg_archivecleanup/pg_archivecleanup.c new file mode 100644 index 0000000..7726d05 --- /dev/null +++ b/src/bin/pg_archivecleanup/pg_archivecleanup.c @@ -0,0 +1,375 @@ +/* + * pg_archivecleanup.c + * + * To be used as archive_cleanup_command to clean an archive when using + * standby mode. + * + * src/bin/pg_archivecleanup/pg_archivecleanup.c + */ +#include "postgres_fe.h" + +#include <ctype.h> +#include <dirent.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <signal.h> +#include <sys/time.h> + +#include "access/xlog_internal.h" +#include "common/logging.h" +#include "pg_getopt.h" + +const char *progname; + +/* Options and defaults */ +bool dryrun = false; /* are we performing a dry-run operation? */ +char *additional_ext = NULL; /* Extension to remove from filenames */ + +char *archiveLocation; /* where to find the archive? */ +char *restartWALFileName; /* the file from which we can restart restore */ +char exclusiveCleanupFileName[MAXFNAMELEN]; /* the oldest file we want + * to remain in archive */ + + +/* ===================================================================== + * + * Customizable section + * + * ===================================================================== + * + * Currently, this section assumes that the Archive is a locally + * accessible directory. If you want to make other assumptions, + * such as using a vendor-specific archive and access API, these + * routines are the ones you'll need to change. You're + * encouraged to submit any changes to pgsql-hackers@lists.postgresql.org + * or personally to the current maintainer. Those changes may be + * folded in to later versions of this program. + */ + +/* + * Initialize allows customized commands into the archive cleanup program. + * + * You may wish to add code to check for tape libraries, etc.. + */ +static void +Initialize(void) +{ + /* + * This code assumes that archiveLocation is a directory, so we use stat + * to test if it's accessible. + */ + struct stat stat_buf; + + if (stat(archiveLocation, &stat_buf) != 0 || + !S_ISDIR(stat_buf.st_mode)) + { + pg_log_error("archive location \"%s\" does not exist", + archiveLocation); + exit(2); + } +} + +static void +TrimExtension(char *filename, char *extension) +{ + int flen; + int elen; + + if (extension == NULL) + return; + + elen = strlen(extension); + flen = strlen(filename); + + if (flen > elen && strcmp(filename + flen - elen, extension) == 0) + filename[flen - elen] = '\0'; +} + +static void +CleanupPriorWALFiles(void) +{ + int rc; + DIR *xldir; + struct dirent *xlde; + char walfile[MAXPGPATH]; + + if ((xldir = opendir(archiveLocation)) != NULL) + { + while (errno = 0, (xlde = readdir(xldir)) != NULL) + { + /* + * Truncation is essentially harmless, because we skip names of + * length other than XLOG_FNAME_LEN. (In principle, one could use + * a 1000-character additional_ext and get trouble.) + */ + strlcpy(walfile, xlde->d_name, MAXPGPATH); + TrimExtension(walfile, additional_ext); + + /* + * We ignore the timeline part of the XLOG segment identifiers in + * deciding whether a segment is still needed. This ensures that + * we won't prematurely remove a segment from a parent timeline. + * We could probably be a little more proactive about removing + * segments of non-parent timelines, but that would be a whole lot + * more complicated. + * + * We use the alphanumeric sorting property of the filenames to + * decide which ones are earlier than the exclusiveCleanupFileName + * file. Note that this means files are not removed in the order + * they were originally written, in case this worries you. + */ + if ((IsXLogFileName(walfile) || IsPartialXLogFileName(walfile)) && + strcmp(walfile + 8, exclusiveCleanupFileName + 8) < 0) + { + char WALFilePath[MAXPGPATH * 2]; /* the file path + * including archive */ + + /* + * Use the original file name again now, including any + * extension that might have been chopped off before testing + * the sequence. + */ + snprintf(WALFilePath, sizeof(WALFilePath), "%s/%s", + archiveLocation, xlde->d_name); + + if (dryrun) + { + /* + * Prints the name of the file to be removed and skips the + * actual removal. The regular printout is so that the + * user can pipe the output into some other program. + */ + printf("%s\n", WALFilePath); + pg_log_debug("file \"%s\" would be removed", WALFilePath); + continue; + } + + pg_log_debug("removing file \"%s\"", WALFilePath); + + rc = unlink(WALFilePath); + if (rc != 0) + pg_fatal("could not remove file \"%s\": %m", + WALFilePath); + } + } + + if (errno) + pg_fatal("could not read archive location \"%s\": %m", + archiveLocation); + if (closedir(xldir)) + pg_fatal("could not close archive location \"%s\": %m", + archiveLocation); + } + else + pg_fatal("could not open archive location \"%s\": %m", + archiveLocation); +} + +/* + * SetWALFileNameForCleanup() + * + * Set the earliest WAL filename that we want to keep on the archive + * and decide whether we need cleanup + */ +static void +SetWALFileNameForCleanup(void) +{ + bool fnameOK = false; + + TrimExtension(restartWALFileName, additional_ext); + + /* + * If restartWALFileName is a WAL file name then just use it directly. If + * restartWALFileName is a .partial or .backup filename, make sure we use + * the prefix of the filename, otherwise we will remove wrong files since + * 000000010000000000000010.partial and + * 000000010000000000000010.00000020.backup are after + * 000000010000000000000010. + */ + if (IsXLogFileName(restartWALFileName)) + { + strcpy(exclusiveCleanupFileName, restartWALFileName); + fnameOK = true; + } + else if (IsPartialXLogFileName(restartWALFileName)) + { + int args; + uint32 tli = 1, + log = 0, + seg = 0; + + args = sscanf(restartWALFileName, "%08X%08X%08X.partial", + &tli, &log, &seg); + if (args == 3) + { + fnameOK = true; + + /* + * Use just the prefix of the filename, ignore everything after + * first period + */ + XLogFileNameById(exclusiveCleanupFileName, tli, log, seg); + } + } + else if (IsBackupHistoryFileName(restartWALFileName)) + { + int args; + uint32 tli = 1, + log = 0, + seg = 0, + offset = 0; + + args = sscanf(restartWALFileName, "%08X%08X%08X.%08X.backup", &tli, &log, &seg, &offset); + if (args == 4) + { + fnameOK = true; + + /* + * Use just the prefix of the filename, ignore everything after + * first period + */ + XLogFileNameById(exclusiveCleanupFileName, tli, log, seg); + } + } + + if (!fnameOK) + { + pg_log_error("invalid file name argument"); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(2); + } +} + +/* ===================================================================== + * End of Customizable section + * ===================================================================== + */ + +static void +usage(void) +{ + printf(_("%s removes older WAL files from PostgreSQL archives.\n\n"), progname); + printf(_("Usage:\n")); + printf(_(" %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n"), progname); + printf(_("\nOptions:\n")); + printf(_(" -d generate debug output (verbose mode)\n")); + printf(_(" -n dry run, show the names of the files that would be removed\n")); + printf(_(" -V, --version output version information, then exit\n")); + printf(_(" -x EXT clean up files if they have this extension\n")); + printf(_(" -?, --help show this help, then exit\n")); + printf(_("\n" + "For use as archive_cleanup_command in postgresql.conf:\n" + " archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" + "e.g.\n" + " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n")); + printf(_("\n" + "Or for use as a standalone archive cleaner:\n" + "e.g.\n" + " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n")); + printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); + printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); +} + +/*------------ MAIN ----------------------------------------*/ +int +main(int argc, char **argv) +{ + int c; + + pg_logging_init(argv[0]); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_archivecleanup")); + progname = get_progname(argv[0]); + + if (argc > 1) + { + if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) + { + usage(); + exit(0); + } + if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) + { + puts("pg_archivecleanup (PostgreSQL) " PG_VERSION); + exit(0); + } + } + + while ((c = getopt(argc, argv, "dnx:")) != -1) + { + switch (c) + { + case 'd': /* Debug mode */ + pg_logging_increase_verbosity(); + break; + case 'n': /* Dry-Run mode */ + dryrun = true; + break; + case 'x': + additional_ext = pg_strdup(optarg); /* Extension to remove + * from xlogfile names */ + break; + default: + /* getopt already emitted a complaint */ + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(2); + } + } + + /* + * We will go to the archiveLocation to check restartWALFileName. + * restartWALFileName may not exist anymore, which would not be an error, + * so we separate the archiveLocation and restartWALFileName so we can + * check separately whether archiveLocation exists, if not that is an + * error + */ + if (optind < argc) + { + archiveLocation = argv[optind]; + optind++; + } + else + { + pg_log_error("must specify archive location"); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(2); + } + + if (optind < argc) + { + restartWALFileName = argv[optind]; + optind++; + } + else + { + pg_log_error("must specify oldest kept WAL file"); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(2); + } + + if (optind < argc) + { + pg_log_error("too many command-line arguments"); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(2); + } + + /* + * Check archive exists and other initialization if required. + */ + Initialize(); + + /* + * Check filename is a valid name, then process to find cut-off + */ + SetWALFileNameForCleanup(); + + pg_log_debug("keeping WAL file \"%s/%s\" and later", + archiveLocation, exclusiveCleanupFileName); + + /* + * Remove WAL files older than cut-off + */ + CleanupPriorWALFiles(); + + exit(0); +} diff --git a/src/bin/pg_archivecleanup/po/LINGUAS b/src/bin/pg_archivecleanup/po/LINGUAS new file mode 100644 index 0000000..4cc8bed --- /dev/null +++ b/src/bin/pg_archivecleanup/po/LINGUAS @@ -0,0 +1 @@ +cs de el es fr it ja ka ko pl pt_BR ru sv tr uk vi zh_CN zh_TW diff --git a/src/bin/pg_archivecleanup/po/cs.po b/src/bin/pg_archivecleanup/po/cs.po new file mode 100644 index 0000000..3a9419c --- /dev/null +++ b/src/bin/pg_archivecleanup/po/cs.po @@ -0,0 +1,198 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2018 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (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:37+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" +"X-Generator: Poedit 2.4.1\n" + +#: ../../../src/common/logging.c:236 +#, c-format +msgid "fatal: " +msgstr "fatal: " + +#: ../../../src/common/logging.c:243 +#, c-format +msgid "error: " +msgstr "error: " + +#: ../../../src/common/logging.c:250 +#, c-format +msgid "warning: " +msgstr "warning: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "archivní lokace \"%s\" neexistuje" + +#: pg_archivecleanup.c:152 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "nelze odstranit soubor \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "nelze načíst archivní lokaci \"%s\": %m" + +#: pg_archivecleanup.c:163 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "nelze uzavřít archivní lokaci \"%s\": %m" + +#: pg_archivecleanup.c:167 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "nelze otevřít archivní lokaci \"%s\": %m" + +#: pg_archivecleanup.c:240 +#, c-format +msgid "invalid file name argument" +msgstr "chybný argument jména souboru" + +#: pg_archivecleanup.c:241 pg_archivecleanup.c:315 pg_archivecleanup.c:336 +#: pg_archivecleanup.c:348 pg_archivecleanup.c:355 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Zkuste \"%s --help\" pro více informací.\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s odstraní starší WAL soubory z PostgreSQL archivů.\n" +"\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid "Usage:\n" +msgstr "Použití:\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Přepínače:\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d vygeneruje debug výstup (více informací)\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n zkušební běh, ukazuje jména souborů které by byly odstraněny\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version vypíše informaci o verzi, pak skončí\n" + +#: pg_archivecleanup.c:261 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT vyčistí soubory pokud mají tuto příponu\n" + +#: pg_archivecleanup.c:262 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help ukáže tuto nápovědu, a skončí\n" + +#: pg_archivecleanup.c:263 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Pro použití jako archive_cleanup_command v recovery.conf pokud standby_mode = on:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:268 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Nebo jako samostatný čistič archivu:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:272 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Chyby hlašte na <%s>.\n" + +#: pg_archivecleanup.c:273 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s domácí stránka: <%s>\n" + +#: pg_archivecleanup.c:335 +#, c-format +msgid "must specify archive location" +msgstr "nutno zadat archivní lokaci" + +#: pg_archivecleanup.c:347 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "nutno zadat nejstarčí uchovávaný WAL soubor" + +#: pg_archivecleanup.c:354 +#, c-format +msgid "too many command-line arguments" +msgstr "příliš mnoho argumentů na příkazové řádce" + +#~ msgid "%s: file \"%s\" would be removed\n" +#~ msgstr "%s: soubor \"%s\" by byl odstraněn\n" + +#~ msgid "%s: removing file \"%s\"\n" +#~ msgstr "%s: odstraňuji soubor \"%s\"\n" + +#~ msgid "%s: ERROR: could not remove file \"%s\": %s\n" +#~ msgstr "%s: ERROR: nelze odstranit soubor \"%s\": %s\n" + +#~ msgid "%s: keeping WAL file \"%s\" and later\n" +#~ msgstr "%s: uchovávám WAL soubor \"%s\" a novější\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_archivecleanup/po/de.po b/src/bin/pg_archivecleanup/po/de.po new file mode 100644 index 0000000..64ff8d9 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/de.po @@ -0,0 +1,183 @@ +# pg_archivecleanup message translation file for pg_archivecleanup +# Copyright (C) 2019-2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Peter Eisentraut <peter@eisentraut.org>, 2019 - 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-05-11 15:50+0000\n" +"PO-Revision-Date: 2022-05-11 22:07+0200\n" +"Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n" +"Language-Team: German <pgsql-translators@postgresql.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../src/common/logging.c:277 +#, c-format +msgid "error: " +msgstr "Fehler: " + +#: ../../../src/common/logging.c:284 +#, c-format +msgid "warning: " +msgstr "Warnung: " + +#: ../../../src/common/logging.c:295 +#, c-format +msgid "detail: " +msgstr "Detail: " + +#: ../../../src/common/logging.c:302 +#, c-format +msgid "hint: " +msgstr "Tipp: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "Archivverzeichnis »%s« existiert nicht" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "konnte Datei »%s« nicht löschen: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "konnte Archivverzeichnis »%s« nicht lesen: %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "konnte Archivverzeichnis »%s« nicht schließen: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "konnte Archivverzeichnis »%s« nicht öffnen: %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "ungültiges Dateinamenargument" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Versuchen Sie »%s --help« für weitere Informationen." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s entfernt alte WAL-Dateien aus PostgreSQL-Archiven.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Aufruf:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... ARCHIVVERZEICHNIS ÄLTESTE-ZU-BEHALTENE-WALDATEI\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Optionen:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d Debug-Ausgaben erzeugen (Verbose-Modus)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n Probelauf, Namen der Dateien anzeigen, die entfernt würden\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x ERW Dateien mit dieser Erweiterung aufräumen\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Verwendung als archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVVERZ %%r'\n" +"z.B.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiv %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Oder alleinstehende Verwendung zum Aufräumen eines Archivs:\n" +"z.B.\n" +" pg_archivecleanup /mnt/server/archiv 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Berichten Sie Fehler an <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s Homepage: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "Archivverzeichnis muss angegeben werden" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "älteste zu behaltene WAL-Datei muss angegeben werden" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "zu viele Kommandozeilenargumente" diff --git a/src/bin/pg_archivecleanup/po/el.po b/src/bin/pg_archivecleanup/po/el.po new file mode 100644 index 0000000..5a1b7a6 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/el.po @@ -0,0 +1,189 @@ +# Greek message translation file for pg_archivecleanup +# Copyright (C) 2021 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# Georgios Kokolatos <gkokolatos@pm.me>, 2021 +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-04-12 16:50+0000\n" +"PO-Revision-Date: 2023-04-13 13:51+0200\n" +"Last-Translator: Georgios Kokolatos <gkokolatos@pm.me>\n" +"Language-Team: \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "σφάλμα: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "προειδοποίηση: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "λεπτομέρεια: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "υπόδειξη: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "η τοποθεσία της αρχειοθήκης «%s» δεν υπάρχει" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "δεν ήταν δυνατή η αφαίρεση του αρχείου «%s»: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "δεν ήταν δυνατή η ανάγνωση της τοποθεσίας αρχειοθήκης «%s»: %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "δεν ήταν δυνατό το κλείσιμο της τοποθεσίας αρχειοθήκης «%s»: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "δεν ήταν δυνατό το άνοιγμα της τοποθεσίας αρχειοθήκης «%s»: %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "μη έγκυρη παράμετρος ονόματος αρχείου" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s αφαιρεί παλαιότερα αρχεία WAL από αρχειοθήκες PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Χρήση:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [ΕΠΙΛΟΓΗ]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Επιλογές:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d δημιουργία εξόδου αποσφαλμάτωσης (περιφραστική λειτουργία)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n ξηρή λειτουργία, εμφάνιση των ονομάτων των αρχείων που θα αφαιρεθούν\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT εκκαθάριση αρχείων εάν περιέχουν αυτήν την επέκταση\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Για χρήση ως archive_cleanup_command στο postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [ΕΠΙΛΟΓΗ]... ARCHIVELOCATION %%r’\n" +"π.χ.\n" +" archive_cleanup_command = ‘pg_archivecleanup /mnt/διακομιστής/αρχειοθήκη %%r’\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Ή για χρήση ως αυτόνομο εκκαθαριστικό αρχειοθήκης:\n" +"π.χ.\n" +" pg_archivecleanup /mnt/server/archiverdir 0000000100000000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Υποβάλετε αναφορές σφάλματων σε <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s αρχική σελίδα: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "πρέπει να καθορίσετε τη τοποθεσία αρχειοθήκης" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "πρέπει να καθορίσετε το παλαιότερο κρατημένο αρχείο WAL" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών" + +#~ msgid "fatal: " +#~ msgstr "κρίσιμο: " diff --git a/src/bin/pg_archivecleanup/po/es.po b/src/bin/pg_archivecleanup/po/es.po new file mode 100644 index 0000000..902f4a8 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/es.po @@ -0,0 +1,185 @@ +# Spanish message translation file for pg_archivecleanup +# Copyright (c) 2017-2021, PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +# Carlos Chapi <carlos.chapi@2ndquadrant.com>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-05-22 07:21+0000\n" +"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n" +"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: BlackCAT 1.0\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "error: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "precaución: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalle: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "consejo: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "ubicación de archivador «%s» no existe" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "no se pudo eliminar el archivo «%s»: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "no se pudo leer la ubicación del archivador «%s»: %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "no se pudo cerrar la ubicación del archivador «%s»: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "no se pudo abrir la ubicación del archivador «%s»: %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "el nombre de archivo usado como argumento no es válido" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Pruebe «%s --help» para mayor información." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s elimina archivos de WAL antiguos del archivador de PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Empleo:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPCIÓN].... UBICACIÓNARCHIVADOR WALMÁSANTIGUOAMANTENER\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opciones:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d genera salida de depuración (modo verboso)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n simulacro, muestra el nombre de los archivos que se eliminarían\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version muestra información de la versión, luego sale\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT hace limpieza de archivos que tengan esta extensión\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help muestra esta ayuda, luego sale\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Para usar como archive_cleanup_command en postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPCIÓN]... UBICACIÓNARCHIVADOR %%r'\n" +"por ej.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/servidor/directorioarchivador %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"O para usar como un limpiador de archivador de forma independiente:\n" +"por ej.\n" +" pg_archivecleanup /mnt/servidor/directorioarchivador 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Reporte errores a <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Sitio web de %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "debe especificar la ubicación del archivador" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "debe especificar el fichero WAL más antiguo a mantener" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "demasiados argumentos de línea de órdenes" diff --git a/src/bin/pg_archivecleanup/po/fr.po b/src/bin/pg_archivecleanup/po/fr.po new file mode 100644 index 0000000..0ac310c --- /dev/null +++ b/src/bin/pg_archivecleanup/po/fr.po @@ -0,0 +1,218 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2017-2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_amcheck (PostgreSQL) package. +# +# Use these quotes: « %s » +# +# Guillaume Lelarge <guillaume@lelarge.info>, 2017-2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-04-12 05:16+0000\n" +"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n" +"Language-Team: French <guillaume@lelarge.info>\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.0.1\n" + +#: ../../../src/common/logging.c:273 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:280 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:291 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:298 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "l'emplacement d'archivage « %s » n'existe pas" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "n'a pas pu supprimer le fichier « %s » : %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "n'a pas pu lire l'emplacement de l'archive « %s » : %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "n'a pas pu fermer l'emplacement de l'archive « %s » : %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "n'a pas pu ouvrir l'emplacement de l'archive « %s » : %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "argument du nom de fichier invalide" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s supprime les anciens fichiers WAL des archives de PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... EMPLACEMENTARCHIVE PLUSANCIENFICHIERWALCONSERVÉ\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Options :\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d affiche des informations de débugage (mode verbeux)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n test, affiche le nom des fichiers qui seraient supprimés\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version et quitte\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT nettoie les fichiers s'ils ont cette extension\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide et quitte\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Pour utiliser comme archive_cleanup_command dans postgresql.conf :\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... EMPLACEMENTARCHIVE %%r'\n" +"Par exemple :\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/serveur/reparchives %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Ou pour utiliser comme nettoyeur autonome d'archives :\n" +"Par exemple :\n" +" pg_archivecleanup /mnt/serveur/reparchives 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapporter les bogues à <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "doit spécifier l'emplacement de l'archive" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "doit spécifier le plus ancien journal de transactions conservé" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "trop d'arguments en ligne de commande" + +#~ msgid "" +#~ "\n" +#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n" +#~ msgstr "" +#~ "\n" +#~ "Rapporter les bogues à <pgsql-bugs@lists.postgresql.org>.\n" + +#~ msgid "%s: ERROR: could not remove file \"%s\": %s\n" +#~ msgstr "%s : ERREUR : n'a pas pu supprimer le fichier « %s » : %s\n" + +#~ msgid "%s: file \"%s\" would be removed\n" +#~ msgstr "%s : le fichier « %s » serait supprimé\n" + +#~ msgid "%s: keeping WAL file \"%s\" and later\n" +#~ msgstr "%s : conservation du fichier WAL « %s » et des suivants\n" + +#~ msgid "%s: removing file \"%s\"\n" +#~ msgstr "%s : suppression du fichier « %s »\n" + +#~ msgid "%s: too many parameters\n" +#~ msgstr "%s : trop de paramètres\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" + +#, c-format +#~ msgid "fatal: " +#~ msgstr "fatal : " diff --git a/src/bin/pg_archivecleanup/po/it.po b/src/bin/pg_archivecleanup/po/it.po new file mode 100644 index 0000000..59f77c2 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/it.po @@ -0,0 +1,184 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-09-26 08:20+0000\n" +"PO-Revision-Date: 2023-09-05 08:03+0200\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: Domenico Sgarbossa <sgarbossa.domenico@gmail.com>\n" +"Language-Team: \n" +"X-Generator: Poedit 2.3\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "errore:" + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "avvertimento: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "dettaglio: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "suggerimento: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "il percorso di archiviazione \"%s\" non esiste" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "rimozione del file \"%s\" fallita: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "impossibile leggere la posizione dell'archivio \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "impossibile chiudere la posizione dell'archivio \"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "impossibile aprire la posizione dell'archivio \"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "argomento nome file non valido" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Prova \"%s --help\" per maggiori informazioni." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s rimuove i file WAL meno recenti dagli archivi PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Utilizzo:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr "%s [OPZIONE]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opzioni:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d genera output di debug (modalità dettagliata)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n dry run, mostra i nomi dei file che verrebbero rimossi\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V --version mostra informazioni sulla versione ed esci\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT ripulisce i file se hanno questa estensione\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help mostra questo aiuto ed esci\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Da utilizzare come archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPZIONE]... ARCHIVELOCATION %%r'\n" +"per esempio.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"O per l'uso come pulitore di archivi autonomo:\n" +"per esempio.\n" +" pg_archivecleanup /mnt/server/archiverdir 0000000100000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Segnala i bug a <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Pagina iniziale di %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "deve specificare la posizione dell'archivio" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "deve specificare il file WAL più vecchio conservato" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "troppi argomenti della riga di comando" diff --git a/src/bin/pg_archivecleanup/po/ja.po b/src/bin/pg_archivecleanup/po/ja.po new file mode 100644 index 0000000..ea705fb --- /dev/null +++ b/src/bin/pg_archivecleanup/po/ja.po @@ -0,0 +1,183 @@ +# Japanese message translation file for pg_archivecleanup +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL 16)\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-07-04 09:43+0900\n" +"PO-Revision-Date: 2023-07-04 09:48+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" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "エラー: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "詳細: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "ヒント: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "アーカイブの場所\"%s\"が存在しません" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "ファイル\"%s\"を削除できませんでした: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "アーカイブの場所\"%s\"を読み込めませんでした: %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "アーカイブの場所\"%s\"をクローズできませんでした: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "アーカイブの場所\"%s\"をオープンできませんでした: %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "ファイル名引数が無効です" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "詳細は\"%s --help\"を実行してください。" + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%sはPostgreSQLのアーカイブから古いWALファイルを削除します。\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "使用法:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr "%s [オプション] ... {アーカイブの場所} {保存する最古の WAL ファイル名}\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"オプション:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d デバッグ情報を出力(冗長モード)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n リハーサル、削除対象のファイル名を表示\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version バージョン情報を表示して、終了します\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT この拡張子を持つファイルを削除する\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help このヘルプを表示して、終了します\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"postgresql.confでarchive_cleanup_commandとして使用する場合は以下のようにします:\n" +" archive_cleanup_command = 'pg_archivecleanup [オプション]... アーカイブの場所 %%r'\n" +"例としては:\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"もしくはスタンドアロンのアーカイブクリーナーとして使う場合は:\n" +"使用例\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"バグは<%s>に報告してください。\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s ホームページ: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "アーカイブの場所を指定してください" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "保存する最古のWALファイルを指定してください" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "コマンドライン引数が多すぎます" diff --git a/src/bin/pg_archivecleanup/po/ka.po b/src/bin/pg_archivecleanup/po/ka.po new file mode 100644 index 0000000..6bfc887 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/ka.po @@ -0,0 +1,197 @@ +# Georgian message translation file for pg_archivecleanup +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-07-02 04:50+0000\n" +"PO-Revision-Date: 2022-07-04 09:06+0200\n" +"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n" +"Language-Team: Georgian <nothing>\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "შეცდომა: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "warning: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "დეტალები: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "მინიშნება: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "არქივის მდებარეობა არ არსებობს: %s" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "ფაილის წაშლის შეცდომა \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "არქივის მდებარეობის წაკითხვის შეცდომა\"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "არქივის მდებარეობის დაყენების შეცდომა\"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "არქივის მდებარეობის გახსნის შეცდომა\"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "ფაილის სახელის არასწორი არგუმენტი" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s PostgreSQL-ის არქივებიდან ძველი WAL ფაილების წაშლა.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "გამოყენება:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [პარამეტრი]... არქივისმდგომარეობა უძველესიშენახულიWALფაილი\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"პარამეტრები\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr "" +" -d, --debug გასამართი ინფორმაციის გენერაცია(verbose mode)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid "" +" -n dry run, show the names of the files that would be " +"removed\n" +msgstr "" +" -n მშრალი გაშვება. ფაილების წაშლის მაგიერ მხოლოდ მათი " +"სახელების ჩვენება\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version ვერსიის ჩვენება და გასვლა\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr "" +" -x EXT ფაილების გასუფთავება, თუ მათ ეს გაფართოება გააჩნიათ\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir " +"%%r'\n" +msgstr "" +"\n" +"გამოსაყენებლად, როგორც archive_cleanup_command postgresql.conf-ში: \n" +" archive_cleanup_command = 'pg_archivecleanup [პარამეტრი]... " +"არქივისმდებარეობა %%r'\n" +"მაგ: \n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir " +"%%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"ან ეული არქივის გამწმენდად გამოყენება:\n" +"მაგ:\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"შეცდომების შესახებ მიწერეთ: %s\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s-ის საწყისი გვერდია: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "არქივის მდებარეობის მითითება აუცილებელია" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "დატოვებული უძველესი WAL ფაილის მითითება აუცილებელია" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი" diff --git a/src/bin/pg_archivecleanup/po/ko.po b/src/bin/pg_archivecleanup/po/ko.po new file mode 100644 index 0000000..a4601e2 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/ko.po @@ -0,0 +1,189 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Ioseph Kim <ioseph@uri.sarang.net>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-07 05:51+0000\n" +"PO-Revision-Date: 2023-05-30 12:38+0900\n" +"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n" +"Language-Team: Korean <pgsql-kr@postgresql.kr>\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "오류: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "경고: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "\"%s\" 이름의 아카이브 위치가 없음" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "\"%s\" 파일을 삭제할 수 없음: %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "\"%s\" 아카이브 위치를 읽을 수 없음: %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "\"%s\" 아카이브 위치를 닫을 수 없음: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "\"%s\" 아카이브 위치를 열 수 없음: %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "잘못된 파일 이름 매개변수" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s 명령은 PostgreSQL 아카이브 보관소에서 오래된\n" +"WAL 파일을 지웁니다.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "사용법:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [옵션]... 아카이브위치 보관할제일오래된파일\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"옵션들:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d 보다 자세한 작업 내용 출력\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid "" +" -n dry run, show the names of the files that would be removed\n" +msgstr " -n 지울 대상만 확인하고 지우지는 않음\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 버전 정보를 보여주고 마침\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT 해당 확장자 파일들을 작업 대상으로 함\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 도움말을 보여주고 마침\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"postgresql.conf 파일에서 archive_cleanup_command 설정 방법:\n" +" archive_cleanup_command = 'pg_archivecleanup [옵션]... 아카이브위치 %%r'\n" +"사용예:\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"또는 명령행에서 독립적으로 사용하는 경우:\n" +"사용예:\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"문제점 보고 주소: <%s>\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 홈페이지: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "아카이브 위치는 지정해야 함" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "남길 가장 오래된 WAL 파일은 지정해야 함" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "너무 많은 명령행 인자를 지정했음" diff --git a/src/bin/pg_archivecleanup/po/meson.build b/src/bin/pg_archivecleanup/po/meson.build new file mode 100644 index 0000000..c6f33ed --- /dev/null +++ b/src/bin/pg_archivecleanup/po/meson.build @@ -0,0 +1,3 @@ +# Copyright (c) 2022-2023, PostgreSQL Global Development Group + +nls_targets += [i18n.gettext('pg_archivecleanup-' + pg_version_major.to_string())] diff --git a/src/bin/pg_archivecleanup/po/pl.po b/src/bin/pg_archivecleanup/po/pl.po new file mode 100644 index 0000000..0b5e9d4 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/pl.po @@ -0,0 +1,178 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# grzegorz <begina.felicysym@wp.eu>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 10\n" +"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" +"POT-Creation-Date: 2017-03-14 17:45+0000\n" +"PO-Revision-Date: 2017-03-14 19:43+0200\n" +"Last-Translator: grzegorz <begina.felicysym@wp.eu>\n" +"Language-Team: begina.felicysym@wp.eu\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Virtaal 0.7.1\n" + +#: pg_archivecleanup.c:73 +#, c-format +msgid "%s: archive location \"%s\" does not exist\n" +msgstr "%s: lokacja archiwum \"%s\" nie istnieje\n" + +#: pg_archivecleanup.c:149 +#, c-format +msgid "%s: file \"%s\" would be removed\n" +msgstr "%s: plik \"%s\" zostanie usunięty\n" + +#: pg_archivecleanup.c:155 +#, c-format +msgid "%s: removing file \"%s\"\n" +msgstr "%s: usuwanie pliku \"%s\"\n" + +#: pg_archivecleanup.c:161 +#, c-format +msgid "%s: ERROR: could not remove file \"%s\": %s\n" +msgstr "%s: BŁĄD: nie dało się usunąć pliku \"%s\": %s\n" + +#: pg_archivecleanup.c:169 +#, c-format +msgid "%s: could not read archive location \"%s\": %s\n" +msgstr "%s: nie można czytać z lokacji archiwum \"%s\": %s\n" + +#: pg_archivecleanup.c:172 +#, c-format +msgid "%s: could not close archive location \"%s\": %s\n" +msgstr "%s: nie można zamknąć lokacji archiwum \"%s\": %s\n" + +#: pg_archivecleanup.c:176 +#, c-format +msgid "%s: could not open archive location \"%s\": %s\n" +msgstr "%s: nie można otworzyć lokacji archiwum \"%s\": %s\n" + +#: pg_archivecleanup.c:249 +#, c-format +msgid "%s: invalid filename input\n" +msgstr "%s: niepoprawna nazwa pliku wejścia\n" + +#: pg_archivecleanup.c:250 pg_archivecleanup.c:322 pg_archivecleanup.c:343 +#: pg_archivecleanup.c:355 pg_archivecleanup.c:362 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Użyj \"%s --help\" aby uzyskać więcej informacji.\n" + +#: pg_archivecleanup.c:263 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s usuwa starsze pliki WAL z archiwów PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:264 +#, c-format +msgid "Usage:\n" +msgstr "Składnia:\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPCJA]... LOKACJAARCHIWUM NAJSTARSZYZACHOWANYPLIKWAL\n" + +#: pg_archivecleanup.c:266 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opcje:\n" + +#: pg_archivecleanup.c:267 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d generuje informacje diagnostyczne (trym rozgadany)\n" + +#: pg_archivecleanup.c:268 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n przebieg próbny, pokazuje nazwy plików do usunięcia\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version wypisuje informacje o wersji i kończy\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT czyści pliki jeśli mają takie rozszerzenie\n" + +#: pg_archivecleanup.c:271 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help pokazuje ten ekran pomocy i kończy\n" + +#: pg_archivecleanup.c:272 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in recovery.conf when standby_mode = on:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Do użycia jako archive_cleanup_command w recovery.conf kiedy standby_mode = " +"on:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPCJA]... LOKACJAARCHIWUM %%" +"r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:277 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Lub by użyć podczas samodzielnego czyszczenia archiwów:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:281 +#, c-format +msgid "" +"\n" +"Report bugs to <pgsql-bugs@postgresql.org>.\n" +msgstr "" +"\n" +"Błędy proszę przesyłać na adres <pgsql-bugs@postgresql.org>.\n" + +#: pg_archivecleanup.c:342 +#, c-format +msgid "%s: must specify archive location\n" +msgstr "%s: wymagane wskazanie lokacji archiwum\n" + +#: pg_archivecleanup.c:354 +#, c-format +msgid "%s: must specify restartfilename\n" +msgstr "%s: wymagane wskazanie nazwy pliku restartu\n" + +#: pg_archivecleanup.c:361 +#, c-format +msgid "%s: too many parameters\n" +msgstr "%s: za dużo parametrów\n" + +#: pg_archivecleanup.c:380 +#, c-format +msgid "%s: keep WAL file \"%s\" and later\n" +msgstr "%s: zachowaj plik WAL \"%s\" a następnie\n" diff --git a/src/bin/pg_archivecleanup/po/pt_BR.po b/src/bin/pg_archivecleanup/po/pt_BR.po new file mode 100644 index 0000000..9e6eb51 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/pt_BR.po @@ -0,0 +1,185 @@ +# Brazilian Portuguese message translation file for pg_archivecleanup + +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. + +# Euler Taveira <euler@eulerto.com>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-09-27 13:15-0300\n" +"PO-Revision-Date: 2023-08-17 16:32+0200\n" +"Last-Translator: Euler Taveira <euler@eulerto.com>\n" +"Language-Team: Brazilian Portuguese <pgsql-translators@postgresql.org>\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erro: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "aviso: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalhe: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "dica: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "local da cópia de segurança \"%s\" não existe" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "não pôde remover arquivo \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "não pôde ler local da cópia de segurança \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "não pôde fechar local da cópia de segurança \"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "não pôde abrir local da cópia de segurança \"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "argumento de nome de arquivo é inválido" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Tente \"%s --help\" para obter informações adicionais." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s remove arquivos mais antigos do WAL da cópia de segurança do PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Uso:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPÇÃO]... LOCALARCHIVE ARQUIVOWALMAISANTIGO\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opções:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d gera saída de depuração (modo detalhe)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n execução simulada, mostra os nomes dos arquivos que seriam removidos\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version mostra informação sobre a versão e termina\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT limpa arquivos se eles têm esta extensão\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help mostra essa ajuda e termina\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Para usar com archive_cleanup_command no postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPÇÃO]... LOCALARCHIVE %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Ou para usar como um limpador autônomo da cópia de segurança:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Relate erros a <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Página web do %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "deve especificar local da cópia de segurança" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "deve especificar o arquvo do WAL mais antigo a ser mantido" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "muitos argumentos de linha de comando" diff --git a/src/bin/pg_archivecleanup/po/ru.po b/src/bin/pg_archivecleanup/po/ru.po new file mode 100644 index 0000000..c28de42 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/ru.po @@ -0,0 +1,212 @@ +# Russian message translation file for pg_archivecleanup +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2019, 2020, 2022. +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 10\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"PO-Revision-Date: 2022-09-05 13:34+0300\n" +"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" +"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "ошибка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "предупреждение: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "подробности: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "подсказка: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "расположение архива \"%s\" не существует" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "не удалось стереть файл \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "не удалось прочитать расположение архива \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "не удалось закрыть расположение архива \"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "не удалось открыть расположение архива \"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "неверный аргумент с именем файла" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Для дополнительной информации попробуйте \"%s --help\"." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s удаляет старые файлы WAL из архивов PostgreSQL.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Использование:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr "" +" %s [ПАРАМЕТР]... РАСПОЛОЖЕНИЕ_АРХИВА СТАРЕЙШИЙ_СОХРАНЯЕМЫЙ_ФАЙЛ_WAL\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Параметры:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d генерировать подробные сообщения (отладочный режим)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid "" +" -n dry run, show the names of the files that would be removed\n" +msgstr "" +" -n холостой запуск, только показать имена файлов, которые " +"будут удалены\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" + +# well-spelled: РСШ +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x РСШ убрать файлы с заданным расширением\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"Для использования в качестве archive_cleanup_command в postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [ПАРАМЕТР]... " +"РАСПОЛОЖЕНИЕ_АРХИВА %%r'\n" +"например:\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Либо для использования в качестве отдельного средства очистки архива,\n" +"например:\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Об ошибках сообщайте по адресу <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашняя страница %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "необходимо задать расположение архива" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "необходимо задать имя старейшего сохраняемого файла WAL" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "слишком много аргументов командной строки" + +#~ msgid "fatal: " +#~ msgstr "важно: " + +#~ msgid "" +#~ "\n" +#~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n" +#~ msgstr "" +#~ "\n" +#~ "Об ошибках сообщайте по адресу <pgsql-bugs@lists.postgresql.org>.\n" + +#~ msgid "%s: file \"%s\" would be removed\n" +#~ msgstr "%s: файл \"%s\" не будет удалён\n" + +#~ msgid "%s: removing file \"%s\"\n" +#~ msgstr "%s: удаление файла \"%s\"\n" + +#~ msgid "%s: keeping WAL file \"%s\" and later\n" +#~ msgstr "%s: будет сохранён файл WAL \"%s\" и последующие\n" diff --git a/src/bin/pg_archivecleanup/po/sv.po b/src/bin/pg_archivecleanup/po/sv.po new file mode 100644 index 0000000..6cebbc1 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/sv.po @@ -0,0 +1,184 @@ +# Swedish message translation file for pg_archivecleanup +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-04-11 13:50+0000\n" +"PO-Revision-Date: 2022-04-11 16:06+0200\n" +"Last-Translator: FDennis 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:268 +#, c-format +msgid "error: " +msgstr "fel: " + +#: ../../../src/common/logging.c:275 +#, c-format +msgid "warning: " +msgstr "varning: " + +#: ../../../src/common/logging.c:284 +#, c-format +msgid "detail: " +msgstr "detalj: " + +#: ../../../src/common/logging.c:287 +#, c-format +msgid "hint: " +msgstr "tips: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "arkivplats \"%s\" finns inte" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "kunde inte ta bort fil \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "kunde inte läsa arkivplats \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "kunde inte stänga arkivplats \"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "kunde inte öppna arkivplats \"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "ogiltigt filnamnsargument" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Försök med \"%s --help\" för mer information." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s tar bort gamla WAL-filer från PostgreSQLs arkiv.\n" +"\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Användning:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [FLAGGA]... ARKIVPLATS ÄLDSTASPARADEWALFIL\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Flaggor:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d generera debugutskrift (utförligt läge)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n gör inga ändringar visa namn på de filer som skulle ha tagits bort\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x SUF städa upp filer om de har detta suffix\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa denna hjälp, avsluta sedan\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"För att använda som archive_cleanup_command i postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [FLAGGA]... ARKIVPLATS %%r'\n" +"t.ex.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Eller för att använda som en separat arkivstädare:\n" +"t.ex.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapportera fel till <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "hemsida för %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "måste ange en arkivplats" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "måste ange äldsta sparade WAL-filen" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "för många kommandoradsargument" diff --git a/src/bin/pg_archivecleanup/po/tr.po b/src/bin/pg_archivecleanup/po/tr.po new file mode 100644 index 0000000..fac3be6 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/tr.po @@ -0,0 +1,185 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (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: 2021-09-16 09:39+0200\n" +"Last-Translator: \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" + +#: ../../../src/fe_utils/logging.c:182 +#, c-format +msgid "fatal: " +msgstr "ölümcül (fatal): " + +#: ../../../src/fe_utils/logging.c:189 +#, c-format +msgid "error: " +msgstr "hata: " + +#: ../../../src/fe_utils/logging.c:196 +#, c-format +msgid "warning: " +msgstr "uyarı: " + +#: pg_archivecleanup.c:68 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "\"%s\" arşiv lokasyonu mevcut değil" + +#: pg_archivecleanup.c:153 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "\"%s\" dosyası silinemedi: %m" + +#: pg_archivecleanup.c:161 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "\"%s\" arşiv lokasyonu okunamadı: %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "\"%s\" arşiv lokasyonu kapatılamadı: %m" + +#: pg_archivecleanup.c:168 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "\"%s\" arşiv lokasyonu açılamadı: %m" + +#: pg_archivecleanup.c:241 +#, c-format +msgid "invalid file name argument" +msgstr "geçersiz dosya adı argümanı" + +#: pg_archivecleanup.c:242 pg_archivecleanup.c:315 pg_archivecleanup.c:336 +#: pg_archivecleanup.c:348 pg_archivecleanup.c:355 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Daha fazla bilgi için \"%s --help\" yazın\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "%s daha eski WAL dosyalarını PostgreSQL arşivlerinden kaldırır.\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid "Usage:\n" +msgstr "Kullanımı:\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [SECENEK]... ARSIVLOKASYONU TUTULANENESKIWALDOSYASI\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Seçenekler:\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d hata ayıklama çıktısı oluştur (ayrıntılı açıklamalı mod)\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n tatbikat modu, sadece kaldırılacak dosyaların adlarını göster\n" + +#: pg_archivecleanup.c:261 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version sürüm bilgisini göster, sonra çık\n" + +#: pg_archivecleanup.c:262 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT bu uzantıya sahip dosyaları temizle\n" + +#: pg_archivecleanup.c:263 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help bu yardımı göster, sonra çık\n" + +#: pg_archivecleanup.c:264 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"postgresql.conf'da archive_cleanup_command olarak kullanmak için:\n" +" archive_cleanup_command = 'pg_archivecleanup [SECENEK]... ARSIVLOKASYONU %%r'\n" +"örnek:\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +"\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Veya bağımsız bir arşiv temizleyici olarak kullanmak için: \n" +"örnek:\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:273 +#, 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_archivecleanup.c:335 +#, c-format +msgid "must specify archive location" +msgstr "arşiv lokasyonu belirtilmeli" + +#: pg_archivecleanup.c:347 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "tutulan en eski WAL dosyası belirtilmeli" + +#: pg_archivecleanup.c:354 +#, c-format +msgid "too many command-line arguments" +msgstr "çok fazla komut-satırı argümanı" + +#~ msgid "%s: keeping WAL file \"%s\" and later\n" +#~ msgstr "%s: \"%s\" ve sonrasındaki WAl dosyaları tutuluyor\n" + +#~ msgid "%s: ERROR: could not remove file \"%s\": %s\n" +#~ msgstr "%s: HATA: \"%s\" dosyası kaldırılamadı: %s\n" + +#~ msgid "%s: removing file \"%s\"\n" +#~ msgstr "%s: \"%s\" dosyası kaldırılıyor\n" + +#~ msgid "%s: file \"%s\" would be removed\n" +#~ msgstr "%s: \"%s\" dosyası kaldırılacak\n" diff --git a/src/bin/pg_archivecleanup/po/uk.po b/src/bin/pg_archivecleanup/po/uk.po new file mode 100644 index 0000000..120f799 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/uk.po @@ -0,0 +1,173 @@ +msgid "" +msgstr "" +"Project-Id-Version: postgresql\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-08-12 10:51+0000\n" +"PO-Revision-Date: 2022-09-13 11:52\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: postgresql\n" +"X-Crowdin-Project-ID: 324573\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /REL_15_STABLE/pg_archivecleanup.pot\n" +"X-Crowdin-File-ID: 898\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "помилка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "попередження: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "деталі: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "підказка: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "архівного розташування \"%s\" не існує" + +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "не можливо видалити файл \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "не вдалося прочитати архівне розташування \"%s\":%m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "не вдалося закрити архівне розташування \"%s\":%m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "не вдалося відкрити архівне розташування \"%s\":%m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "недійсна назва файла з аргументом" + +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Спробуйте \"%s --help\" для додаткової інформації." + +#: pg_archivecleanup.c:251 +#, c-format +msgid "%s removes older WAL files from PostgreSQL archives.\n\n" +msgstr "%s видаляє старі WAL-файли з архівів PostgreSQL.\n\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "Використання:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... РОЗТАШУВАННЯ_АРХІВА НАЙДАВНІШИЙ_ЗБЕРЕЖЕНИЙ_WAL_ФАЙЛ\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "\n" +"Options:\n" +msgstr "\n" +"Параметри:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d генерує налагоджувальні повідомлення (детальний режим)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n сухий запуск, показує тільки ті файли, які будуть видалені\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показати версію, потім вийти\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT прибрати файли з цим розширенням\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю довідку, потім вийти\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "\n" +"Для використання як archive_cleanup_command у postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"напр.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "\n" +"Або для використання в якості окремого засобу для чистки архівів,\n" +"наприклад:\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "\n" +"Report bugs to <%s>.\n" +msgstr "\n" +"Повідомляти про помилки на <%s>.\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашня сторінка %s: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "необхідно вказати розташування архіва" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "необхідно вказати найдавніший збережений WAL-файл" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "занадто багато аргументів командного рядка" + diff --git a/src/bin/pg_archivecleanup/po/vi.po b/src/bin/pg_archivecleanup/po/vi.po new file mode 100644 index 0000000..e35f818 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/vi.po @@ -0,0 +1,183 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2018 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# FIRST AUTHOR <kakalot49@gmail.com>, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 11\n" +"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" +"POT-Creation-Date: 2018-04-23 02:27+0900\n" +"PO-Revision-Date: 2018-05-04 22:03+0900\n" +"Language-Team: <pgvn_translators@postgresql.vn>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: vi_VN\n" + +#: pg_archivecleanup.c:72 +#, c-format +msgid "%s: archive location \"%s\" does not exist\n" +msgstr "%s: vị trí lưu trữ \"%s\" không tồn tại\n" + +#: pg_archivecleanup.c:148 +#, c-format +msgid "%s: file \"%s\" would be removed\n" +msgstr "%s: tệp \"%s\" sẽ bị xóa\n" + +#: pg_archivecleanup.c:154 +#, c-format +msgid "%s: removing file \"%s\"\n" +msgstr "%s: đang xóa tệp \"%s\"\n" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "%s: ERROR: could not remove file \"%s\": %s\n" +msgstr "%s: LỖI: không thể xóa tệp \"%s\": %s\n" + +#: pg_archivecleanup.c:168 +#, c-format +msgid "%s: could not read archive location \"%s\": %s\n" +msgstr "%s: không thể đọc vị trí lưu trữ \"%s\": %s\n" + +#: pg_archivecleanup.c:171 +#, c-format +msgid "%s: could not close archive location \"%s\": %s\n" +msgstr "%s: không thể đóng vị trí lưu trữ \"%s\": %s\n" + +#: pg_archivecleanup.c:175 +#, c-format +msgid "%s: could not open archive location \"%s\": %s\n" +msgstr "%s: không thể mở vị trí lưu trữ \"%s\": %s\n" + +#: pg_archivecleanup.c:248 +#, c-format +msgid "%s: invalid file name argument\n" +msgstr "%s: đối số tên tệp không hợp lệ\n" + +#: pg_archivecleanup.c:249 pg_archivecleanup.c:321 pg_archivecleanup.c:342 +#: pg_archivecleanup.c:354 pg_archivecleanup.c:361 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n" + +#: pg_archivecleanup.c:262 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "%s xóa các tệp WAL cũ hơn khỏi lưu trữ PostgreSQL.\n" + +#: pg_archivecleanup.c:263 +#, c-format +msgid "Usage:\n" +msgstr "Cách sử dụng:\n" + +#: pg_archivecleanup.c:264 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [Tùy chọn]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Tùy chọn:\n" + +#: pg_archivecleanup.c:266 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d xuất debug log (chế độ chi tiết)\n" + +#: pg_archivecleanup.c:267 +#, c-format +msgid "" +" -n dry run, show the names of the files that would be " +"removed\n" +msgstr " -n chạy khô, hiển thị tên của các tệp sẽ bị xóa\n" + +#: pg_archivecleanup.c:268 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version xuất thông tin bản, sau đó kết thúc\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT dọn dẹp các tập tin nếu chúng có phần mở rộng này\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help hiển thị trợ giúp này, sau đó thoát\n" + +#: pg_archivecleanup.c:271 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in recovery.conf when standby_mode = " +"on:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir " +"%%r'\n" +msgstr "" +"\n" +"Để sử dụng như archive_cleanup_command trong recovery.conf khi " +"standby_mode = on:\n" +" archive_cleanup_command = 'pg_archivecleanup [TÙY CHỌN] ... " +"ARCHIVELOCATION %%r'\n" +"ví dụ.\n" +" archive_cleanup_command = 'pg_archivecleanup/mnt/server/archiverdir " +"%%r'\n" + +#: pg_archivecleanup.c:276 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"Hoặc để sử dụng như một trình dọn dẹp lưu trữ độc lập:\n" +"ví dụ.\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:280 +#, c-format +msgid "" +"\n" +"Report bugs to <pgsql-bugs@postgresql.org>.\n" +msgstr "" +"\n" +"Báo cáo bugs qua email <pgsql-bugs@postgresql.org>.\n" + +#: pg_archivecleanup.c:341 +#, c-format +msgid "%s: must specify archive location\n" +msgstr "%s: phải chỉ định vị trí lưu trữ\n" + +#: pg_archivecleanup.c:353 +#, c-format +msgid "%s: must specify oldest kept WAL file\n" +msgstr "%s: phải chỉ định tệp WAL được giữ lâu nhất\n" + +#: pg_archivecleanup.c:360 +#, c-format +msgid "%s: too many command-line arguments\n" +msgstr "%s: có quá nhiều đối số dòng lệnh\n" + +#: pg_archivecleanup.c:379 +#, c-format +msgid "%s: keeping WAL file \"%s\" and later\n" +msgstr "%s: giữ tệp WAL \"%s\" và những tệp tiếp theo\n" diff --git a/src/bin/pg_archivecleanup/po/zh_CN.po b/src/bin/pg_archivecleanup/po/zh_CN.po new file mode 100644 index 0000000..e8c3348 --- /dev/null +++ b/src/bin/pg_archivecleanup/po/zh_CN.po @@ -0,0 +1,179 @@ +# LANGUAGE message translation file for pg_archivecleanup +# Copyright (C) 2019 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# FIRST AUTHOR <zhangjie2@fujitsu.com>, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 14\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2021-08-14 05:48+0000\n" +"PO-Revision-Date: 2021-08-14 19:40+0800\n" +"Last-Translator: Jie Zhang <zhangjie2@fujitsu.com>\n" +"Language-Team: Chinese (Simplified) <zhangjie2@fujitsu.com>\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../src/common/logging.c:259 +#, c-format +msgid "fatal: " +msgstr "致命的: " + +#: ../../../src/common/logging.c:266 +#, c-format +msgid "error: " +msgstr "错误: " + +#: ../../../src/common/logging.c:273 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "存档位置\"%s\"不存在" + +#: pg_archivecleanup.c:152 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "无法删除文件 \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "无法读取存档位置\"%s\": %m" + +#: pg_archivecleanup.c:163 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "无法关闭存档位置 \"%s\": %m" + +#: pg_archivecleanup.c:167 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "无法打开存档位置\"%s\": %m" + +#: pg_archivecleanup.c:240 +#, c-format +msgid "invalid file name argument" +msgstr "文件名参数无效" + +#: pg_archivecleanup.c:241 pg_archivecleanup.c:315 pg_archivecleanup.c:336 +#: pg_archivecleanup.c:348 pg_archivecleanup.c:355 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "请用 \"%s --help\" 获取更多的信息.\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "" +"%s 从PostgreSQL存档中删除旧的WAL文件.\n" +"\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid "Usage:\n" +msgstr "使用方法:\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... 归档文件位置 最早保存的WAL文件\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"选项:\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d 生成调试输出(详细模式)\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n dry运行,显示要删除的文件的名称\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 输出版本信息,然后退出\n" + +#: pg_archivecleanup.c:261 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT 如果文件具有此扩展名,则清除文件\n" + +#: pg_archivecleanup.c:262 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 显示帮助信息,然后退出\n" + +#: pg_archivecleanup.c:263 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"在postgresql.conf中,archive_cleanup_command的用法 \n" +" archive_cleanup_command = 'pg_archivecleanup [选项]... 存档位置 %%r'\n" +"例.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:268 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"或者,用作独立存档清理程序:\n" +"例.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:272 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"臭虫报告至<%s>.\n" + +#: pg_archivecleanup.c:273 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 主页: <%s>\n" + +#: pg_archivecleanup.c:335 +#, c-format +msgid "must specify archive location" +msgstr "必须指定存档位置" + +#: pg_archivecleanup.c:347 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "必须指定最早保存的WAL文件" + +#: pg_archivecleanup.c:354 +#, c-format +msgid "too many command-line arguments" +msgstr "命令行参数太多" + diff --git a/src/bin/pg_archivecleanup/po/zh_TW.po b/src/bin/pg_archivecleanup/po/zh_TW.po new file mode 100644 index 0000000..b793aba --- /dev/null +++ b/src/bin/pg_archivecleanup/po/zh_TW.po @@ -0,0 +1,185 @@ +# Traditional Chinese message translation file for pg_archivecleanup +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-11 20:51+0000\n" +"PO-Revision-Date: 2023-11-06 08:49+0800\n" +"Last-Translator: Zhenbang Wei <znbang@gmail.com>\n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.1\n" + +# libpq/be-secure.c:294 libpq/be-secure.c:387 +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "錯誤: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "詳細內容: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "提示: " + +#: pg_archivecleanup.c:66 +#, c-format +msgid "archive location \"%s\" does not exist" +msgstr "封存檔位置 \"%s\" 不存在" + +# access/transam/xlog.c:1944 access/transam/xlog.c:5453 +# access/transam/xlog.c:5607 postmaster/postmaster.c:3504 +#: pg_archivecleanup.c:151 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "無法刪除檔案 \"%s\": %m" + +#: pg_archivecleanup.c:157 +#, c-format +msgid "could not read archive location \"%s\": %m" +msgstr "無法讀取封存檔位置 \"%s\": %m" + +#: pg_archivecleanup.c:160 +#, c-format +msgid "could not close archive location \"%s\": %m" +msgstr "無法關閉封存檔位置 \"%s\": %m" + +#: pg_archivecleanup.c:164 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "無法開啟封存檔位置 \"%s\": %m" + +#: pg_archivecleanup.c:237 +#, c-format +msgid "invalid file name argument" +msgstr "無效的檔案名稱參數" + +# tcop/postgres.c:2636 tcop/postgres.c:2652 +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "用 \"%s --help\" 取得更多資訊。" + +#: pg_archivecleanup.c:251 +#, c-format +msgid "" +"%s removes older WAL files from PostgreSQL archives.\n" +"\n" +msgstr "%s 從 PostgreSQL 封存檔中移除較舊的 WAL 檔\n" + +#: pg_archivecleanup.c:252 +#, c-format +msgid "Usage:\n" +msgstr "用法:\n" + +#: pg_archivecleanup.c:253 +#, c-format +msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" +msgstr " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" + +#: pg_archivecleanup.c:254 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"選項:\n" + +#: pg_archivecleanup.c:255 +#, c-format +msgid " -d generate debug output (verbose mode)\n" +msgstr " -d 產生除錯輸出(詳細模式)\n" + +#: pg_archivecleanup.c:256 +#, c-format +msgid " -n dry run, show the names of the files that would be removed\n" +msgstr " -n 模擬執行,顯示將被移除的檔案名稱\n" + +#: pg_archivecleanup.c:257 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" + +#: pg_archivecleanup.c:258 +#, c-format +msgid " -x EXT clean up files if they have this extension\n" +msgstr " -x EXT 清除有此副檔名的檔案\n" + +#: pg_archivecleanup.c:259 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: pg_archivecleanup.c:260 +#, c-format +msgid "" +"\n" +"For use as archive_cleanup_command in postgresql.conf:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"e.g.\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" +msgstr "" +"\n" +"用於 postgresql.conf 中的 archive_cleanup_command:\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" +"例如:\n" +" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" + +#: pg_archivecleanup.c:265 +#, c-format +msgid "" +"\n" +"Or for use as a standalone archive cleaner:\n" +"e.g.\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" +msgstr "" +"\n" +"或者作為獨立的封存檔清理工具使用:\n" +"例如:\n" +" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" + +#: pg_archivecleanup.c:269 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"回報錯誤至 <%s>。\n" + +#: pg_archivecleanup.c:270 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 網站: <%s>\n" + +#: pg_archivecleanup.c:332 +#, c-format +msgid "must specify archive location" +msgstr "必需指定封存檔位置" + +#: pg_archivecleanup.c:344 +#, c-format +msgid "must specify oldest kept WAL file" +msgstr "必須指定最早保留的 WAL 檔" + +#: pg_archivecleanup.c:351 +#, c-format +msgid "too many command-line arguments" +msgstr "命令列參數過多" diff --git a/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl new file mode 100644 index 0000000..cc3386d --- /dev/null +++ b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl @@ -0,0 +1,107 @@ + +# Copyright (c) 2021-2023, PostgreSQL Global Development Group + +use strict; +use warnings; +use PostgreSQL::Test::Utils; +use Test::More; + +program_help_ok('pg_archivecleanup'); +program_version_ok('pg_archivecleanup'); +program_options_handling_ok('pg_archivecleanup'); + +my $tempdir = PostgreSQL::Test::Utils::tempdir; + +my @walfiles = ( + '00000001000000370000000C.gz', '00000001000000370000000D', + '00000001000000370000000E', '00000001000000370000000F.partial',); + +sub create_files +{ + foreach my $fn (@walfiles, 'unrelated_file') + { + open my $file, '>', "$tempdir/$fn"; + print $file 'CONTENT'; + close $file; + } + return; +} + +create_files(); + +command_fails_like( + ['pg_archivecleanup'], + qr/must specify archive location/, + 'fails if archive location is not specified'); + +command_fails_like( + [ 'pg_archivecleanup', $tempdir ], + qr/must specify oldest kept WAL file/, + 'fails if oldest kept WAL file name is not specified'); + +command_fails_like( + [ 'pg_archivecleanup', 'notexist', 'foo' ], + qr/archive location .* does not exist/, + 'fails if archive location does not exist'); + +command_fails_like( + [ 'pg_archivecleanup', $tempdir, 'foo', 'bar' ], + qr/too many command-line arguments/, + 'fails with too many command-line arguments'); + +command_fails_like( + [ 'pg_archivecleanup', $tempdir, 'foo' ], + qr/invalid file name argument/, + 'fails with invalid restart file name'); + +{ + # like command_like but checking stderr + my $stderr; + my $result = + IPC::Run::run [ 'pg_archivecleanup', '-d', '-n', $tempdir, + $walfiles[2] ], + '2>', \$stderr; + ok($result, "pg_archivecleanup dry run: exit code 0"); + like( + $stderr, + qr/$walfiles[1].*would be removed/, + "pg_archivecleanup dry run: matches"); + foreach my $fn (@walfiles) + { + ok(-f "$tempdir/$fn", "$fn not removed"); + } +} + +sub run_check +{ + local $Test::Builder::Level = $Test::Builder::Level + 1; + + my ($suffix, $test_name) = @_; + + create_files(); + + command_ok( + [ + 'pg_archivecleanup', '-x', '.gz', $tempdir, + $walfiles[2] . $suffix + ], + "$test_name: runs"); + + ok(!-f "$tempdir/$walfiles[0]", + "$test_name: first older WAL file was cleaned up"); + ok(!-f "$tempdir/$walfiles[1]", + "$test_name: second older WAL file was cleaned up"); + ok(-f "$tempdir/$walfiles[2]", + "$test_name: restartfile was not cleaned up"); + ok(-f "$tempdir/$walfiles[3]", + "$test_name: newer WAL file was not cleaned up"); + ok(-f "$tempdir/unrelated_file", + "$test_name: unrelated file was not cleaned up"); + return; +} + +run_check('', 'pg_archivecleanup'); +run_check('.partial', 'pg_archivecleanup with .partial file'); +run_check('.00000020.backup', 'pg_archivecleanup with .backup file'); + +done_testing(); |