Unify some error messages to ease work of translators
authorMichael Paquier <michael@paquier.xyz>
Wed, 4 Sep 2024 05:53:18 +0000 (14:53 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 4 Sep 2024 05:53:18 +0000 (14:53 +0900)
This commit updates a couple of error messages around control file data,
GUCs and server settings, unifying to the same message where possible.
This reduces the translation burden a bit.

Author: Peter Smith
Discussion: https://postgr.es/m/CAHut+Pv-kSN8SkxSdoHano_wPubqcg5789ejhCDZAcLFceBR-w@mail.gmail.com

src/backend/access/transam/xlog.c
src/backend/commands/variable.c
src/backend/storage/file/fd.c
src/backend/utils/fmgr/dfmgr.c

index c1def6fdf52da4b4b3afaf42c13a5c6e5a8ebeb3..e96aa4d1cb15ad9a4a10aadd95954207a9d7e130 100644 (file)
@@ -4395,17 +4395,21 @@ ReadControlFile(void)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with CATALOG_VERSION_NO %d,"
-                          " but the server was compiled with CATALOG_VERSION_NO %d.",
-                          ControlFile->catalog_version_no, CATALOG_VERSION_NO),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "CATALOG_VERSION_NO", ControlFile->catalog_version_no,
+                          "CATALOG_VERSION_NO", CATALOG_VERSION_NO),
                 errhint("It looks like you need to initdb.")));
    if (ControlFile->maxAlign != MAXIMUM_ALIGNOF)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with MAXALIGN %d,"
-                          " but the server was compiled with MAXALIGN %d.",
-                          ControlFile->maxAlign, MAXIMUM_ALIGNOF),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "MAXALIGN", ControlFile->maxAlign,
+                          "MAXALIGN", MAXIMUM_ALIGNOF),
                 errhint("It looks like you need to initdb.")));
    if (ControlFile->floatFormat != FLOATFORMAT_VALUE)
        ereport(FATAL,
@@ -4417,57 +4421,71 @@ ReadControlFile(void)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with BLCKSZ %d,"
-                          " but the server was compiled with BLCKSZ %d.",
-                          ControlFile->blcksz, BLCKSZ),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "BLCKSZ", ControlFile->blcksz,
+                          "BLCKSZ", BLCKSZ),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->relseg_size != RELSEG_SIZE)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with RELSEG_SIZE %d,"
-                          " but the server was compiled with RELSEG_SIZE %d.",
-                          ControlFile->relseg_size, RELSEG_SIZE),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "RELSEG_SIZE", ControlFile->relseg_size,
+                          "RELSEG_SIZE", RELSEG_SIZE),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->xlog_blcksz != XLOG_BLCKSZ)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with XLOG_BLCKSZ %d,"
-                          " but the server was compiled with XLOG_BLCKSZ %d.",
-                          ControlFile->xlog_blcksz, XLOG_BLCKSZ),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "XLOG_BLCKSZ", ControlFile->xlog_blcksz,
+                          "XLOG_BLCKSZ", XLOG_BLCKSZ),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->nameDataLen != NAMEDATALEN)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with NAMEDATALEN %d,"
-                          " but the server was compiled with NAMEDATALEN %d.",
-                          ControlFile->nameDataLen, NAMEDATALEN),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "NAMEDATALEN", ControlFile->nameDataLen,
+                          "NAMEDATALEN", NAMEDATALEN),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->indexMaxKeys != INDEX_MAX_KEYS)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with INDEX_MAX_KEYS %d,"
-                          " but the server was compiled with INDEX_MAX_KEYS %d.",
-                          ControlFile->indexMaxKeys, INDEX_MAX_KEYS),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "INDEX_MAX_KEYS", ControlFile->indexMaxKeys,
+                          "INDEX_MAX_KEYS", INDEX_MAX_KEYS),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->toast_max_chunk_size != TOAST_MAX_CHUNK_SIZE)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d,"
-                          " but the server was compiled with TOAST_MAX_CHUNK_SIZE %d.",
-                          ControlFile->toast_max_chunk_size, (int) TOAST_MAX_CHUNK_SIZE),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "TOAST_MAX_CHUNK_SIZE", ControlFile->toast_max_chunk_size,
+                          "TOAST_MAX_CHUNK_SIZE", (int) TOAST_MAX_CHUNK_SIZE),
                 errhint("It looks like you need to recompile or initdb.")));
    if (ControlFile->loblksize != LOBLKSIZE)
        ereport(FATAL,
                (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
                 errmsg("database files are incompatible with server"),
-                errdetail("The database cluster was initialized with LOBLKSIZE %d,"
-                          " but the server was compiled with LOBLKSIZE %d.",
-                          ControlFile->loblksize, (int) LOBLKSIZE),
+       /* translator: %s is a variable name and %d is its value */
+                errdetail("The database cluster was initialized with %s %d,"
+                          " but the server was compiled with %s %d.",
+                          "LOBLKSIZE", ControlFile->loblksize,
+                          "LOBLKSIZE", (int) LOBLKSIZE),
                 errhint("It looks like you need to recompile or initdb.")));
 
 #ifdef USE_FLOAT8_BYVAL
@@ -4505,11 +4523,15 @@ ReadControlFile(void)
    /* check and update variables dependent on wal_segment_size */
    if (ConvertToXSegs(min_wal_size_mb, wal_segment_size) < 2)
        ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                       errmsg("\"min_wal_size\" must be at least twice \"wal_segment_size\"")));
+       /* translator: both %s are GUC names */
+                       errmsg("\"%s\" must be at least twice \"%s\"",
+                              "min_wal_size", "wal_segment_size")));
 
    if (ConvertToXSegs(max_wal_size_mb, wal_segment_size) < 2)
        ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                       errmsg("\"max_wal_size\" must be at least twice \"wal_segment_size\"")));
+       /* translator: both %s are GUC names */
+                       errmsg("\"%s\" must be at least twice \"%s\"",
+                              "max_wal_size", "wal_segment_size")));
 
    UsableBytesInSegment =
        (wal_segment_size / XLOG_BLCKSZ * UsableBytesInPage) -
index 136c584305ae954bf23d58a42e2a583c8a37be88..27ce7d3f8fcad98a0c8c4f7cad908a2af5ae1384 100644 (file)
@@ -1212,7 +1212,8 @@ check_effective_io_concurrency(int *newval, void **extra, GucSource source)
 #ifndef USE_PREFETCH
    if (*newval != 0)
    {
-       GUC_check_errdetail("\"effective_io_concurrency\" must be set to 0 on platforms that lack support for issuing read-ahead advice.");
+       GUC_check_errdetail("\"%s\" must be set to 0 on platforms that lack support for issuing read-ahead advice.",
+                           "effective_io_concurrency");
        return false;
    }
 #endif                         /* USE_PREFETCH */
@@ -1225,7 +1226,8 @@ check_maintenance_io_concurrency(int *newval, void **extra, GucSource source)
 #ifndef USE_PREFETCH
    if (*newval != 0)
    {
-       GUC_check_errdetail("\"maintenance_io_concurrency\" must be set to 0 on platforms that lack support for issuing read-ahead advice.");
+       GUC_check_errdetail("\"%s\" must be set to 0 on platforms that lack support for issuing read-ahead advice.",
+                           "maintenance_io_concurrency");
        return false;
    }
 #endif                         /* USE_PREFETCH */
index 8df0e2f81a451d2e82a55254fe90a535af1a111e..ec1505802b995eb9d32715e7e11434815c072460 100644 (file)
@@ -3971,7 +3971,8 @@ check_debug_io_direct(char **newval, void **extra, GucSource source)
 #if PG_O_DIRECT == 0
    if (strcmp(*newval, "") != 0)
    {
-       GUC_check_errdetail("\"debug_io_direct\" is not supported on this platform.");
+       GUC_check_errdetail("\"%s\" is not supported on this platform.",
+                           "debug_io_direct");
        result = false;
    }
    flags = 0;
@@ -4018,14 +4019,16 @@ check_debug_io_direct(char **newval, void **extra, GucSource source)
 #if XLOG_BLCKSZ < PG_IO_ALIGN_SIZE
    if (result && (flags & (IO_DIRECT_WAL | IO_DIRECT_WAL_INIT)))
    {
-       GUC_check_errdetail("\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small");
+       GUC_check_errdetail("\"%s\" is not supported for WAL because %s is too small",
+                           "debug_io_direct", "XLOG_BLCKSZ");
        result = false;
    }
 #endif
 #if BLCKSZ < PG_IO_ALIGN_SIZE
    if (result && (flags & IO_DIRECT_DATA))
    {
-       GUC_check_errdetail("\"debug_io_direct\" is not supported for data because BLCKSZ is too small");
+       GUC_check_errdetail("\"%s\" is not supported for WAL because %s is too small",
+                           "debug_io_direct", "BLCKSZ");
        result = false;
    }
 #endif
index 092004dcf3b3fb7e91f040a02d59effbd5ee072d..c7aa789b51b41088fe68dcc66036d73f731e49da 100644 (file)
@@ -358,8 +358,9 @@ incompatible_module_error(const char *libname,
        if (details.len)
            appendStringInfoChar(&details, '\n');
        appendStringInfo(&details,
-                        _("Server has FUNC_MAX_ARGS = %d, library has %d."),
-                        magic_data.funcmaxargs,
+       /* translator: %s is a variable name and %d its values */
+                        _("Server has %s = %d, library has %d."),
+                        "FUNC_MAX_ARGS", magic_data.funcmaxargs,
                         module_magic_data->funcmaxargs);
    }
    if (module_magic_data->indexmaxkeys != magic_data.indexmaxkeys)
@@ -367,8 +368,9 @@ incompatible_module_error(const char *libname,
        if (details.len)
            appendStringInfoChar(&details, '\n');
        appendStringInfo(&details,
-                        _("Server has INDEX_MAX_KEYS = %d, library has %d."),
-                        magic_data.indexmaxkeys,
+       /* translator: %s is a variable name and %d its values */
+                        _("Server has %s = %d, library has %d."),
+                        "INDEX_MAX_KEYS", magic_data.indexmaxkeys,
                         module_magic_data->indexmaxkeys);
    }
    if (module_magic_data->namedatalen != magic_data.namedatalen)
@@ -376,8 +378,9 @@ incompatible_module_error(const char *libname,
        if (details.len)
            appendStringInfoChar(&details, '\n');
        appendStringInfo(&details,
-                        _("Server has NAMEDATALEN = %d, library has %d."),
-                        magic_data.namedatalen,
+       /* translator: %s is a variable name and %d its values */
+                        _("Server has %s = %d, library has %d."),
+                        "NAMEDATALEN", magic_data.namedatalen,
                         module_magic_data->namedatalen);
    }
    if (module_magic_data->float8byval != magic_data.float8byval)
@@ -385,8 +388,9 @@ incompatible_module_error(const char *libname,
        if (details.len)
            appendStringInfoChar(&details, '\n');
        appendStringInfo(&details,
-                        _("Server has FLOAT8PASSBYVAL = %s, library has %s."),
-                        magic_data.float8byval ? "true" : "false",
+       /* translator: %s is a variable name and %d its values */
+                        _("Server has %s = %s, library has %s."),
+                        "FLOAT8PASSBYVAL", magic_data.float8byval ? "true" : "false",
                         module_magic_data->float8byval ? "true" : "false");
    }