aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-04-10 10:59:48 +0200
committerThomas Schwinge <thomas@codesourcery.com>2023-04-10 10:59:48 +0200
commit3757e8d71794cece4a5c9d08245b7ad111044853 (patch)
tree778c6eb8324fa714713ce30a0897e44cf276508b /libcpp
parente44f127cdb12a28536fe21983dfad20570bceda0 (diff)
parent6baa95c9c5b3fea96fd22d03d961db4e4cf48d88 (diff)
downloadgcc-3757e8d71794cece4a5c9d08245b7ad111044853.zip
gcc-3757e8d71794cece4a5c9d08245b7ad111044853.tar.gz
gcc-3757e8d71794cece4a5c9d08245b7ad111044853.tar.bz2
Merge commit '6baa95c9c5b3fea96fd22d03d961db4e4cf48d88' into HEAD [#2112]
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog24
-rw-r--r--libcpp/charset.cc27
-rw-r--r--libcpp/directives.cc5
-rw-r--r--libcpp/generated_cpp_wcwidth.h110
-rw-r--r--libcpp/include/cpplib.h1
-rw-r--r--libcpp/makeucnid.cc2
-rw-r--r--libcpp/makeuname2c.cc2
-rw-r--r--libcpp/po/ChangeLog10
-rw-r--r--libcpp/po/be.po480
-rw-r--r--libcpp/po/ca.po487
-rw-r--r--libcpp/po/da.po489
-rw-r--r--libcpp/po/de.po481
-rw-r--r--libcpp/po/el.po476
-rw-r--r--libcpp/po/eo.po485
-rw-r--r--libcpp/po/es.po479
-rw-r--r--libcpp/po/fi.po489
-rw-r--r--libcpp/po/fr.po478
-rw-r--r--libcpp/po/id.po487
-rw-r--r--libcpp/po/ja.po487
-rw-r--r--libcpp/po/ka.po485
-rw-r--r--libcpp/po/nl.po487
-rw-r--r--libcpp/po/pt_BR.po489
-rw-r--r--libcpp/po/ro.po482
-rw-r--r--libcpp/po/ru.po485
-rw-r--r--libcpp/po/sr.po479
-rw-r--r--libcpp/po/sv.po479
-rw-r--r--libcpp/po/tr.po487
-rw-r--r--libcpp/po/uk.po477
-rw-r--r--libcpp/po/vi.po485
-rw-r--r--libcpp/po/zh_CN.po487
-rw-r--r--libcpp/po/zh_TW.po485
-rw-r--r--libcpp/ucnid.h2
-rw-r--r--libcpp/uname2c.h2
33 files changed, 6940 insertions, 4370 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index a836029..8510dc2 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,27 @@
+2023-03-25 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/109098
+ * charset.cc (cpp_valid_utf8_p): New function.
+ * include/cpplib.h (cpp_valid_utf8_p): New prototype.
+
+2023-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ * makeucnid.cc (write_copyright): Update Unicode copyright years
+ up to 2022.
+ * makeuname2c.cc (write_copyright): Likewise.
+ * ucnid.h: Regenerated.
+ * uname2c.h: Regenerated.
+
+2023-03-13 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR preprocessor/67046
+ * directives.cc (_cpp_do__Pragma): Increment pfile->keep_tokens to
+ ensure the returned string token is valid.
+
+2023-03-13 Lewis Hyatt <lhyatt@gmail.com>
+
+ * generated_cpp_wcwidth.h: Regenerated for Unicode 15.
+
2022-12-07 Joseph Myers <joseph@codesourcery.com>
* init.cc (lang_defaults): Enable va_opt for STDC2X.
diff --git a/libcpp/charset.cc b/libcpp/charset.cc
index 3c47d4f..d7f323b 100644
--- a/libcpp/charset.cc
+++ b/libcpp/charset.cc
@@ -1864,6 +1864,33 @@ _cpp_valid_utf8 (cpp_reader *pfile,
return true;
}
+/* Return true iff BUFFER of size NUM_BYTES is validly-encoded UTF-8. */
+
+extern bool
+cpp_valid_utf8_p (const char *buffer, size_t num_bytes)
+{
+ const uchar *iter = (const uchar *)buffer;
+ size_t bytesleft = num_bytes;
+ while (bytesleft > 0)
+ {
+ /* one_utf8_to_cppchar implements 5-byte and 6 byte sequences as per
+ RFC 2279, but this has been superceded by RFC 3629, which
+ restricts UTF-8 to 1-byte through 4-byte sequences, and
+ states "the octet values C0, C1, F5 to FF never appear".
+
+ Reject such values. */
+ if (*iter >= 0xf4)
+ return false;
+
+ cppchar_t cp;
+ int err = one_utf8_to_cppchar (&iter, &bytesleft, &cp);
+ if (err)
+ return false;
+ }
+ /* No problems encountered. */
+ return true;
+}
+
/* Subroutine of convert_hex and convert_oct. N is the representation
in the execution character set of a numeric escape; write it into the
string buffer TBUF and update the end-of-string pointer therein. WIDE
diff --git a/libcpp/directives.cc b/libcpp/directives.cc
index 7f84b83..1fdd73e 100644
--- a/libcpp/directives.cc
+++ b/libcpp/directives.cc
@@ -1996,7 +1996,12 @@ destringize_and_run (cpp_reader *pfile, const cpp_string *in,
int
_cpp_do__Pragma (cpp_reader *pfile, location_t expansion_loc)
{
+ /* Make sure we don't invalidate the string token, if the closing parenthesis
+ ended up on a different line. */
+ ++pfile->keep_tokens;
const cpp_token *string = get__Pragma_string (pfile);
+ --pfile->keep_tokens;
+
pfile->directive_result.type = CPP_PADDING;
if (string)
diff --git a/libcpp/generated_cpp_wcwidth.h b/libcpp/generated_cpp_wcwidth.h
index 200e176..4931c65 100644
--- a/libcpp/generated_cpp_wcwidth.h
+++ b/libcpp/generated_cpp_wcwidth.h
@@ -1,5 +1,5 @@
/* Generated by contrib/unicode/gen_wcwidth.py, with the help of glibc's
- utf8_gen.py, using version 14.0.0 of the Unicode standard. */
+ utf8_gen.py, using version 15.0.0 of the Unicode standard. */
static const cppchar_t wcwidth_range_ends[] = {
0x2ff, 0x36f, 0x482, 0x489, 0x590, 0x5bd, 0x5be, 0x5bf,
@@ -25,7 +25,7 @@ static const cppchar_t wcwidth_range_ends[] = {
0xd3a, 0xd3c, 0xd40, 0xd44, 0xd4c, 0xd4d, 0xd61, 0xd63,
0xd80, 0xd81, 0xdc9, 0xdca, 0xdd1, 0xdd4, 0xdd5, 0xdd6,
0xe30, 0xe31, 0xe33, 0xe3a, 0xe46, 0xe4e, 0xeb0, 0xeb1,
- 0xeb3, 0xebc, 0xec7, 0xecd, 0xf17, 0xf19, 0xf34, 0xf35,
+ 0xeb3, 0xebc, 0xec7, 0xece, 0xf17, 0xf19, 0xf34, 0xf35,
0xf36, 0xf37, 0xf38, 0xf39, 0xf70, 0xf7e, 0xf7f, 0xf84,
0xf85, 0xf87, 0xf8c, 0xf97, 0xf98, 0xfbc, 0xfc5, 0xfc6,
0x102c, 0x1030, 0x1031, 0x1037, 0x1038, 0x103a, 0x103c, 0x103e,
@@ -73,53 +73,55 @@ static const cppchar_t wcwidth_range_ends[] = {
0xffdf, 0xffe6, 0xfff8, 0xfffb, 0x101fc, 0x101fd, 0x102df, 0x102e0,
0x10375, 0x1037a, 0x10a00, 0x10a03, 0x10a04, 0x10a06, 0x10a0b, 0x10a0f,
0x10a37, 0x10a3a, 0x10a3e, 0x10a3f, 0x10ae4, 0x10ae6, 0x10d23, 0x10d27,
- 0x10eaa, 0x10eac, 0x10f45, 0x10f50, 0x10f81, 0x10f85, 0x11000, 0x11001,
- 0x11037, 0x11046, 0x1106f, 0x11070, 0x11072, 0x11074, 0x1107e, 0x11081,
- 0x110b2, 0x110b6, 0x110b8, 0x110ba, 0x110c1, 0x110c2, 0x110ff, 0x11102,
- 0x11126, 0x1112b, 0x1112c, 0x11134, 0x11172, 0x11173, 0x1117f, 0x11181,
- 0x111b5, 0x111be, 0x111c8, 0x111cc, 0x111ce, 0x111cf, 0x1122e, 0x11231,
- 0x11233, 0x11234, 0x11235, 0x11237, 0x1123d, 0x1123e, 0x112de, 0x112df,
- 0x112e2, 0x112ea, 0x112ff, 0x11301, 0x1133a, 0x1133c, 0x1133f, 0x11340,
- 0x11365, 0x1136c, 0x1136f, 0x11374, 0x11437, 0x1143f, 0x11441, 0x11444,
- 0x11445, 0x11446, 0x1145d, 0x1145e, 0x114b2, 0x114b8, 0x114b9, 0x114ba,
- 0x114be, 0x114c0, 0x114c1, 0x114c3, 0x115b1, 0x115b5, 0x115bb, 0x115bd,
- 0x115be, 0x115c0, 0x115db, 0x115dd, 0x11632, 0x1163a, 0x1163c, 0x1163d,
- 0x1163e, 0x11640, 0x116aa, 0x116ab, 0x116ac, 0x116ad, 0x116af, 0x116b5,
- 0x116b6, 0x116b7, 0x1171c, 0x1171f, 0x11721, 0x11725, 0x11726, 0x1172b,
- 0x1182e, 0x11837, 0x11838, 0x1183a, 0x1193a, 0x1193c, 0x1193d, 0x1193e,
- 0x11942, 0x11943, 0x119d3, 0x119d7, 0x119d9, 0x119db, 0x119df, 0x119e0,
- 0x11a00, 0x11a0a, 0x11a32, 0x11a38, 0x11a3a, 0x11a3e, 0x11a46, 0x11a47,
- 0x11a50, 0x11a56, 0x11a58, 0x11a5b, 0x11a89, 0x11a96, 0x11a97, 0x11a99,
- 0x11c2f, 0x11c36, 0x11c37, 0x11c3d, 0x11c3e, 0x11c3f, 0x11c91, 0x11ca7,
- 0x11ca9, 0x11cb0, 0x11cb1, 0x11cb3, 0x11cb4, 0x11cb6, 0x11d30, 0x11d36,
- 0x11d39, 0x11d3a, 0x11d3b, 0x11d3d, 0x11d3e, 0x11d45, 0x11d46, 0x11d47,
- 0x11d8f, 0x11d91, 0x11d94, 0x11d95, 0x11d96, 0x11d97, 0x11ef2, 0x11ef4,
- 0x1342f, 0x13438, 0x16aef, 0x16af4, 0x16b2f, 0x16b36, 0x16f4e, 0x16f4f,
- 0x16f8e, 0x16f92, 0x16fdf, 0x16fe3, 0x16fe4, 0x16fef, 0x16ff1, 0x16fff,
- 0x187f7, 0x187ff, 0x18cd5, 0x18cff, 0x18d08, 0x1afef, 0x1aff3, 0x1aff4,
- 0x1affb, 0x1affc, 0x1affe, 0x1afff, 0x1b122, 0x1b14f, 0x1b152, 0x1b163,
- 0x1b167, 0x1b16f, 0x1b2fb, 0x1bc9c, 0x1bc9e, 0x1bc9f, 0x1bca3, 0x1ceff,
- 0x1cf2d, 0x1cf2f, 0x1cf46, 0x1d166, 0x1d169, 0x1d172, 0x1d182, 0x1d184,
- 0x1d18b, 0x1d1a9, 0x1d1ad, 0x1d241, 0x1d244, 0x1d9ff, 0x1da36, 0x1da3a,
- 0x1da6c, 0x1da74, 0x1da75, 0x1da83, 0x1da84, 0x1da9a, 0x1da9f, 0x1daa0,
- 0x1daaf, 0x1dfff, 0x1e006, 0x1e007, 0x1e018, 0x1e01a, 0x1e021, 0x1e022,
- 0x1e024, 0x1e025, 0x1e02a, 0x1e12f, 0x1e136, 0x1e2ad, 0x1e2ae, 0x1e2eb,
- 0x1e2ef, 0x1e8cf, 0x1e8d6, 0x1e943, 0x1e94a, 0x1f003, 0x1f004, 0x1f0ce,
- 0x1f0cf, 0x1f18d, 0x1f18e, 0x1f190, 0x1f19a, 0x1f1ff, 0x1f202, 0x1f20f,
- 0x1f23b, 0x1f23f, 0x1f248, 0x1f24f, 0x1f251, 0x1f25f, 0x1f265, 0x1f2ff,
- 0x1f320, 0x1f32c, 0x1f335, 0x1f336, 0x1f37c, 0x1f37d, 0x1f393, 0x1f39f,
- 0x1f3ca, 0x1f3ce, 0x1f3d3, 0x1f3df, 0x1f3f0, 0x1f3f3, 0x1f3f4, 0x1f3f7,
- 0x1f43e, 0x1f43f, 0x1f440, 0x1f441, 0x1f4fc, 0x1f4fe, 0x1f53d, 0x1f54a,
- 0x1f54e, 0x1f54f, 0x1f567, 0x1f579, 0x1f57a, 0x1f594, 0x1f596, 0x1f5a3,
- 0x1f5a4, 0x1f5fa, 0x1f64f, 0x1f67f, 0x1f6c5, 0x1f6cb, 0x1f6cc, 0x1f6cf,
- 0x1f6d2, 0x1f6d4, 0x1f6d7, 0x1f6dc, 0x1f6df, 0x1f6ea, 0x1f6ec, 0x1f6f3,
- 0x1f6fc, 0x1f7df, 0x1f7eb, 0x1f7ef, 0x1f7f0, 0x1f90b, 0x1f93a, 0x1f93b,
- 0x1f945, 0x1f946, 0x1f9ff, 0x1fa6f, 0x1fa74, 0x1fa77, 0x1fa7c, 0x1fa7f,
- 0x1fa86, 0x1fa8f, 0x1faac, 0x1faaf, 0x1faba, 0x1fabf, 0x1fac5, 0x1facf,
- 0x1fad9, 0x1fadf, 0x1fae7, 0x1faef, 0x1faf6, 0x1ffff, 0x2a6df, 0x2a6ff,
- 0x2b738, 0x2b73f, 0x2b81d, 0x2b81f, 0x2cea1, 0x2ceaf, 0x2ebe0, 0x2f7ff,
- 0x2fa1d, 0x2ffff, 0x3134a, 0xe0000, 0xe0001, 0xe001f, 0xe007f, 0xe00ff,
- 0xe01ef,
+ 0x10eaa, 0x10eac, 0x10efc, 0x10eff, 0x10f45, 0x10f50, 0x10f81, 0x10f85,
+ 0x11000, 0x11001, 0x11037, 0x11046, 0x1106f, 0x11070, 0x11072, 0x11074,
+ 0x1107e, 0x11081, 0x110b2, 0x110b6, 0x110b8, 0x110ba, 0x110c1, 0x110c2,
+ 0x110ff, 0x11102, 0x11126, 0x1112b, 0x1112c, 0x11134, 0x11172, 0x11173,
+ 0x1117f, 0x11181, 0x111b5, 0x111be, 0x111c8, 0x111cc, 0x111ce, 0x111cf,
+ 0x1122e, 0x11231, 0x11233, 0x11234, 0x11235, 0x11237, 0x1123d, 0x1123e,
+ 0x11240, 0x11241, 0x112de, 0x112df, 0x112e2, 0x112ea, 0x112ff, 0x11301,
+ 0x1133a, 0x1133c, 0x1133f, 0x11340, 0x11365, 0x1136c, 0x1136f, 0x11374,
+ 0x11437, 0x1143f, 0x11441, 0x11444, 0x11445, 0x11446, 0x1145d, 0x1145e,
+ 0x114b2, 0x114b8, 0x114b9, 0x114ba, 0x114be, 0x114c0, 0x114c1, 0x114c3,
+ 0x115b1, 0x115b5, 0x115bb, 0x115bd, 0x115be, 0x115c0, 0x115db, 0x115dd,
+ 0x11632, 0x1163a, 0x1163c, 0x1163d, 0x1163e, 0x11640, 0x116aa, 0x116ab,
+ 0x116ac, 0x116ad, 0x116af, 0x116b5, 0x116b6, 0x116b7, 0x1171c, 0x1171f,
+ 0x11721, 0x11725, 0x11726, 0x1172b, 0x1182e, 0x11837, 0x11838, 0x1183a,
+ 0x1193a, 0x1193c, 0x1193d, 0x1193e, 0x11942, 0x11943, 0x119d3, 0x119d7,
+ 0x119d9, 0x119db, 0x119df, 0x119e0, 0x11a00, 0x11a0a, 0x11a32, 0x11a38,
+ 0x11a3a, 0x11a3e, 0x11a46, 0x11a47, 0x11a50, 0x11a56, 0x11a58, 0x11a5b,
+ 0x11a89, 0x11a96, 0x11a97, 0x11a99, 0x11c2f, 0x11c36, 0x11c37, 0x11c3d,
+ 0x11c3e, 0x11c3f, 0x11c91, 0x11ca7, 0x11ca9, 0x11cb0, 0x11cb1, 0x11cb3,
+ 0x11cb4, 0x11cb6, 0x11d30, 0x11d36, 0x11d39, 0x11d3a, 0x11d3b, 0x11d3d,
+ 0x11d3e, 0x11d45, 0x11d46, 0x11d47, 0x11d8f, 0x11d91, 0x11d94, 0x11d95,
+ 0x11d96, 0x11d97, 0x11ef2, 0x11ef4, 0x11eff, 0x11f01, 0x11f35, 0x11f3a,
+ 0x11f3f, 0x11f40, 0x11f41, 0x11f42, 0x1342f, 0x13440, 0x13446, 0x13455,
+ 0x16aef, 0x16af4, 0x16b2f, 0x16b36, 0x16f4e, 0x16f4f, 0x16f8e, 0x16f92,
+ 0x16fdf, 0x16fe3, 0x16fe4, 0x16fef, 0x16ff1, 0x16fff, 0x187f7, 0x187ff,
+ 0x18cd5, 0x18cff, 0x18d08, 0x1afef, 0x1aff3, 0x1aff4, 0x1affb, 0x1affc,
+ 0x1affe, 0x1afff, 0x1b122, 0x1b131, 0x1b132, 0x1b14f, 0x1b152, 0x1b154,
+ 0x1b155, 0x1b163, 0x1b167, 0x1b16f, 0x1b2fb, 0x1bc9c, 0x1bc9e, 0x1bc9f,
+ 0x1bca3, 0x1ceff, 0x1cf2d, 0x1cf2f, 0x1cf46, 0x1d166, 0x1d169, 0x1d172,
+ 0x1d182, 0x1d184, 0x1d18b, 0x1d1a9, 0x1d1ad, 0x1d241, 0x1d244, 0x1d9ff,
+ 0x1da36, 0x1da3a, 0x1da6c, 0x1da74, 0x1da75, 0x1da83, 0x1da84, 0x1da9a,
+ 0x1da9f, 0x1daa0, 0x1daaf, 0x1dfff, 0x1e006, 0x1e007, 0x1e018, 0x1e01a,
+ 0x1e021, 0x1e022, 0x1e024, 0x1e025, 0x1e02a, 0x1e08e, 0x1e08f, 0x1e12f,
+ 0x1e136, 0x1e2ad, 0x1e2ae, 0x1e2eb, 0x1e2ef, 0x1e4eb, 0x1e4ef, 0x1e8cf,
+ 0x1e8d6, 0x1e943, 0x1e94a, 0x1f003, 0x1f004, 0x1f0ce, 0x1f0cf, 0x1f18d,
+ 0x1f18e, 0x1f190, 0x1f19a, 0x1f1ff, 0x1f202, 0x1f20f, 0x1f23b, 0x1f23f,
+ 0x1f248, 0x1f24f, 0x1f251, 0x1f25f, 0x1f265, 0x1f2ff, 0x1f320, 0x1f32c,
+ 0x1f335, 0x1f336, 0x1f37c, 0x1f37d, 0x1f393, 0x1f39f, 0x1f3ca, 0x1f3ce,
+ 0x1f3d3, 0x1f3df, 0x1f3f0, 0x1f3f3, 0x1f3f4, 0x1f3f7, 0x1f43e, 0x1f43f,
+ 0x1f440, 0x1f441, 0x1f4fc, 0x1f4fe, 0x1f53d, 0x1f54a, 0x1f54e, 0x1f54f,
+ 0x1f567, 0x1f579, 0x1f57a, 0x1f594, 0x1f596, 0x1f5a3, 0x1f5a4, 0x1f5fa,
+ 0x1f64f, 0x1f67f, 0x1f6c5, 0x1f6cb, 0x1f6cc, 0x1f6cf, 0x1f6d2, 0x1f6d4,
+ 0x1f6d7, 0x1f6db, 0x1f6df, 0x1f6ea, 0x1f6ec, 0x1f6f3, 0x1f6fc, 0x1f7df,
+ 0x1f7eb, 0x1f7ef, 0x1f7f0, 0x1f90b, 0x1f93a, 0x1f93b, 0x1f945, 0x1f946,
+ 0x1f9ff, 0x1fa6f, 0x1fa7c, 0x1fa7f, 0x1fa88, 0x1fa8f, 0x1fabd, 0x1fabe,
+ 0x1fac5, 0x1facd, 0x1fadb, 0x1fadf, 0x1fae8, 0x1faef, 0x1faf8, 0x1ffff,
+ 0x2a6df, 0x2a6ff, 0x2b739, 0x2b73f, 0x2b81d, 0x2b81f, 0x2cea1, 0x2ceaf,
+ 0x2ebe0, 0x2f7ff, 0x2fa1d, 0x2ffff, 0x3134a, 0x3134f, 0x323af, 0xe0000,
+ 0xe0001, 0xe001f, 0xe007f, 0xe00ff, 0xe01ef,
};
static const unsigned char wcwidth_widths[] = {
@@ -154,13 +156,13 @@ static const unsigned char wcwidth_widths[] = {
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
- 1, 0, 1, 2, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
- 2, 1, 2, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
+ 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 0, 1, 2, 1, 2, 1,
+ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 1,
0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
+ 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
+ 0, 1, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
- 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 1, 0, 1,
- 0,
+ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 1, 0, 1, 0,
};
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 8df071e..a6f0abd 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -1600,5 +1600,6 @@ int cpp_wcwidth (cppchar_t c);
bool cpp_input_conversion_is_trivial (const char *input_charset);
int cpp_check_utf8_bom (const char *data, size_t data_length);
+bool cpp_valid_utf8_p (const char *data, size_t num_bytes);
#endif /* ! LIBCPP_CPPLIB_H */
diff --git a/libcpp/makeucnid.cc b/libcpp/makeucnid.cc
index 2d1b2cb..66d31a8 100644
--- a/libcpp/makeucnid.cc
+++ b/libcpp/makeucnid.cc
@@ -467,7 +467,7 @@ write_copyright (void)
<http://www.gnu.org/licenses/>.\n\
\n\
\n\
- Copyright (C) 1991-2005 Unicode, Inc. All rights reserved.\n\
+ Copyright (C) 1991-2022 Unicode, Inc. All rights reserved.\n\
Distributed under the Terms of Use in\n\
http://www.unicode.org/copyright.html.\n\
\n\
diff --git a/libcpp/makeuname2c.cc b/libcpp/makeuname2c.cc
index c47d230..16d544d 100644
--- a/libcpp/makeuname2c.cc
+++ b/libcpp/makeuname2c.cc
@@ -669,7 +669,7 @@ write_copyright (void)
<http://www.gnu.org/licenses/>.\n\
\n\
\n\
- Copyright (C) 1991-2021 Unicode, Inc. All rights reserved.\n\
+ Copyright (C) 1991-2022 Unicode, Inc. All rights reserved.\n\
Distributed under the Terms of Use in\n\
http://www.unicode.org/copyright.html.\n\
\n\
diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog
index afffb0e..0d93b77 100644
--- a/libcpp/po/ChangeLog
+++ b/libcpp/po/ChangeLog
@@ -1,3 +1,13 @@
+2023-02-28 Joseph Myers <joseph@codesourcery.com>
+
+ * sr.po, sv.po: Update.
+
+2023-02-24 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
+ id.po, ja.po, ka.po, nl.po, pt_BR.po, ro.po, ru.po, sr.po, sv.po,
+ tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update.
+
2023-02-10 Joseph Myers <joseph@codesourcery.com>
* cpplib.pot: Regenerate.
diff --git a/libcpp/po/be.po b/libcpp/po/be.po
index 63e8746..a7866b5 100644
--- a/libcpp/po/be.po
+++ b/libcpp/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gcc 3.1\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2002-05-17 15:54+0200\n"
"Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
"Language-Team: Belarusian <i18n@tut.by>\n"
@@ -35,7 +35,7 @@ msgstr ""
msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr ""
@@ -44,132 +44,210 @@ msgstr ""
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr ""
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr ""
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr ""
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1551
+#, fuzzy, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\"%s\" - гэта не пачатак дэкларацыі"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+#, fuzzy
+msgid "empty delimited escape sequence"
+msgstr "невядомая ESC-паслядоўнасць '\\%c'"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr ""
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, fuzzy, c-format
msgid "%.*s is not a valid universal character"
msgstr "\"%s\" - гэта не пачатак дэкларацыі"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr ""
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr ""
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr ""
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr ""
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr ""
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr ""
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr ""
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
-#: charset.cc:1579
+#: charset.cc:2199
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%c'"
msgstr "невядомая ESC-паслядоўнасць '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%s'"
msgstr "невядомая ESC-паслядоўнасць '\\%c'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr ""
-#: charset.cc:1737
+#: charset.cc:2357
#, fuzzy
#| msgid "Missing identifier"
msgid "missing open quote"
msgstr "Прапушчан ідэнтыфікатар"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
#, fuzzy
#| msgid "character constant too long"
msgid "character constant too long for its type"
msgstr "сімвальная канстанта вельмі доўгая"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "мнагасімвальная сімвальная канстанта"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "пустая сімвальная канстанта"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr ""
@@ -184,271 +262,271 @@ msgstr ""
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr ""
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr ""
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr ""
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr ""
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr ""
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr ""
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr ""
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr ""
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr ""
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr ""
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr ""
-#: directives.cc:1231
+#: directives.cc:1246
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.cc:1324
+#: directives.cc:1339
#, fuzzy, c-format
msgid "#pragma %s %s is already registered"
msgstr "Клас \"%s\" ужо існуе"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr ""
-#: directives.cc:1597
+#: directives.cc:1612
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.cc:1654
+#: directives.cc:1669
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.cc:1762
+#: directives.cc:1777
#, fuzzy, c-format
#| msgid "cannot find source %s"
msgid "cannot find source file %s"
msgstr "не магу знайсці крыніцу %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.cc:1790
+#: directives.cc:1805
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr ""
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr ""
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr ""
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr ""
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr ""
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr ""
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr ""
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr ""
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr ""
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr ""
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr ""
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr ""
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr ""
@@ -462,183 +540,183 @@ msgstr ""
msgid "stdout"
msgstr ""
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.cc:657
+#: expr.cc:671
#, fuzzy
#| msgid "invalid string constant `%E'"
msgid "invalid prefix \"0b\" for floating constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr ""
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.cc:717
+#: expr.cc:731
#, fuzzy, c-format
#| msgid "invalid string constant `%E'"
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr ""
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr ""
-#: expr.cc:778
+#: expr.cc:792
#, fuzzy, c-format
#| msgid "invalid string constant `%E'"
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr ""
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr ""
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr ""
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr ""
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr ""
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr ""
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr ""
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr ""
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr ""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.cc:1461
+#: expr.cc:1479
#, fuzzy, c-format
#| msgid "unbalanced #endif"
msgid "unbalanced stack in %s"
msgstr "незбалансаваны #endif"
-#: expr.cc:1481
+#: expr.cc:1499
#, fuzzy, c-format
#| msgid "impossible operator '%s'"
msgid "impossible operator '%u'"
msgstr "немагчымы апэратар '%s'"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr ""
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr ""
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr ""
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr ""
@@ -678,215 +756,240 @@ msgstr ""
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr ""
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr ""
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, fuzzy, c-format
+#| msgid "invalid parameter `%s'"
+msgid "invalid UTF-8 character <%x>"
+msgstr "нерэчаісны парамэтр `%s'"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr ""
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr ""
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr ""
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, fuzzy, c-format
#| msgid "`%D' is not a function,"
msgid "`%.*s' is not in NFC"
msgstr "`%D' - гэта ня функцыя,"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr ""
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "сімвальная канстанта вельмі доўгая"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
#, fuzzy
#| msgid "unterminated comment"
msgid "unterminated raw string"
msgstr "незавершаныя каментарыі"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "прапушчан завяршаючы сімвал %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "незавершаныя каментарыі"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr ""
-#: lex.cc:4165
+#: lex.cc:4427
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "немагу адчыніць файл \"%s\""
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr ""
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated comment"
msgid "unterminated literal"
@@ -1679,9 +1782,6 @@ msgstr ""
#~ msgid "can't open %s"
#~ msgstr "немагчыма адчыніць %s"
-#~ msgid "invalid parameter `%s'"
-#~ msgstr "нерэчаісны парамэтр `%s'"
-
#~ msgid "%s: internal abort\n"
#~ msgstr "%s: унутраная памылка (датэрміновае завяршэньне)\n"
@@ -2986,10 +3086,6 @@ msgstr ""
#~ msgstr "Невядомая ESC-паслядоўнасьць `\\%A' at %0"
#, fuzzy
-#~ msgid "Unterminated escape sequence `\\' at %0"
-#~ msgstr "невядомая ESC-паслядоўнасць '\\%c'"
-
-#, fuzzy
#~ msgid "non-ISO escape sequence `\\%c'"
#~ msgstr "невядомая ESC-паслядоўнасць '\\%c'"
diff --git a/libcpp/po/ca.po b/libcpp/po/ca.po
index 56d477c..f487e67 100644
--- a/libcpp/po/ca.po
+++ b/libcpp/po/ca.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib-4.0.1\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2005-11-25 22:56+0100\n"
"Last-Translator: Mateu Gilles <gilles@mateu.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -40,7 +40,7 @@ msgstr "cap implementaci de iconv, no es pot convertir de %s a %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "el carcter 0x%lx no s en el joc de carcters de base\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "convertint al joc de carcters d'execuci"
@@ -49,132 +49,221 @@ msgstr "convertint al joc de carcters d'execuci"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "el carcter 0x%lx no s mono octet en el joc de carcters d'execuci"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
-#: charset.cc:1091
+#: charset.cc:1441
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "el significat de \"\\%c\" s diferent en C tradicional"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr " \"?\" sense el \":\" segent"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "el nom de carcter universal %.*s s incomplet"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s no s un carcter universal vlid"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s no s un carcter universal vlid"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "el nom de carcter universal %.*s s incomplet"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s no s un carcter universal vlid"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "\"$\" en un identificador o un nombre"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "el nom de carcter universal %.*s no s vlid a l'inici d'un identificador"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "convertint UCN al joc font de carcters"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "convertint UCN al joc de carcters d'execuci"
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "el nom de carcter universal %.*s no s vlid a l'inici d'un identificador"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "el significat de \"\\x\" s diferent en C tradicional"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "es va usar \\x sense dgits hexadecimales a continuaci"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "seqncia d'escapa hexadecimal fora de rang"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr " \"?\" sense el \":\" segent"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "seqncia d'escapa octal fora de rang"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "el significat de \"\\a\" s diferent en C tradicional"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "seqncia d'escapa que no s estndard ISO, \"\\%c\""
-#: charset.cc:1579
+#: charset.cc:2199
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%c'"
msgstr "seqncia d'escapa \"\\%c\" desconeguda"
-#: charset.cc:1589
+#: charset.cc:2209
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%s'"
msgstr "seqncia d'escapa \"\\%c\" desconeguda"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "convertint una seqncia d'escapa al joc de carcters d'execuci"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "constant de carcter massa gran pel seu tipus"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "constant de carcter amb mltiples carcters"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "constant de carter buida"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "fallada convertint %s a %s"
@@ -189,282 +278,282 @@ msgstr "elements superflus al final de la directiva #%s"
msgid "#%s is a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s s una extenci del GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s s una extenci del GCC"
+
+#: directives.cc:407
#, fuzzy, c-format
#| msgid "#%s is a GCC extension"
msgid "#%s is a deprecated GCC extension"
msgstr "#%s s una extenci del GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "es suggereix no usar #elif en C tradicional"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s amb el # indentat"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "l'incrustaci d'una directiva entre arguments de macro no s portable"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "la directiva d'estil de lnia s una extenci del GCC"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "directiva de preprocessament #%s invlida"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocessament #%s invlida"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" no es pot usar com un nom de macro"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "no es pot usar \"%s\" com un nom de macro perqu s un operador en C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "no es va donar un nom de macro en la directiva #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "els noms de macro han de ser identificadors"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "esborrant la definici de \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "falta el carcter de terminaci >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fitxer buit en #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next en el fitxer font primari"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador \"%s\" invlid en la directiva de lnia"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" desprs de #line no s un enter positiu"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "nombre de lnia fora de rang"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" no s un nom de fitxer vlid"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" desprs de # no s un enter positiu"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr ""
-#: directives.cc:1231
+#: directives.cc:1246
#, fuzzy, c-format
#| msgid "invalid #ident directive"
msgid "invalid #%s directive"
msgstr "directiva #ident invlida"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.cc:1303
+#: directives.cc:1318
#, fuzzy, c-format
#| msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "ja s'ha desat #pragma %s %s"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "ja s'ha desat #pragma %s"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma una vegada en el fitxer principal"
-#: directives.cc:1597
+#: directives.cc:1612
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.cc:1654
+#: directives.cc:1669
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "enverinant la macro existent \"%s\""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorat fora del fitxer d'inclusi"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "no es pot trobar la font %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "el fitxer actual s ms vell que %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma pren una cadena literal entre parntesis"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else sense #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else desprs de #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "el condicional va comenar aqu"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else sense #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else desprs de #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s s una extenci del GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s s una extenci del GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif sense #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "falta \"(\" abans del predicat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "falta \")\" per a completar la resposta"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "el predicat de la resposta est buit"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "afirmaci sense predicat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "el predicat ha de ser un identificador"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" reafirmat"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "#%s sense acabar"
@@ -478,206 +567,206 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "fixed-point constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:657
+#: expr.cc:671
#, fuzzy
#| msgid "invalid suffix \"%.*s\" on floating constant"
msgid "invalid prefix \"0b\" for floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "s d'una constant de coma flotant hexadecimal C99"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "s d'una constant de coma flotant hexadecimal C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "el C tradicional rebutja el sufix \"%.*s\""
-#: expr.cc:736
+#: expr.cc:750
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "suffix for double constant is a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:742
+#: expr.cc:756
#, fuzzy, c-format
#| msgid "invalid suffix \"%.*s\" on floating constant"
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "hexadecimal floating constants require an exponent"
msgid "decimal float constants are a C2X feature"
msgstr "la constant de coma flotant hexadecimal requereix un exponent"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufix \"%.*s\" invlid en constant entera"
-#: expr.cc:803
+#: expr.cc:817
#, fuzzy
#| msgid "use of C99 long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C99 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C99 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:837
+#: expr.cc:851
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "la constant entera s massa gran pel seu tipus"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "la constant entera s tan gran que s unsigned"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "\")\" faltant desprs de \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "l'operador \"defined\" requereix un identificador"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" s un element alternatiu per a \"%s\" en C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "aquest s de \"defined\" podria no ser portable"
-#: expr.cc:1139
+#: expr.cc:1153
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "desbordament d'enter en l'expressi del preprocessador"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "constant de coma flotant en l'expressi del preprocessador"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "nombre imaginari en l'expressi del preprocessador"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" no s definit"
-#: expr.cc:1212
+#: expr.cc:1226
#, fuzzy
#| msgid "#%s is a GCC extension"
msgid "assertions are a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.cc:1461
+#: expr.cc:1479
#, fuzzy, c-format
#| msgid "unbalanced stack in #if"
msgid "unbalanced stack in %s"
msgstr "pila desequilibrada en #if"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operador \"%u\" impossible"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "\")\" faltant en l'expressi"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr " \"?\" sense el \":\" segent"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "desbordament d'enter en l'expressi del preprocessador"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "\"(\" faltant en l'expressi"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "l'operant esquera de \"%s\" canvia el signe quan s promogut"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "l'operant dreta de \"%s\" canvia el signe quan s promogut"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rebutja l'operador unari ms"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "operador coma en operant de #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "divisi per zero en #if"
@@ -717,224 +806,248 @@ msgstr "no hi ha ruta d'inclusi en la qual cercar %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Mltiples gurdies d'inclusi poden ser tils per a:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t ha de ser d'un tipus unsigned"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "l'aritmtica del preprocesador t una precisi mxima de %lu bits; l'objectiu requereix %lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "l'aritmtica de CPP ha de ser almenys tan precisa com un int de l'objectiu"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "el char de l'objectiu t menys de 8 bits d'ampliaria"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "el wchar_t de l'objectiu s ms estret qu'el char de l'objectiu"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "el int de l'objectiu s ms estret qu'el char de l'objectiu"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "el half-integer de CPP s ms estret que el carcter de CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP no pot manejar constants de carcter amples ms enll de %lu bits en aquest ordinador, per l'objectiu requereix %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "barra invertida i fi de lnia separats per un espai"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "barra invertida i nova lnia al final del fitxer"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c convertit a %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "s'ignora el trigraph ??%c, usi -trigraphs per permetre-ho"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" dintre d'un comentari"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en una directiva de preprocessament"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "carter(es) nul(s) ignorats"
-#: lex.cc:1844
+#: lex.cc:2049
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "`%.*s' is not in NFKC"
msgstr "\"%s\" no s definit"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "`%.*s' is not in NFC"
msgstr "\"%s\" no s definit"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C99"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "intent d'usar \"%s\" enverinat"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C99"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "invalid character '%c' in raw string delimiter"
msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated raw string"
msgstr "#%s sense acabar"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "carcter(es) nul(s) preservats en la literal"
-#: lex.cc:2687
+#: lex.cc:2908
#, fuzzy, c-format
#| msgid "missing terminating > character"
msgid "missing terminating %c character"
msgstr "falta el carcter de terminaci >"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "comentari sense acabar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "els comentaris d'estil C++ no sn permesos en ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(aix es reportar solament una vegada per cada fitxer d'entrada)"
-#: lex.cc:3739
+#: lex.cc:3974
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "els comentaris d'estil C++ no sn permesos en ISO C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "comentari en mltiples lnies"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "Element %s impronunciable"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr ""
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/da.po b/libcpp/po/da.po
index 32a24d0..f2e83c7 100644
--- a/libcpp/po/da.po
+++ b/libcpp/po/da.po
@@ -130,7 +130,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 10.1-b20200209\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2020-03-08 18:00+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -159,7 +159,7 @@ msgstr "ingen iconv-implementering, kan ikke konvertere fra %s til %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "tegnet 0x%lx er ikke det grundlæggende kildetegnsæt\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "konverterer til kørseltegnsæt"
@@ -168,126 +168,215 @@ msgstr "konverterer til kørseltegnsæt"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "tegn 0x%lx er ikke unibyte i kørseltegnsæt"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universelle tegnnavne er kun gyldige i C++ og C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "C99's universelle tegnnavne er ikke kompatible med C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "betydningen af »\\%c« er anderledes i traditionel C"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "»?« uden efterfølgende »:«"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "ufuldstændigt universelt tegnnavn %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "universelle tegnnavne er kun gyldige i C++ og C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s er ikke et gyldigt universelt tegn"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s er ikke et gyldigt universelt tegn"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "I _cpp_valid_ucn men ikke en UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "universelle tegnnavne er kun gyldige i C++ og C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "ufuldstændigt universelt tegnnavn %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s er ikke et gyldigt universelt tegn"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "»$« i kaldenavn eller tal"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universelt tegn %.*s er ikke gyldigt i et kaldenavn"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s er udenfor UCS-koderummet"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "konverterer UCN til et kildetegnsæt"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "konverterer UCN til et kørselstegnsæt"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "udvidet tegn %.*s er ikke gyldigt i et kaldenavn"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "udvidet tegn %.*s er ikke gyldigt i starten af et kaldenavn"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "betydningen af »\\x« er anderledes i traditionel C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x angivet uden efterfølgende hexadecimale cifre"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "»?« uden efterfølgende »:«"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "den oktale undvigesekvens er uden for det gyldige interval"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "betydningen af »\\a« er anderledes i traditionel C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "undvigesekvensen »\\%c« er ikke ISO-standard"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "ukendt undvigesekvens: »\\%c«"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "ukendt undvigesekvens: »\\%s«"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "konverterer undvigesekvens til kørselstegnsæt"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "manglende indledende citationstegn"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "tegnkonstanten er for lang for dens type"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "flerbyte-tegnkonstant"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "tom tegnkonstant"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "kunne ikke konvertere %s til %s"
@@ -302,273 +391,273 @@ msgstr "ekstra symboler i slutningen af #%s-direktiv"
msgid "#%s is a GCC extension"
msgstr "#%s er en GCC-udvidelse"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s er en GCC-udvidelse"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s er en GCC-udvidelse"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s er en forældet GCC-udvidelse"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "foreslår undladelse af brug af #elif i traditionel C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionel C ignorerer #%s når # er indrykket"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "linjestilsdirektiv er en GCC-udvidelse"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "ugyldigt præprocessordirektiv #%s"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ugyldigt præprocessordirektiv #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "»%s« kan ikke bruges som makronavn"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "intet makronavn angivet i direktivet #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makronavne skal være kaldenavne"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "fjerner definitionen af »%s«"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "manglende afsluttende >-tegn"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s forventer »FILNAVN« eller <FILNAVN>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnavn i #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include indlejret dybde %u er større end maksimum på %u (brug -fmax-include-depth=DEPTH for at øge maksimum)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next i den primære kildekodefil"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ugyldigt flag »%s« i linjedirektiv"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "uventet filafslutning efter #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« efter #line er ikke et positivt heltal"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "linjenummer er uden for det gyldige interval"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« er ikke et gyldigt filnavn"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« efter # er ikke et positivt heltal"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "ugyldig #%s-direktiv"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrerer »%s« som både et pragma og et pragmanavnerum"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s er allerede registreret"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s er allerede registreret"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "registrerer pragma med NULL-håndtering"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once i hovedfil"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "ugyldigt #pragma push_macro-direktiv"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "ugyldigt #pragma pop_macro-direktiv"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "ugyldigt #pragma GCC poison-direktiv"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "forgifter eksisterende makro »%s«"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoreret uden for inkluderingsfil"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "kan ikke finde kildefilen %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "aktuel fil er ældre end %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ugyldigt »#pragma GCC %s«-direktiv"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tager en strengkonstant med paranteser omkring"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else uden #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "betingelsen begyndte her"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else uden #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else efter #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s er en GCC-udvidelse"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s er en GCC-udvidelse"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif uden #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "manglende »(« efter udsagn"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "manglende »)« til at fuldføre svar"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "udsagnets svar er tomt"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "postulat uden udsagn"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "udsagn skal være et kaldenavn"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« genpostuleret"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "uafsluttet #%s"
@@ -582,185 +671,185 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "standardud"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "fast punkt-konstanter er en GCC-udvidelse"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ugyldigt præfiks »0b« i kommatalskonstant"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "brug af C++17 hexadecimal kommatalskonstant"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "brug af C99 hexadecimal kommatalskonstant"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ugyldig endelse »%.*s« i kommatalskonstant"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionel C tillader ikke endelsen »%.*s«"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "endelse for dobbelt konstant er en GCC-udvidelse"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ugyldig endelse »%.*s« med hexadecimal kommatalskonstant"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "decimal kommatalskonstanter er en C2X-funktion"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ugyldig endelse »%.*s« i heltalskonstant"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "brug af C++11 long long-heltalskonstant"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "brug af C99 long long-heltalskonstant"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "brug af C++11 long long-heltalskonstant"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "brug af C++11 long long-heltalskonstant"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginære konstanter er en GCC-udvidelse"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binære konstanter er en C++14-funktion eller GCC-udvidelse"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a C++14 feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binære konstanter er en C++14-funktion eller GCC-udvidelse"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "decimal float constants are a C2X feature"
msgid "binary constants are a C2X feature"
msgstr "decimal kommatalskonstanter er en C2X-funktion"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "heltalskonstanten er for stor for dens type"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "heltalskonstanten er så stor at den er usigneret"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "manglende »)« efter »defined«"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operatoren »defined« kræver et kaldenavn"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(»%s« er et alternativt symbol for »%s« i C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "denne brug af »defined« er muligvis ikke portabel"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "brugerdefineret ordret i præprocessorudtrykket"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "kommatalskonstant i præprocessorudtryk"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginært tal i præprocessorudtryk"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "»%s« er ikke defineret, evaluerer til 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "påstande er en GCC-udvidelse"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "påstande er en forældet udvidelse"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "ubalanceret stak i %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "umulig operator »%u«"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "manglende »)« i udtryk"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "»?« uden efterfølgende »:«"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "heltallet løber over i præprocessorudtrykket"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "manglende »(« i udtryk"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "traditionel C tillader ikke operatoren unær plus"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "kommaoperator i en operand til #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "division med nul i #if"
@@ -800,217 +889,243 @@ msgstr "der er ingen inkluderingssti at søge efter %s i"
msgid "Multiple include guards may be useful for:\n"
msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t skal være en usigneret type"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "målarkitekturs char er mindre end 8 bit bred"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "målarkitekturs int er mindre end målarkitekturs char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-halvheltal er mindre end CPP-tegn"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "omvendt skråstreg og linjeskift er adskilt af mellemrum"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "omvendt skråstreg efterfulgt af linjeskift ved slutningen af filen"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigrafen ??%c konverteret til %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigrafen ??%c ignoreret, brug -trigraphs for at aktivere"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "»/*« i en kommentar"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s i præprocessordirektiv"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "nultegn ignoreret"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "»%.*s« er ikke i NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "»%.*s« er ikke i NFC"
-#: lex.cc:1932
+#: lex.cc:2141
#, fuzzy
#| msgid "__VA_OPT__ is not available until C++2a"
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ er ikke tilgængelig før C++2a"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++2a"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ er ikke tilgængelig før C++2a"
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ kan kun optræde i udfoldelsen af en C++2a-makro med vilkårligt antal parametre"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "forsøg på at bruge forgiftet »%s«"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C++11-makro med vilkårligt antal parametre"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårligt antal parametre"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "kaldenavn »%s« er et specielt operatornavn i C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "rå strengafgrænser længere end 16 tegn"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "ugyldig nylinje i rå strengafgrænser"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ugyldigt tegn »%c« i rå strengafgrænser"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "uafsluttet rå streng"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "nultegn bevaret i strengkonstant"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "manglende afsluttende %c-tegn"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "uafsluttet kommentar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil er ikke kompatible med C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "flerlinjekommentar"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "symbol %s kan ikke staves"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "rå strengafgrænser længere end 16 tegn"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/de.po b/libcpp/po/de.po
index 57edc9b..78cf897 100644
--- a/libcpp/po/de.po
+++ b/libcpp/po/de.po
@@ -5,14 +5,14 @@
# Roland Stigge <stigge@antcom.de>, 2003-2008, 2010, 2012-2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014-2016.
# Philipp Thomas <pth@suse.de>, 2016.
-# Roland Illig <roland.illig@gmx.de>, 2017-2022.
+# Roland Illig <roland.illig@gmx.de>, 2017-2023.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 12.1-b20220213\n"
+"Project-Id-Version: cpplib 13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-02-15 18:43+0100\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-22 18:34+0100\n"
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.2.2\n"
#: charset.cc:683
#, c-format
@@ -41,7 +41,7 @@ msgstr "keine Implementation für iconv, es kann nicht von %s nach %s konvertier
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "Zeichen 0x%lx ist nicht im regulären Quellzeichensatz\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "Konvertierung in Zeichensatz der Ausführung"
@@ -50,128 +50,205 @@ msgstr "Konvertierung in Zeichensatz der Ausführung"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "Zeichen 0x%lx ist kein Unibyte im Ausführungs-Zeichensatz"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universelle Zeichennamen sind nur in C++ und C99 gültig"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "Die universellen Zeichennamen von C99 sind mit C90 nicht kompatibel"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "die Bedeutung von »\\%c« ist in traditionellem C anders"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "»\\N« ohne folgendes »{«"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "leere Escapesequenz für benanntes universelles Zeichen; wird als separate Tokens interpretiert"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "leere Escapesequenz für benanntes universelles Zeichen"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "Escapesequenzen für benannte universelle Zeichen sind erst ab C++23 gültig"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "»\\N{%.*s}« ist kein gültiges universelles Zeichen; wird als separate Tokens interpretiert"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "»\\N{%.*s}« ist kein gültiges universelles Zeichen"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "meinten Sie \\N{%s}?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "»\\N{« ohne dazugehöriges »}« nach %.*s; wird als separate Tokens interpretiert"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "»\\N{« ohne dazugehöriges »}« nach %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "In _cpp_valid_ucn, aber kein UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "leere begrenzte Escapesequenz; wird als separate Tokens interpretiert"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "leere begrenzte Escapesequenz"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "begrenzte Escapesequenzen sind erst ab C++23 gültig"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "»\\u{« ohne dazugehöriges »}« nach %.*s; wird als separate Tokens interpretiert"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "unvollständiger Universal-Zeichenname %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "»\\u{« ohne dazugehöriges »}« nach %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "»%.*s« ist kein gültiges universelles Zeichen"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "»$« in Bezeichner oder Zahl"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s liegt außerhalb des UCS-Zeichenraums"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "UCN wird in Quellzeichensatz konvertiert"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "UCN wird in Ausführungszeichensatz konvertiert"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "erweitertes Zeichen %.*s ist in Bezeichnern nicht erlaubt"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "erweitertes Zeichen %.*s ist am Anfang eines Bezeichners nicht erlaubt"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "die Bedeutung von »\\x« ist in traditionellem C anders"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x ohne folgende Hex-Ziffern verwendet"
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "»\\x{« ohne dazugehöriges »}« nach %.*s"
+
# http://de.wikipedia.org/wiki/Escape-Sequenz
-#: charset.cc:1433
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "Hex-Escape-Sequenz außerhalb des Wertebereiches"
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "»\\o« ohne folgendes »{«"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "»\\o{« ohne dazugehöriges »}« nach %.*s"
+
# http://de.wikipedia.org/wiki/Escape-Sequenz
-#: charset.cc:1483
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "Oktal-Escape-Sequenz außerhalb des Wertebereiches"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "die Bedeutung von »\\a« ist in traditionellem C anders"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "nicht-ISO-standardkonforme Escape-Sequenz »\\%c«"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "unbekannte Escape-Sequenz: »\\%c«"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "unbekannte Escape-Sequenz: »\\%s«"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "Escape-Sequenz wird in Zeichensatz der Ausführung konvertiert"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "Fehlendes öffnendes Anführungszeichen"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "Zeichenkonstante zu lang für ihren Typ"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "Zeichenkonstante mit mehreren Zeichen"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "Leere Zeichenkonstante"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "Fehler beim Konvertieren von %s nach %s"
@@ -186,268 +263,268 @@ msgstr "mehrere Token am Ende der Direktive #%s"
msgid "#%s is a GCC extension"
msgstr "#%s ist eine GCC-Erweiterung"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s vor C++23 ist eine GCC-Erweiterung"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s vor C2X ist eine GCC-Erweiterung"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s ist eine veraltete GCC-Erweiterung"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionelles C ignoriert #%s mit eingerücktem #"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "ungültige Präprozessordirektive #%s; meinten Sie #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ungültige Präprozessordirektive #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "»%s« kann nicht als Makroname verwendet werden"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "kein Makroname in Direktive #%s angegeben"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "Makronamen müssen Bezeichner sein"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "»%s« wird un-definiert"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "fehlendes abschließendes »>«-Zeichen"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "leerer Dateiname in #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "Verschachtelungstiefe von %u #includes überschreitet das Maximum %u (verwenden Sie »-fmax-include-depth=Tiefe«, um das Maximum zu erhöhen)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next in erster Quelldatei"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ungültiges Kennzeichen »%s« in line-Direktive"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "unerwartetes Dateiende nach #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« hinter #line ist keine positive Ganzzahl"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "Zeilennummer ist außerhalb des Wertebereiches"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« ist kein gültiger Dateiname"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« hinter # ist keine positive Ganzzahl"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "der Zeilenmarker in der Datei »%s« wird aufgrung falscher Schachtelung ignoriert"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "ungültige #%s-Direktive"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ist bereits registriert"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ist bereits registriert"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "Pragma mit NULL-Handler wird registriert"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once in Hauptdatei"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "ungültige #pragma push_macro Direktive"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "ungültige #pragma pop_macro Direktive"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "ungültige #pragma GCC Poison Direktive"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "schlechtes existierendes Makro »%s«"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header außerhalb include-Datei ignoriert"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "Quelldatei %s kann nicht gefunden werden"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "aktuelle Datei ist älter als %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ungültige »#pragma GCC %s« Direktive"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else ohne #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else hinter #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "die Bedingung begann hier"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s ohne #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s nach #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s vor C++23 ist eine GCC-Erweiterung"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s vor C2X ist eine GCC-Erweiterung"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif ohne #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "fehlende »(« hinter Prädikat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "fehlende »)«, um Antwort abzuschließen"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "Prädikatantwort ist leer"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "Behauptung ohne Prädikat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "Prädikat muss ein Bezeichner sein"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« wieder behauptet"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "unbeendetes #%s"
@@ -461,177 +538,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "Standardausgabe"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "Festkommakonstanten sind eine GCC-Erweiterung"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ungültiges Präfix »0b« für Gleitkommakonstante"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "Verwendung von hexadezimaler C++17-Gleitkommakonstante"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "Verwendung von hexadezimaler C99-Gleitkommakonstante"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ungültiges Suffix »%.*s« an Gleitkommakonstante"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionelles C lehnt das Suffix »%.*s« ab"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "Suffix an Gleitkommakonstante ist eine GCC-Erweiterung"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ungültiges Suffix »%.*s« mit hexadezimaler Gleitkommakonstante"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "dezimale Gleitkommakonstanten sind ein C2X-Feature"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ungültiges Suffix »%.*s« an Ganzzahlkonstante"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "Verwendung einer long-long-Ganzzahlkonstante aus C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "Verwendung einer long-long-Ganzzahlkonstante aus C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "Verwendung von %<size_t%>-Ganzzahlkonstante aus C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "Verwendung von %<make_signed_t<size_t>%>-Ganzzahlkonstante aus C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginäre Konstanten sind eine GCC-Erweiterung"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäre Konstanten sind ein C++14-Funktionsmerkmal oder eine GCC-Erweiterung"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binäre Konstanten sind ein C2X-Funktionsmerkmal oder eine GCC-Erweiterung"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "binäre Konstanten sind ein C2X-Funktionsmerkmal"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "Ganzzahlkonstante ist zu groß für ihren Typ"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "Ganzzahlkonstante ist so groß, dass sie vorzeichenlos ist"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "fehlende »)« hinter »defined«"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "Operator »defined« erfordert einen Bezeichner"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(»%s« ist ein alternatives Token for »%s« in C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "Gleitkommakonstante in Präprozessorausdruck"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginäre Zahl in Präprozessorausdruck"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "Assertions sind eine GCC-Erweiterung"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "Assertions sind eine veraltete Erweiterung"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "unausgeglichener Keller in %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "unmöglicher Operator »%u«"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "fehlende »)« in Ausdruck"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "»?« ohne folgenden »:«"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "Ganzzahlüberlauf in Präprozessorausdruck"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "fehlende »(« in Ausdruck"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "traditionelles C weist den unären Plus-Operator zurück"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "Kommaoperator in Operand von #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "Division durch Null in #if"
@@ -671,212 +748,236 @@ msgstr "kein Include-Pfad, um %s zu finden"
msgid "Multiple include guards may be useful for:\n"
msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t muss ein vorzeichenloser Typ sein"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "Ziel-char ist weniger als 8 Bits breit"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "Ziel-wchar_t ist schmaler als Ziel-char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "Ziel-int ist schmaler als Ziel-char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "Backslash und Newline durch Leerzeichen getrennt"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "Backslash-Newline am Dateiende"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "Trigraph ??%c in %c konvertiert"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "Trigraph ??%c ignoriert, -trigraphs zum Aktivieren verwenden"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "Ende des bidirektionalen Kontexts"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "ungepaarte UTF-8 bidirektionale Steuerzeichen erkannt"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "ungepaartes UTF-8 bidirektionales Steuerzeichen erkannt"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "UTF-8 vs. UCN-Fehlanpassung beim Schließen eines Kontexts durch »%s«"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "»%s« schließt einen ungeöffneten Kontext"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "problematisches Unicode-Zeichen »%s« gefunden"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "ungültiges UTF-8-Zeichen <%02x>"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "ungültiges UTF-8-Zeichen <%02x><%02x>"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "ungültiges UTF-8-Zeichen <%02x><%02x><%02x>"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "ungültiges UTF-8-Zeichen <%02x><%02x><%02x><%02x>"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "»/*« innerhalb des Kommentars"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s in Präprozessordirektive"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "Null-Zeichen ignoriert"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "»%.*s« ist nicht in NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "»%.*s« ist nicht in NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
-msgstr "__VA_OPT__ ist erst mit C++20 verfügbar"
+msgstr "__VA_OPT__ ist erst ab C++20 verfügbar"
+
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ ist erst ab C2X verfügbar"
-#: lex.cc:1939
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ kann nur in der Expansion eines variadischen C++20-Makros auftreten"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "Versuch, schlechtes »%s« zu verwenden"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C++11-Makros auftreten"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftreten"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "benachbarte Zifferntrennzeichen"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "unbeendete Roh-Zeichenkette"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "Null-Zeichen im Literal erhalten"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "fehlendes abschließendes Zeichen %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "Modul-Steuerzeile darf nicht in eingebundener Datei vorkommen"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "Modul-Steuerzeile \"%s\" darf nicht in einem objektartigen Makro vorkommen"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "nicht beendeter Kommentar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "mehrzeiliger Kommentar"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "nicht buchstabierbares Token %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "Roh-Zeichenketten-Trennsymbol länger als %d Zeichen"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "unbeendetes Literal"
diff --git a/libcpp/po/el.po b/libcpp/po/el.po
index c5a3dec..e2c9419 100644
--- a/libcpp/po/el.po
+++ b/libcpp/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gcc 3.2\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2002-08-18 15:46+0100\n"
"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -35,7 +35,7 @@ msgstr ""
msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr ""
@@ -44,136 +44,214 @@ msgstr ""
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.cc:1087
+#: charset.cc:1437
#, fuzzy
msgid "universal character names are only valid in C++ and C99"
msgstr "U+%04X: "
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr ""
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr ""
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1551
+#, fuzzy, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr " `%s' ."
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+#, fuzzy
+msgid "empty delimited escape sequence"
+msgstr " o "
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr ""
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, fuzzy, c-format
msgid "%.*s is not a valid universal character"
msgstr " `%s' ."
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr ""
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr ""
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr ""
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr " "
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
#, fuzzy
msgid "hex escape sequence out of range"
msgstr " "
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr ""
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
#, fuzzy
msgid "octal escape sequence out of range"
msgstr " "
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
# src/main.c:663
-#: charset.cc:1579
+#: charset.cc:2199
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr " `%s'"
# src/main.c:663
-#: charset.cc:1589
+#: charset.cc:2209
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr " `%s'"
-#: charset.cc:1597
+#: charset.cc:2217
#, fuzzy
msgid "converting escape sequence to execution character set"
msgstr " "
-#: charset.cc:1737
+#: charset.cc:2357
#, fuzzy
msgid "missing open quote"
msgstr " "
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
#, fuzzy
msgid "character constant too long for its type"
msgstr " "
-#: charset.cc:1958
+#: charset.cc:2578
#, fuzzy
msgid "multi-character character constant"
msgstr " `%s'"
-#: charset.cc:2074
+#: charset.cc:2698
#, fuzzy
msgid "empty character constant"
msgstr " "
-#: charset.cc:2230
+#: charset.cc:2882
#, fuzzy, c-format
msgid "failure to convert %s to %s"
msgstr " %s `%s' `%s'"
@@ -188,276 +266,276 @@ msgstr ""
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr ""
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr ""
+
+#: directives.cc:407
#, fuzzy, c-format
msgid "#%s is a deprecated GCC extension"
msgstr " `%s' "
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr ""
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr ""
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.cc:630
+#: directives.cc:645
#, fuzzy
msgid "macro names must be identifiers"
msgstr " "
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, fuzzy, c-format
msgid "undefining \"%s\""
msgstr " %s"
-#: directives.cc:741
+#: directives.cc:756
#, fuzzy
msgid "missing terminating > character"
msgstr " "
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.cc:846
+#: directives.cc:861
#, fuzzy, c-format
msgid "empty filename in #%s"
msgstr " %s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr ""
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.cc:996
+#: directives.cc:1011
#, fuzzy, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "%s' ."
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
#, fuzzy
msgid "line number out of range"
msgstr "%s: "
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, fuzzy, c-format
msgid "\"%s\" is not a valid filename"
msgstr "%s' ."
-#: directives.cc:1058
+#: directives.cc:1073
#, fuzzy, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "%s' ."
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "%%%c: ."
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: directives.cc:1327
+#: directives.cc:1342
#, fuzzy, c-format
msgid "#pragma %s is already registered"
msgstr " `%s' "
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr ""
-#: directives.cc:1597
+#: directives.cc:1612
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "%%%c: ."
-#: directives.cc:1654
+#: directives.cc:1669
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "%%%c: ."
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.cc:1762
+#: directives.cc:1777
#, fuzzy, c-format
msgid "cannot find source file %s"
msgstr " : %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.cc:1790
+#: directives.cc:1805
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr " `%s' ."
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr ""
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr ""
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr ""
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr ""
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr ""
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr ""
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr ""
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr ""
-#: directives.cc:2351
+#: directives.cc:2367
#, fuzzy
msgid "assertion without predicate"
msgstr " "
-#: directives.cc:2354
+#: directives.cc:2370
#, fuzzy
msgid "predicate must be an identifier"
msgstr " "
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.cc:2754
+#: directives.cc:2770
#, fuzzy, c-format
msgid "unterminated #%s"
msgstr " o "
@@ -472,138 +550,138 @@ msgstr "%s: %s"
msgid "stdout"
msgstr ""
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.cc:657
+#: expr.cc:671
#, fuzzy
msgid "invalid prefix \"0b\" for floating constant"
msgstr " : %s"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr ""
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.cc:717
+#: expr.cc:731
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr " : %s"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.cc:742
+#: expr.cc:756
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr " : %s"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
msgid "decimal float constants are a C2X feature"
msgstr "%s: %s "
-#: expr.cc:778
+#: expr.cc:792
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr " `%s'"
-#: expr.cc:803
+#: expr.cc:817
#, fuzzy
msgid "use of C++11 long long integer constant"
msgstr " `%s'"
-#: expr.cc:804
+#: expr.cc:818
#, fuzzy
msgid "use of C99 long long integer constant"
msgstr " `%s'"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr ""
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr ""
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr ""
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr ""
-#: expr.cc:940
+#: expr.cc:954
#, fuzzy
msgid "integer constant is too large for its type"
msgstr "%s: %s "
-#: expr.cc:971
+#: expr.cc:985
#, fuzzy
msgid "integer constant is so large that it is unsigned"
msgstr "%s: %s "
-#: expr.cc:1066
+#: expr.cc:1080
#, fuzzy
msgid "missing ')' after \"defined\""
msgstr " "
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.cc:1144
+#: expr.cc:1158
#, fuzzy
msgid "floating constant in preprocessor expression"
msgstr " "
-#: expr.cc:1150
+#: expr.cc:1164
#, fuzzy
msgid "imaginary number in preprocessor expression"
msgstr " "
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr " `%s' "
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr ""
@@ -611,54 +689,54 @@ msgstr ""
# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
-#: expr.cc:1461
+#: expr.cc:1479
#, fuzzy, c-format
msgid "unbalanced stack in %s"
msgstr " ["
-#: expr.cc:1481
+#: expr.cc:1499
#, fuzzy, c-format
msgid "impossible operator '%u'"
msgstr "RPC: RPC"
-#: expr.cc:1582
+#: expr.cc:1600
#, fuzzy
msgid "missing ')' in expression"
msgstr " "
-#: expr.cc:1611
+#: expr.cc:1629
#, fuzzy
msgid "'?' without following ':'"
msgstr " : %s"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.cc:1626
+#: expr.cc:1644
#, fuzzy
msgid "missing '(' in expression"
msgstr " "
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.cc:2156
+#: expr.cc:2174
#, fuzzy
msgid "division by zero in #if"
msgstr " : %s"
@@ -700,217 +778,241 @@ msgstr ""
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.cc:618
+#: init.cc:631
#, fuzzy
msgid "cppchar_t must be an unsigned type"
msgstr " "
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr ""
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.cc:1131
+#: lex.cc:1137
#, fuzzy
msgid "backslash-newline at end of file"
msgstr " "
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, fuzzy, c-format
msgid "found problematic Unicode character \"%s\""
msgstr " "
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, fuzzy, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr " `%c' `%s'"
+
+#: lex.cc:1752 lex.cc:1758
+#, fuzzy, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr " `%c' `%s'"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr ""
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: lex.cc:1784
+#: lex.cc:1988
#, fuzzy
msgid "null character(s) ignored"
msgstr " : "
-#: lex.cc:1844
+#: lex.cc:2049
#, fuzzy, c-format
msgid "`%.*s' is not in NFKC"
msgstr " `%s' "
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, fuzzy, c-format
msgid "`%.*s' is not in NFC"
msgstr " `%s' "
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr ""
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr " `%c' `%s'"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
#, fuzzy
msgid "unterminated raw string"
msgstr " o "
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr " %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
#, fuzzy
msgid "unterminated comment"
msgstr " `s'"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr ""
-#: lex.cc:4165
+#: lex.cc:4427
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "%s: %s: %m\n"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr ""
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
msgid "unterminated literal"
msgstr " o "
@@ -4372,10 +4474,6 @@ msgstr " "
#~ msgstr " `%s'"
#, fuzzy
-#~ msgid "Unterminated escape sequence `\\' at %0"
-#~ msgstr " o "
-
-#, fuzzy
#~ msgid "Hex escape at %0 out of range"
#~ msgstr " "
diff --git a/libcpp/po/eo.po b/libcpp/po/eo.po
index 846fcf47..81f8806 100644
--- a/libcpp/po/eo.po
+++ b/libcpp/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 12.1-b20220213\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2023-01-08 14:43-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -37,7 +37,7 @@ msgstr "neniu realigo de iconv, ne eblas konverti de %s al %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "la signo 0x%lx ne estas en la baza fonta signaro\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "konverto al plenumiga signaro"
@@ -46,126 +46,215 @@ msgstr "konverto al plenumiga signaro"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "la signo 0x%lx ne estas unubajta en plenumiga signaro"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universalaj signo-nomoj nur validas en C++ kaj C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "Universalaj signo-nomoj de C99 ne interakordas kun C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "la signifo de '\\%c' estas malsama en tradicia C"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "'?' sen sekvanta ':'"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "nekompleta universala signo-nomo %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "universalaj signo-nomoj nur validas en C++ kaj C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s ne estas valida universala signo"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s ne estas valida universala signo"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "En _cpp_valid_ucn sed ne estas UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "universalaj signo-nomoj nur validas en C++ kaj C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nekompleta universala signo-nomo %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ne estas valida universala signo"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "'$' en identiganto aŭ numero"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "la universala signo %.*s ne estas valida en identiganto"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "la universala signo %.*s ne estas valida en komenco de identiganto"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s estas for de kodspaco UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "konverto de UCN al la fonta signaro"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "konverto de UCN al la plenumiga signaro"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "etendita signo %.*s ne estas valida en identiganto"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "etendita signo %.*s ne estas valida en komenco de identiganto"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "la signifo de '\\x' estas malsama en tradicia C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x estis uzata kun la jenaj deksesumaj ciferoj"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "deksesuma eskapa sekvo estas for de intervalo"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "'?' sen sekvanta ':'"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "okuma eskapa sekvo estas for de intervalo"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "la signifo de '\\a' estas malsama en tradicia C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ne-ISO-norma eskapa sekvo, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "nekonata eskapa sekvo: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "nekonata eskapa sekvo: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "konverto de eskapa sekvo al plenumiga signaro"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "mankas komenca citilo"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "signa konstanto tro longas por ties tipo"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "plursigna signa konstanto"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "malplena signa konstanto"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "problemo por konverti %s al %s"
@@ -180,268 +269,268 @@ msgstr "kromaj ĵetonoj ĉe la fino de la direktivo #%s"
msgid "#%s is a GCC extension"
msgstr "#%s estas aldono de GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s antaŭ C++23 estas aldono de GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s antaŭ C2X estas aldono de GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s estas evitinda aldono de GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "sugesti ne uzi #elif en tradicia C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "enkorpigi direktivon ene de makroaj argumentoj ne estas portebla"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "stilo de lini-direktivoj estas aldono de GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "malvalida antaŭproceza direktivo #%s; ĉu vi intencis #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "malvalida antaŭproceza direktivo #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"%s\" ne povas estis uzata kiel makroa nomo"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "neniu makroa nomo estas indikita en la direktivo #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makroaj nomoj devas esti identigantoj"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "ni maldifinas \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "mankas finiganta signo >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "malplena dosiernomo en #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "nestita profundo %u de #include superas maksimumon %u (uzu -fmax-include-depth=PROFUNDO por pligrandigi la maksimumon)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next en ĉefa fonta dosiero"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "malvalida flago \"%s\" en lini-direktivo"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "neatendita dosierfino post #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" post #line ne estas pozitiva entjero"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "lininumero estas for de intervalo"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" ne estas valida dosiernomo"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" post # ne estas pozitiva entjero"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "malvalida direktivo #%s"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s jam estas registrita"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s jam estas registrita"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "registro de pragma kun traktilo de NULL"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma unufoje en ĉefdosiero"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "malvalida direktivo #pragma push_macro"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "malvalida direktivo #pragma pop_macro"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "malvalida direktivo #pragma GCC poison"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "venenigo de ekzistanta makroo \"%s\""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "ne eblas trovi la fontan dosieron %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "nuna dosiero estas pli malnova ol %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "malvalida direktivo \"#pragma GCC %s\""
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else sen #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else post #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "la kondiĉo komencis ĉi tie"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s sen #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s post #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s antaŭ C++23 estas aldono de GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s antaŭ C2X estas aldono de GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif sen #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "mankas '(' post predikato"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "mankas ')' por kompletigi respondon"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "respondo de predikato estas malplena"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "aserto sen predikato"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predikato devas esti identiganto"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" estas re-asertita"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "nefinigita #%s"
@@ -455,177 +544,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "ĉefeligujo"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "fisk-komaj konstantoj estas aldono de GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "malvalida prefikso \"0b\" por glitkoma konstanto"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "uzo de deksesuma glitkoma konstanto de C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "uzo de deksesuma glitkoma konstanto de C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "malvalida sufikso \"%.*s\" en glitkoma konstanto"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "tradicia C rifuzas la sufikson \"%.*s\""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "sufikso por duobla konstanto estas aldono de GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "malvalida sufikso \"%.*s\" kun deksesuma glitkoma konstanto"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "dekumaj glitkomaj konstantoj estas apartaĵo de C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "malvalida sufikso \"%.*s\" en entjera konstanto"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "uzo de konstanto C++11 long long integer"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "uzo de konstanto de C99 long long integer"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "uzo de konstanto C++23 %<size_t%> integer"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "uzo de konstanto C++23 %<make_signed_t<size_t>%> integer"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginaraj konstantoj estas aldono de GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "duumaj konstantoj estas apartaĵo de C++14 aŭ aldono de GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "duumaj konstantoj estas apartaĵo de C2X aŭ aldono de GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "duumaj konstantoj estas apartaĵo de C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "entjera konstanto tro larĝas pro ties tipo"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "entjera konstanto estas tiom larĝa ke ĝi estas sen-signuma"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "mankas ')' post \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "la operatoro \"defined\" postulas identiganton"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "glitkoma konstanto en antaŭproceza esprimo"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginara numero en antaŭproceza esprimo"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" ne estas difinita, rezultas al 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "asertoj estas aldono de GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "asertoj estas evitinda aldono"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "neekvilibrita stako en %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "neebla operatoro '%u'"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "mankas ')' en esprimo"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' sen sekvanta ':'"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "entjera troigo en antaŭproceza esprimo"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "mankas '(' en esprimo"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "tradicia C rifuzas la unuloka plusan operatoron"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "koma operatoro en operaciado de #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "divido per nulo en #if"
@@ -665,212 +754,238 @@ msgstr "estas neniu inkluziva vojo por serĉi %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t devas esti sensignuma tipo"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "la celata char estas pli eta ol 8 bitoj"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "la celata int estas pli mallarĝa ol la celata char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "Duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "retroklino kaj novlinio apartitaj de spaco"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "retroklino-novlinio ĉe dosierfino"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigrafikaĵo ??%c konvertita al %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigrafikaĵo ??%c preteratentita, uzu -trigraphs por ebligi"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "fino de dudirekta kunteksto"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "neparigitaj dudirektaj regaj signoj de UTF-8 estas detektitaj"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "neparigita dudirekta rega signo de UTF-8 estas detektita"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "Malkongruo inter UTF-8 kaj UCN dum fermo de kunteksto farite de \"%s\""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "\"%s\" fermas malfermitan kuntekston"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "estas trovita problema unikoda signo \"%s\""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" ene de komento"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en antaŭproceza direktivo"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "nul-signo(j) estas preteratentitaj"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "'%.*s' ne estas en NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "'%.*s' ne estas en NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ ne disponeblas ĝis C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ ne disponeblas ĝis C++20"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ nur povas aperi en la disvolviĝo de variebl-argumenta makroo de C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "provo uzi venenitan \"%s\""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ nur povas aperi en la disvolviĝo de variebl-argumenta makroo de C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ nur povas aperi en la disvolviĝo de variebl-argumenta makroo de C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "apudaj cifero-apartigiloj"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "malvalida nov-linio en kruda ĉen-apartigilo"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "nefinigita kruda ĉeno"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "nul-signo(j) tenitaj en literaĵo"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "mankas finigantan signon %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "modula kontrol-linio ne povas aperi en inkludita dosiero"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "la modula kontrol-linio %s ne povas esti objekteca makroo"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "nefinigita komento"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "plurlinia komento"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "neliterumebla ĵetono %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "kruda ĉen-apartigilo pli longas ol %d signoj"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "nefinigita literaĵo"
diff --git a/libcpp/po/es.po b/libcpp/po/es.po
index 5b82b61..abdbe1f9 100644
--- a/libcpp/po/es.po
+++ b/libcpp/po/es.po
@@ -1,15 +1,15 @@
# Spanish localization for cpplib
-# Copyright (C) 2001 - 2021 Free Software Foundation, Inc.
+# Copyright (C) 2001 - 2023 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
# Antonio Ceballos Roa <aceballos@gmail.com>, 2021.
-# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001 - 2012, 2022.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001 - 2012, 2022, 2023.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 12.1-b20220213\n"
+"Project-Id-Version: cpplib 13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-05-04 09:43-0500\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-22 09:59-0600\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -37,7 +37,7 @@ msgstr "no hay una implementación de iconv, no se puede convertir de %s a %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "el carácter 0x%lx no está en el conjunto básico de caracteres fuente\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "convirtiendo al conjunto de caracteres de ejecución"
@@ -46,126 +46,203 @@ msgstr "convirtiendo al conjunto de caracteres de ejecución"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "el carácter 0x%lx no es unibyte en el conjunto de caracteres de ejecución"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "los nombres universales de carácter sólo son válidos en C++ y C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "los nombres universales de carácter de C99 son incompatibles con C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "el significado de '\\%c' es diferente en C tradicional"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "'\\N' no tiene una '{' a continuación"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "la secuencia de escape de carácter universal nombrada está vacía; se trata como elementos separados"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "la secuencia de escape de carácter universal nombrada está vacía"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "las secuencias de escape de carácter universal nombradas sólo son válidas en C++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "\\N{%.*s} no es un carácter universal válido; se trata como elementos separados"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\\N{%.*s} no es un carácter universal válido"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "¿Quiso decir \\N{%s}?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "'\\N{' no termina con '}' después de %.*s; se trata como elemntos separados"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "'\\N{' no termina con '}' después de %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "En _cpp_valid_unc pero no es un NUC"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "secuencia de escape delimitada vacía; se trata como elementos separados"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "secuencia de escape delimitada vacía"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "las secuencias de escape delimitadoas sólo son válidas en C++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "'\\u{' no termina con '}' después de %.*s; se trata como elementos separados"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nombre universal de carácter %.*s incompleto"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "'\\u{' no termina con '}' después de %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s no es un carácter universal válido"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "'$' en el identificador o número"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "el carácter universal %.*s no es válido en un identificador"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "el carácter universal %.*s no es válido al inicio de un identificador"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s está fuera del espacio de código UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "convirtiendo un NUC al conjunto de caracteres fuente"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "convirtiendo un NUC al conjunto de caracteres de ejecución"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "el carácter extendido %.*s no es válido en un identificador"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "el carácter extendido %.*s no es válido al inicio de un identificador"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "el significado de '\\x' es diferente en C tradicional"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "se usó \\x sin dígitos hexadecimales a continuación"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "'\\x{' no termina con '}' después de %.*s"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "secuencia de escape hexadecimal fuera de rango"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "'\\o' no tiene una '{' a continuación"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "'\\o{' no termina con '}' después de %.*s"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "secuencia de escape octal fuera de rango"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "el significado de '\\a' es diferente en C tradicional"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "secuencia de escape que no es estándard ISO, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "secuencia de escape desconocida: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "secuencia de escape desconocida: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "se convierte una secuencia de escape al conjunto de caracteres de ejecución"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "falta comilla abierta"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "constante de carácter demasiado grande para su tipo"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "constante de carácter con múltiples caracteres"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "constante de carácter vacía"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "no se puede convertir %s a %s"
@@ -180,268 +257,268 @@ msgstr "elementos extra al final de la directiva #%s"
msgid "#%s is a GCC extension"
msgstr "#%s es una extensión de GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s antes de C++23 es una extensión de GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s antes de C2X es una extensión de GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s es una extensión de GCC obsoleta"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "se sugiere no usar #elif en C tradicional"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional descarta #%s con el # indentado"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "se sugiere ocultar #%s de C tradicional con un # indentado"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "la directiva de estilo de línea es una extensión de GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "directiva de preprocesamiento #%s inválida. ¿Quería decir #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocesamiento #%s inválida"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "«%s» no se puede utilizar como nombre de macro"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "no se puede utilizar «%s» como un nombre de macro porque es un operador en C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "no se dio un nombre de macro en la directiva #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "los nombres de macro deben ser identificadores"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "borrando la definición de «%s»"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "falta el carácter de terminación >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nombre de fichero vacío en #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "la profundidad anidada %u de #include excede el máximo %u (utilice -fmax-include-depth=PROFUNDIDAD para aumentar el máximo)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next en fichero primario de código fuente"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador «%s» inválido en la línea de directiva"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "fin de fichero inesperado después de #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "«%s» después de #line no es un entero positivo"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "número de línea fuera de rango"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "«%s» no es un nombre de fichero válido"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "«%s» después de # no es un entero positivo"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "se descarta la marca lineal de fichero «%s» debido a anidación incorrecta"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "directiva #%s inválida"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ya está registrado"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ya está registrado"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "se registra un pragma con manejador NULL"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma una vez en el fichero principal"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma push_macro inválida"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma pop_macro inválida"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC envenenada inválida"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "se envenena el macro existente «%s»"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "se descarta #pragma system_header fuera del fichero a incluir"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "no se puede encontrar el fichero fuente %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "el fichero actual es más antiguo que %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva «#pragma GCC %s» inválida"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma lleva una cadena literal entre paréntesis"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else sin #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else después de #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "el condicional empezó aquí"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s sin #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s después de #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s antes de C++23 es una extensión de GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s antes de C2X es una extensión de GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif sin #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "falta '(' después del predicado"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "falta ')' para completar la respuesta"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "la respuesta del predicado está vacía"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "afirmación sin predicado"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "el predicado debe ser un identificador"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "«%s» reafirmado"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "#%s sin terminar"
@@ -455,177 +532,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "salida estándard"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "las constantes de coma fija son una extensión GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "prefijo «0b» inválido en la constante de coma flotante"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "uso de una constante de coma flotante hexadecimal C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "uso de una constante de coma flotante hexadecimal C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufijo «%.*s» inválido en la constante de coma flotante"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "C tradicional rechaza «%.*s» como sufijo"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "el sufijo para una constante doble es una extensión GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufijo «%.*s» inválido en la constante de coma flotante hexadecimal"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "las constantes de coma flotante decimal son una característica de C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufijo «%.*s» inválido en la constante entera"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "uso de una constante entera long long C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "uso de una constante entera long long C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "uso de constante entera %<size_t%> de C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "uso de constante entera %<make_signed_t<size_t>%> de C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "las constantes imaginarias son una extensión de GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "las constantes binarias son una característica C++14 o una extensión de GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "las constantes binarias son una característica de C2X o una extensión de GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "las constantes binarias son una característica de C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "la constante entera es demasiado grande para su tipo"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "la constante entera es tan grande que es unsigned"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "falta ')' después de «defined»"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "el operador «defined» requiere un identificador"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(«%s» es un elemento alternativo para «%s» en C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "este uso de «defined» puede no ser transportable"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida por el usuario en una expresión del preprocesador"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "constante de coma flotante en una expresión del preprocesador"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "número imaginario en una expresión del preprocesador"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "«%s» no está definido, evalúa a 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "las aserciones son una extensión GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "las aserciones son una extensión obsoleta"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "pila desbalanceada en %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operador '%u' imposible"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "falta ')' en la expresión"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' sin ':' a continuación"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "desbordamiento entero en expresión del preprocesador"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "falta '(' en la expresión"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "el operando derecho de «%s» cambia de signo cuando es promovido"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rechaza el operador unario mas"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "operador coma en operando de #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "división entre cero en #if"
@@ -665,212 +742,236 @@ msgstr "no hay ruta de inclusión en la cual se pueda buscar %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Guardias múltiples de include pueden ser útiles para:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t debe ser de un tipo unsigned"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "el char del objetivo tiene menos de 8 bits de ancho"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "el int del objetivo es más estrecho que el char del objetivo"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "caracteres de barra invertida y fin de línea separados por espacio"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "no hay caractér de barra invertida o fin de línea al final del fichero"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "se convierte el trigrafo ??%c a %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "se descarta el trigrafo ??%c, use -trigraphs para reconocerlo"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "final del contexto bidireccional"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "se detectaron caracteres de control bidireccional UTF-8 sin emparejar"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "se detectó un carácter de control bidireccional UTF-8 sin emparejar"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "no coincide UTF-8 vs UCN al cerrar un contexto por «%s»"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "«%s» está cerrando un contexto sin abrir"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "se encontró el carácter Unicode problemático «%s»"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "carácter UTF-8 <%x> inválido"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "carácter UTF-8 <%x><%x> inválido"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "carácter UTF-8 <%x><%x><%x> inválido"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "carácter UTF-8 <%x><%x><%x><%x> inválido"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "«/*» dentro de un comentario"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en la directiva de preprocesamiento"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "se descarta(n) caracter(es) nulo(s)"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' no está en NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' no está en NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ no está disponible hasta C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ no está disponible hasta C2X"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ solamente puede aparecer en la expansión de una macro variadic de C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "intento de utilizar «%s» envenenado"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro variadic C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro variadic C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "el identificador «%s» es un nombre de operador especial en C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "separadores de dígito adyacentes"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "el delimitador de cadena cruda es más largo que 16 caracteres"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "carácter inválido nueva línea en un delimitador de cadena cruda"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "carácter inválido '%c' en un delimitador de cadena cruda"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "cadena cruda sin terminar"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "caracter(es) nulo(s) preservados en la literal"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "falta el carácter de terminación %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requiere un espacio entre cadena literal y macro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "la línea de control del módulo no puede estar en un fichero incluido"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "la línea de control del módulo «%s» no puede ser una macro de tipo objeto"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "comentario sin terminar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "los comentarios de estilo C++ son incompatibles con C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "comentario en múltiples líneas"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "elemento %s impronunciable"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "el delimitador de cadena cruda es mayor de %d caracteres"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "literal sin terminar"
diff --git a/libcpp/po/fi.po b/libcpp/po/fi.po
index 79cabe3..8923d06 100644
--- a/libcpp/po/fi.po
+++ b/libcpp/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 10.1-b20200209\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2020-02-11 17:27+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -39,7 +39,7 @@ msgstr "ei iconv-toteutusta, muunnosta %s -> %s ei voida suorittaa"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "merkki 0x%lx ei ole peruslähdemerkistössä\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "muunnetaan suoritusmerkistöön"
@@ -48,127 +48,216 @@ msgstr "muunnetaan suoritusmerkistöön"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "merkki 0x%lx ei ole yksitavuinen suoritusmerkistössä"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:n universaalit merkkinimet ovat epäyhteensopivia C90:n kanssa"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "’\\%c’:lla on eri merkitys perinteisessä C:ssä"
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "vaillinainen universaali merkkinimi %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s ei ole kelvollinen universaali merkki"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s ei ole kelvollinen universaali merkki"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
# UCN tarkoittaa Universal Character Names ja se sallii minkä tahansa kirjaimen käyttämisen C-lähdekielessä, ei vain englanninkielen kirjainten käytön. Merkki voidaan ilmaista joko kenoviivalla, sitä seuraavalla pienellä u-kirjaimella ja nelinumeroisella heksadesimaaliluvulla tai kenoviivaa seuraavalla suurella U-kirjaimella ja kahdeksannumeroisella heksadesimaaliluvulla.
-#: charset.cc:1103
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Funktiossa _cpp_valid_ucn mutta ei ole UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "vaillinainen universaali merkkinimi %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ei ole kelvollinen universaali merkki"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "’$’ tunnisteessa tai lukuarvossa"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunniste"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s on UCS-koodiston ulkopuolella"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkistöön"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "muunnetaan UCN suoritusmerkistöön"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunniste"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunnisteen alussa"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "’\\%x’:lla on eri merkitys perinteisessä C:ssä"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x:ää käytetty ilman seuraavia heksanumeroita"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "heksadesimaalinen ohjaussarja sallitun välin ulkopuolella"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "oktaalinen ohjaussarja sallitun välin ulkopuolella"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "’\\a’:lla on eri merkitys perinteisessä C:ssä"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO-standardiin kuulumaton ohjaussarja ’\\%c’"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "tuntematon ohjaussarja ’\\%c’"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "tuntematon ohjaussarja ’\\%s’"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "muunnetaan ohjaussarja suoritusmerkistöön"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "avautuva sulje puuttuu"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tyypilleen"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "monimerkkinen merkkivakio"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "tyhjä merkkivakio"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "muunnos %s -> %s epäonnistui"
@@ -183,274 +272,274 @@ msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennos"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s on GCC-laajennos"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s on GCC-laajennos"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennos"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennos"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "virheellinen esikääntäjän direktiivi #%s"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikääntäjän direktiivi #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "”%s” ei ole kelvollinen makron nimi"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makron nimeä ei ole annettu #%s-direktiivissä"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makrojen nimien on oltava tunnisteita"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "kumotaan määrittely ”%s”"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "päättävä >-merkki puuttuu"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi direktiivissä #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include-sisäkkäisyyssyvyys %u ylittää maksimin %u (valitsin -fmax-include-depth=SYVYYS suurentaa maksimia)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "rivinumero sallitun välin ulkopuolella"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once päätiedostossa"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro -direktiivi"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "virheellinen #pragma pop_macro -direktiivi"
# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison -direktiivi"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "myrkytetään olemassa oleva makro ”%s”"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedostoa %s ei löydy"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s” -direktiivi"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else ilman #if:iä"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else #else:n jälkeen"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "ehtolause alkoi tästä"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else ilman #if:iä"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else #else:n jälkeen"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s on GCC-laajennos"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s on GCC-laajennos"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif ilman #if:iä"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "’(’ puuttuu predikaatin jäljestä"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "’)’ puuttuu vastauksen täydentämisestä"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "väite ilman predikaattia"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” väitetty uudelleen"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"
@@ -464,186 +553,186 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "vakiotuloste"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "kiintopistevakiot ovat GCC-laajennos"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "virheellinen etuliite ”0b” liukulukuvakiolle"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "C++17:n heksadesimaaliliukulukuvakion käyttö"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "C99:n heksadesimaaliliukulukuvakion käyttö"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiolla"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "perinteinen C ei salli ”%.*s”-loppuliitettä"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "loppuliite double-vakiolle on GCC-laajennos"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "virheellinen loppuliite ”%.*s” heksadesimaalisella liukulukuvakiolla"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "C99:n long long -kokonaislukuvakion käyttö"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginäärivakiot ovat GCC-laajennos"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a C++14 feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "decimal float constants are a C2X feature"
msgid "binary constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "kokonaislukuvakio on liian suuri tyypilleen"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "kokonaislukuvakio on niin suuri, että se on etumerkitön"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "’)’ puuttuu ”defined”-sanan jäljestä"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operaattori ”defined” vaatii tunnisteen"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikääntäjän lausekkeessa"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginääriluku esikääntäjän lausekkeessa"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "väitteet ovat GCC-laajennos"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "väitteet ovat vanhentunut laajennos"
# %s on #if tai #elif
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino %s:ssä"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "’)’ puuttuu lausekkeesta"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "’(’ puuttuu lausekkeesta"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C ei salli unaarista plus-operaattoria"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if:in operandissa"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "jako nollalla #if-ehdossa"
@@ -683,224 +772,250 @@ msgstr "ei include-polkua, josta etsiä tiedostoa %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t:n on oltava etumerkitön tyyppi"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "kenoviiva ja rivinvaihto erotettu välilyönnillä"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "kenoviiva-rivinvaihto tiedoston lopussa"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "kolmoismerkki ??%c muunnettu merkiksi %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "kolmoismerkki ??%c ohitettiin, ota käyttöön valitsimella -trigraphs"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "”/*” kommentin sisällä"
# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s esikääntäjän direktiivissä"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "null-merkit ohitetaan"
# NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” ei ole NFKC-muodossa"
# NFC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” ei ole NFC-muodossa"
-#: lex.cc:1932
+#: lex.cc:2141
#, fuzzy
#| msgid "__VA_OPT__ is not available until C++2a"
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ ei ole saatavilla ennen C++2a:ta"
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++2a"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ ei ole saatavilla ennen C++2a:ta"
+
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: lex.cc:1939
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ voi esiintyä vain C++2a:n variadisen makron lavennoksessa"
# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "myrkytetyn makron ”%s” käyttöyritys"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C++11:n variadisen makron lavennoksessa"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "päättämätön raaka merkkijono"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaalissa"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "päättävä merkki %c puuttuu"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "päättämätön kommentti"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "monirivinen kommentti"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "kirjoitusasuton symboli %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/fr.po b/libcpp/po/fr.po
index ccf8a33..55f7bcc 100644
--- a/libcpp/po/fr.po
+++ b/libcpp/po/fr.po
@@ -4,7 +4,7 @@
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
# François-Xavier Coudert <fxcoudert@gcc.gnu.org>, 2008.
# Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.
-# Frédéric Marchal <fmarchal@perso.be>, 2022.
+# Frédéric Marchal <fmarchal@perso.be>, 2023.
#
# Vocabulaire utilisé
# lvalue = membre gauche
@@ -120,10 +120,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU cpplib-12.1-b20220213\n"
+"Project-Id-Version: GNU cpplib-13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-02-15 11:31+0100\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-22 12:28+0100\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -152,7 +152,7 @@ msgstr "pas d’implémentation iconv, impossible de convertir %s vers %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "le caractère 0x%lx n’est pas dans le jeu de caractères source de base\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "conversion vers un jeu de caractères d’exécution"
@@ -161,127 +161,205 @@ msgstr "conversion vers un jeu de caractères d’exécution"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "le caractère 0x%lx n’est pas un octet unique dans le jeu de caractères d’exécution"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "les noms de caractères universels sont seulement valides en C++ et C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "les noms de caractères universels du C99 sont incompatibles avec ceux du C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "la signification de « \\%c » est différente en C traditionnel"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "« \\N » n’est pas suivi de « { »"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "la séquence d'échappement de caractère universel nommé est vide ; traités comme des éléments lexicaux séparés"
+
+# FIXME
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "la séquence d'échappement de caractère universel nommé est vide"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "les séquences d'échappement de caractères universels nommés sont seulement valides en C++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "\\N{%.*s} n'est pas un caractère universel valide ; ils sont traités comme des éléments lexicaux séparés"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\\N{%.*s} n’est pas un caractère universel valide"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "vouliez-vous utiliser \\N{%s} ?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "« \\N{ » n'est pas terminé par « } » après %.*s ; ils sont traités comme des éléments lexicaux séparés"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "« \\N{ » n'est pas terminé par « } » après %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Est dans _cpp_valid_ucn mais n'est pas un UCN"
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "la séquence d'échappement délimitée est vide ; elles sont traitées comme des éléments lexicaux séparés"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "la séquence d'échappement délimitée est vide"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "les séquences d'échappement délimitées sont seulement valides en C++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "« \\u{ » n'est pas terminé par « } » après %.*s ; ils sont traités comme des éléments lexicaux séparés"
+
# FIXME
-#: charset.cc:1136
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nom de caractère universel incomplet %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "« \\u{ » n'est pas terminé par « } » après %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s n’est pas un caractère universel valide"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "« $ » dans un identificateur ou un nombre"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "le caractère universel %.*s n’est pas valide dans un identificateur"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s est en dehors de l'espace de code UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "conversion d'un UCN vers le jeu de caractères source"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "conversion d'un UCN vers le jeu de caractères d’exécution"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "le caractère étendu %.*s n’est pas valide dans un identificateur"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "le caractère étendu %.*s n’est pas valide au début d’un identificateur"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "la signification de « \\x » est différente en C traditionnel"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x utilisé sans être suivi de chiffres hexadécimaux"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "« \\x{ » n'est pas terminé par « } » après %.*s"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "séquence d’échappement hexadécimale hors intervalle"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "« \\o » n’est pas suivi de « { »"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "« \\o{ » n'est pas terminé par « } » après %.*s"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "séquence d’échappement octale hors intervalle"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "la signification de « \\a » est différente en C traditionnel"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "séquence d’échappement « \\%c » non conforme au standard ISO"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "séquence d'échappement inconnue : « \\%c »"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "séquence d’échappement « \\%s » inconnue"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "conversion d’une séquence d’échappement vers le jeu de caractères d’exécution"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "guillemet ouvrant de chaîne de caractères manquant"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "constante caractère trop longue pour son type"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "constante caractère multi-caractères"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "constante caractère vide"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "échec de conversion de %s vers %s"
@@ -296,268 +374,268 @@ msgstr "éléments lexicaux superflus à la fin de la directive #%s"
msgid "#%s is a GCC extension"
msgstr "#%s est une extension GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s avant C++23 est une extension GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s avant C2X est une extension GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s est une extension obsolète de GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "placer une directive dans les arguments d’une macro n’est pas portable"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "la directive de style de ligne est une extension GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "la directive de pré-traitement #%s est invalide ; vouliez-vous utiliser #%s ?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "la directive de pré-traitement #%s est invalide"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "« %s » ne peut être utilisé comme nom de macro"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "aucun nom de macro donné dans la directive #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "les noms de macro doivent être des identificateurs"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "suppression de la définition de « %s »"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "caractère > de terminaison manquant"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fichier vide dans #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "la profondeur d'imbrication %u des #include dépasse le maximum %u (utilisez -fmax-include-depth=PROFONDEUR pour augmenter le maximum)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next dans un fichier source primaire"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "drapeau « %s » invalide dans la ligne de directive"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "fin de fichier inattendue après #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "« %s » après #line n’est pas un nombre entier positif"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "numéro de ligne hors intervalle"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "« %s » n’est pas un nom de fichier valide"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "« %s » après # n’est pas un nombre entier positif"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "directive #%s invalide"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "le #pragma %s %s est déjà enregistré"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "le #pragma %s est déjà enregistré"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "enregistrement d’un pragma avec un handler NULL"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once utilisé une seule fois dans le fichier principal"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "directive #pragma push_macro invalide"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "directive #pragma pop_macro invalide"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "directive #pragma GCC poison invalide"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "empoisonnement de la macro existante « %s »"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "impossible de trouver le fichier source %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "le fichier courant est plus vieux que %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directive « #pragma GCC %s » invalide"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma attend une chaîne entourée de parenthèses"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else sans #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else après #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "la condition débute ici"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s sans #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s après #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s avant C++23 est une extension GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s avant C2X est une extension GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif sans #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "« ( » manquante après le prédicat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "« ) » manquante pour compléter la réponse"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "la réponse du prédicat est vide"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "assertion sans prédicat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "le prédicat doit être un identificateur"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "assertion « %s » redondante"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "#%s non terminé"
@@ -571,177 +649,177 @@ msgstr "%s : %s"
msgid "stdout"
msgstr "sortie standard"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "les constantes à virgule fixe sont une extension GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "préfixe « 0b » invalide pour une constante flottante"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "le C traditionnel interdit le suffixe « %.*s »"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "le suffixe pour les constantes double est une extension GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante hexadécimale"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "les constantes flottantes décimales sont une fonctionnalité de C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "suffixe « %.*s » invalide pour une constante entière"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "utilisation d’une constante entière %<size_t%> C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "utilisation d’une constante entière %<make_signed_t<size_t>%> C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "les constantes imaginaires sont une extension GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "les constantes binaires sont une fonctionnalité de C++14 ou une extension GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "les constantes binaires sont une fonctionnalité de C2X ou une extension GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "les constantes binaires sont une fonctionnalité de C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "constante entière trop grande pour tenir dans son type"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "cette constante entière est si grande qu'elle est non signée"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "« ) » manquante après « defined »"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "l'opérateur « defined » requiert un identificateur"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "cette utilisation de « defined » peut ne pas être portable"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "constante flottante dans une expression pour le préprocesseur"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "constante complexe dans une expression pour le préprocesseur"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "« %s » n’est pas défini, évalué à 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "les assertions sont une extension GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "les assertions sont une extension obsolète"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "pile non balancée dans %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "opérateur « %u » impossible"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "« ) » manquante dans l'expression"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "« ? » n’est pas suivi de « : »"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "débordement d’entier dans l'expression pour le préprocesseur"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "« ( » manquante dans l'expression"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "le C traditionnel rejette l'opérateur d'addition unaire"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "opérateur virgule dans l'opérande de #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "division par zéro dans #if"
@@ -781,213 +859,237 @@ msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t doit être d’un type non signé"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "sur la cible, char fait moins de 8 bits"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "sur la cible, wchar_t est plus petit que char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "sur la cible, int est plus petit que char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "\\ et retour de chariot séparés par un blanc"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "\\ en fin de ligne à la fin du fichier"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraphe ??%c converti en %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraphe ??%c ignoré, utilisez -trigraphs pour l'activer"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "fin du contexte bidirectionnel"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "caractères de contrôle bidirectionnel UTF-8 non appariés détectés"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "caractère de contrôle bidirectionnel UTF-8 non apparié détecté"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "désaccord entre UTF-8 et UCN lors de la fermeture du contexte par « %s »"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "« %s » ferme un contexte non ouvert"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "caractère unicode problématique « %s » rencontré"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "caractère UTF-8 <%x> invalide"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "caractère UTF-8 <%x><%x> invalide"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "caractère UTF-8 <%x><%x><%x> invalide"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "caractère UTF-8 <%x><%x><%x><%x> invalide"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "« /* » à l'intérieur d’un commentaire"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s dans la directive du préprocesseur"
# I18N
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "caractère(s) nul(s) ignoré(s)"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "« %.*s » n’est pas normalisée NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "« %.*s » n'est pas normalisée NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ n'est pas disponible avant C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ n'est pas disponible avant C2X"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "« __VA_OPT__ » peut seulement apparaître dans l'expansion de macros C++20 à nombre variable d’arguments"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "tentative d'utilisation d’un « %s » corrompu"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion de macros C++11 à nombre variable d’arguments"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion des macros C99 à nombre variable d’arguments"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "séparateurs de chiffres adjacents"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "délimiteur de chaîne brute plus long que 16 caractères"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "chaîne brute non terminée"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "caractère(s) nul préservé(s) dans la chaîne"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "caractère %c de terminaison manquant"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requière un espace entre une chaîne et une macro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "la ligne de contrôle du module ne peut pas être dans un fichier inclus"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "la ligne de contrôle du module « %s » ne peut pas être un objet similaire à une macro"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "commentaire non terminé"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "commentaire multi-lignes"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "l'élément lexical %s ne peut être épelé"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "délimiteur de chaîne brute plus long que %d caractères"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "littéral non terminé"
diff --git a/libcpp/po/id.po b/libcpp/po/id.po
index e2c2e6a..ed8a416 100644
--- a/libcpp/po/id.po
+++ b/libcpp/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.5-b20100204\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2010-02-05 19:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -36,7 +36,7 @@ msgstr "tidak ada implementasi iconv, tidak dapat mengubah dari %s ke %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "karakter 0x%lx tidak dalam sumber dasar set karaketer\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "mengubah ke eksekusi set karakter"
@@ -45,130 +45,219 @@ msgstr "mengubah ke eksekusi set karakter"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "karakter 0x%lx bukan unibyte dalam eksekusi set karakter"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "nama karakter universal hanya valid dalam C++ dan C99"
-#: charset.cc:1091
+#: charset.cc:1441
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "nama karakter universal hanya valid dalam C++ dan C99"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "arti dari '\\%c' berbeda dalam tradisional C"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "'?' tanpa diikuti ':'"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "nama karakter universal %.*s tidak lengkap"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "nama karakter universal hanya valid dalam C++ dan C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s bukan sebuah karakter universal yang valid"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s bukan sebuah karakter universal yang valid"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Dalam _cpp_valid_ucn tetapi bukan sebuah UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "nama karakter universal hanya valid dalam C++ dan C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nama karakter universal %.*s tidak lengkap"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s bukan sebuah karakter universal yang valid"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "'$' dalam identifier atau angka"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "karakter universal %.*s tidak valid dalam sebuah pengidentifikasi"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "mengubah UCN ke set karakter asal"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "mengubah UCN ke set karakter eksekusi"
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "karakter universal %.*s tidak valid dalam sebuah pengidentifikasi"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "arti dari '\\x' berbeda dalam tradisional C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x digunakan dengan tidak mengikuti hex digits"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "hex escape sequence diluar dari jangkauan"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "'?' tanpa diikuti ':'"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "oktal escape sequence diluar dari jangkauan"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "arti dari '\\a' berbeda dalam tradisional C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "bukan ISO standar escape sequence, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "escape sequence: '\\%c' tidak diketahui"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "escape sequence: '\\%s' tidak diketahui"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "mengubah escape sequence ke set karakter eksekusi"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "konstanta karakter terlalu panjang untuk tipenya"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "konstanta karakter multi-karakter"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "konstanta karakter kosong"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "gagal untuk mengubah %s ke %s"
@@ -183,275 +272,275 @@ msgstr "ekstra token di akhir dari #%s direktif"
msgid "#%s is a GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s adalah sebuah ekstensi GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s adalah sebuah ekstensi GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "disarankan tidak menggunakan #elif dalam tradisional C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradisional C mengabaikan #%s dengan # terindentasi"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "preprosesing direktif #%s tidak valid"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "preprosesing direktif #%s tidak valid"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "tidak ada nama makro yang diberikan dalam direktif #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "nama makro harus berupa pengidentifikasi"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "tidak terdefinisi \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "hilang karakter pengakhir >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nama berkas kosong dalam #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next dalam berkas kode program utama"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "tanda \"%s\" tidak valid dalam baris direktif"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "tidak terduga akhir dari berkas setelah #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" setelah #line bukan sebuah integer positif"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "nomor baris diluar dari jangkauan"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" bukan sebuah nama berkas yang valid"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" setelah # bukan sebuah integer positif"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "direktif #%s tidak valid"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s telah terdaftar"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s telah terdaftar"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "mendaftarkan pragma dengan penanganan KOSONG"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma sekali dalam berkas utama"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "#pragma push_macro direktif tidak valid"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "#pragma pop_macro direktif tidak valid"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "merusak makro \"%s\" yang sudah ada"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header diabaikan diluar berkas include"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "tidak dapat menemukan berkas sumber %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "berkas ini lebih lama daripada %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma mengambil sebuah string literal tanda kurung"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else tanpa #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else setelah #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "kondisional berawal disini"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else tanpa #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else setelah #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s adalah sebuah ekstensi GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s adalah sebuah ekstensi GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif tanpa #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "hilang '(' setelah predikat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "hilang ')' untuk melengkapi jawaban"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "jawaban predikat kosong"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "assertion tanpa predikat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predikat harus berupa sebuah pengidentifikasi"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-asserted"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "tidak terakhiri #%s"
@@ -465,198 +554,198 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "konstanta titik-tetap adalah sebuah ekstensi GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "awalan \"0b\" tidak valid untuk konstanta pecahan"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "penggunaan dari konstanta pecahan heksa desimal C99"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "penggunaan dari konstanta pecahan heksa desimal C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "akhiran \"%.*s\" tidak valid dalam konstanta pecahan"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "dalam tradisi C menolak akhiran \"%.*s\""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "akhiran untuk konstanta ganda adalah sebuah ekstensi GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "akhiran \"%.*s\" tidak valid dengan konstanta pecahan heksa desimal"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "konstanta pecahan desimal adalah sebuah ekstensi GCC"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "akhiran \"%.*s\" tidak valid dalam konstanta integer"
-#: expr.cc:803
+#: expr.cc:817
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.cc:804
+#: expr.cc:818
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C99 long long integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "konstanta imaginari adalah sebuah ekstensi GCC"
-#: expr.cc:837
+#: expr.cc:851
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "konstanta binari adalah sebuah ekstensi GCC"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "konstanta binari adalah sebuah ekstensi GCC"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "konstanta binari adalah sebuah ekstensi GCC"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "konstanta integer terlalu besar untuk tipenya"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "konstanta integer terlalu besar yang itu unsigned"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "hilang ')' setelah \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" adalah sebuah tanda alternatif untuk \"%s\" dalam C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel"
-#: expr.cc:1139
+#: expr.cc:1153
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "konstanta pecahan dalam ekspresi preprosesor"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "angka imaginari dalam ekspresi preprosesor"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tidak didefinisikan"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "assertions adalah sebuah ekstensi GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "stack dalam %s tidak seimbang"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' tidak mungkin"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "hilang ')' dalam ekspresi"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' tanpa diikuti ':'"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "hilang '(' dalam ekspresi"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "tradisional C menolak operator unary plus"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "operator koma dalam operator dari #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "pembagian oleh nol dalam #if"
@@ -696,221 +785,245 @@ msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Multiple include guards mungkin berguna untuk:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t harus berupa sebuah tipe unsigned"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "aritmetik preprosesor memiliki presisi maksimal dari %lu bits; target membutuhkan%lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "aritmetik CPP harus paling tidak sama tepatnya dengan sebuah target int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "target char lebih kecil dari 8 bits wide"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "target wchar_t lebih kecil dari target char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "target int lebih kecil dari target char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP integer-setengah lebih kecil dari karakter CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP di host ini tidak dapat menangani konstanta karakter lebar diatas %lu bits, tetapi target membutuhkan %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "backslash dan baris baru dipisahkan dengan spasi"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "backslash baris baru diakhir dari berkas"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c diubah ke %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c diabaikan, gunakan -trigraph untuk mengaktifkan"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" di dalam komentar"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s dalam direktif preprosesing"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "karakter kosong diabaikan"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' tidak dalam NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' tidak dalam NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro C99"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "mencoba untuk menggunakan terusak \"%s\""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro C99"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "pengidentifikasi \"%s\" adalah nama operator spesial dalam C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "pembatas mentah string lebih panjang dari 16 karakter"
-#: lex.cc:2454
+#: lex.cc:2669
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "karakter '%c' tidak valid dalam pembatas mentah string"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "karakter '%c' tidak valid dalam pembatas mentah string"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "tidak terselesaikan raw string"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "karakter kosong dijaga dalam literal"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "hilang karakter pengakhir %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "komentar tidak terakhiri"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "komentar gaya C++ tidak diijinkan dalam ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(ini hanya akan dilaporkan sekali setiap berkas masukan)"
-#: lex.cc:3739
+#: lex.cc:3974
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "komentar gaya C++ tidak diijinkan dalam ISO C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "komentar multi baris"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "tanda %s tidak dapat disebutkan"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "pembatas mentah string lebih panjang dari 16 karakter"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/ja.po b/libcpp/po/ja.po
index 481e522..430936f 100644
--- a/libcpp/po/ja.po
+++ b/libcpp/po/ja.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.9-b20140202\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2014-11-07 08:19+0000\n"
"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -40,7 +40,7 @@ msgstr "iconv 実装がありません。 %s から %s へ変換できません"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "文字 0x%lx は基本ソース文字集合内にありません\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "実行時文字集合を変換しています"
@@ -49,130 +49,219 @@ msgstr "実行時文字集合を変換しています"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "文字 0x%lx は実行時文字集合では単一バイトではありません"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
-#: charset.cc:1091
+#: charset.cc:1441
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "'\\%c' の意味は古い (traditional) C では異なります"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "後に ':' が続いていない '?' です"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "互換性のないユニバーサル文字名 %.*s です"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s は有効なユニバーサル文字ではありません"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s は有効なユニバーサル文字ではありません"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "_cpp_valid_ucn の中ですが UCN ではありません"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "互換性のないユニバーサル文字名 %.*s です"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s は有効なユニバーサル文字ではありません"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "識別子または数字の中に '$' があります"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "ユニバーサル文字 %.*s は識別の中では有効ではありません"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "ユニバーサル文字 %.*s は識別子の最初の文字として有効ではありません"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "UCN をソースの文字集合に変換しています"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "UCN を実行時文字集合に変換しています"
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "ユニバーサル文字 %.*s は識別の中では有効ではありません"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "ユニバーサル文字 %.*s は識別子の最初の文字として有効ではありません"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "'\\x' の意味は古い (traditional) C では異なります"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x が使用されましたが、それに続く十六進数がありません"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "十六進エスケープシーケンスが範囲外です"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "後に ':' が続いていない '?' です"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "八進エスケープシーケンスが範囲外です"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "'\\a' の意味は古い (traditional) C では異なります"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 標準のエスケープシーケンス, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "不明なエスケープシーケンス: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "不明なエスケープシーケンス: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "エスケープシーケンスを実行時文字集合に変換しています"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "文字定数が型に対して長すぎます"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "複数文字からなる文字定数"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "空の文字定数"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "%s から %s への変換に失敗しました"
@@ -187,274 +276,274 @@ msgstr "余分なトークンが #%s 指示の後にあります"
msgid "#%s is a GCC extension"
msgstr "#%s は GCC 拡張です"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s は GCC 拡張です"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s は GCC 拡張です"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s は廃止された GCC 拡張です"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "古い (traditional) C では #elif を使用しないことを推奨します"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "古い (traditional) C では # がインデントされていると #%s を無視します"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "インデントさた # がある古い (traditional) C では #%s を隠すことを推奨します"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "マクロの引数への指示の埋め込みは移植性がありません"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "行スタイル指示は GCC 拡張です"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "無効な前処理指示 #%s です"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無効な前処理指示 #%s です"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" はマクロ名として使用できません"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" は C++ の演算子のためマクロ名として使用できません"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示の中でマクロ名が与えられていません"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "マクロ名は識別子でなくてはいけません"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "\"%s\" を未定義状態にしています"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "終端する > 文字がありません"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s は \"FILENAME\" または <FILENAME> が必要です"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 内のファイル名が空です"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next が主のソースファイルにあります"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "\"%s\" は line 指示では無効なフラグです"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "#line 後に予期しないファイル終端 (EOF) です"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line の後にある \"%s\" が正の整数ではありません"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "行番号が範囲外です"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" は有効なファイル名ではありません"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# の後にある \"%s\" が正の整数ではありません"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "無効な #%s 指示です"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "名前空間 \"%s\" 内に pragma を一致しない名前展開で登録しています"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma \"%s\" を名前展開有りおよび名前空間無しで登録しています"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" を pragma および pragma 名前空間の両方として登録しています"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s は既に登録されています"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s は既に登録されています"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "NULL ハンドラで pragma を登録しています"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once がメインファイルにあります"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "無効な #pragma push_macro 指示です"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "無効な #pragma pop_macro 指示です"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC 汚染ディレクティヴが無効です"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "既存のマクロ \"%s' を汚染します"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "include ファイル外の #pragma system_header は無視されました"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "ソースファイル %s が見つかりません"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "現在のファイルは %s より古いです"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC %s ディレクティヴが無効です"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pramga が括弧で囲まれた文字列リテラルを受け取りました"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else に #if がありません"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else が #else の後ろにあります"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "その条件はここから始まります"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else に #if がありません"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else が #else の後ろにあります"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s は GCC 拡張です"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s は GCC 拡張です"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif に #if がありません"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "述語の後ろの '(' を欠いています"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "解を補完する ')' を欠いています"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "述語の解が空です"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "述語のないアサーションです"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "述語は識別子でなければなりません"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" が再アサートされました"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "終端のない #%s"
@@ -468,192 +557,192 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "標準出力"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "固定小数点定数は GCC 拡張です"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "浮動小数定数に対する無効な接頭辞 \"0b\" です"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "C99 十六進浮動小数定数を使用しています"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "C99 十六進浮動小数定数を使用しています"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮動小数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "古い (traditional) C では \"%.*s\" 接尾辞は拒否されます"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "倍精度定数の接尾辞は GCC 拡張です"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "十六進浮動小数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "十進浮動小数定数は GCC 拡張です"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "C++11 の long long 整数定数を使用しています"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "C99 の long long 整数定数を使用しています"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "C++11 の long long 整数定数を使用しています"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "C++11 の long long 整数定数を使用しています"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "虚数定数は GCC 拡張です"
-#: expr.cc:837
+#: expr.cc:851
#, fuzzy
#| msgid "binary constants are a C++1y feature or GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二進定数は C++1y の機能または GCC 拡張です"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a C++1y feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "二進定数は C++1y の機能または GCC 拡張です"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "虚数定数は GCC 拡張です"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "整数定数が型に対して大きすぎます"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "整数定数が大きすぎるので unsigned になりました"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "\"defined\" の後ろの ')' がありません"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "\"defined\" 演算子は識別子を要求します"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(C++ では \"%s\" が \"%s\" の代替トークンです)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "この \"defined\" の使用法は移植性がありません"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "前処理式内のユーザ定義リテラル"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "前処理式の中に浮動小数定数があります"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "前処理式の中に虚数があります"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" は定義されていません"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "アサーションは GCC 拡張です"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "アサーションは廃止された拡張です"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 内に釣り合いがとれていないスタックがあります"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能な演算子 '%u' です"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "式の中に ')' がありません"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "後に ':' が続いていない '?' です"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "整数が前処理式内で溢れました"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "式内に '(' がありません"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の左側の被演算子は実行時に符号を変更します"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の右側の演算子は実行時に符号を変更します"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "古い (traditional) C では単項プラス演算子は拒否されます"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "カンマ演算子が #if の被演算子内にあります"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "#if 内でゼロによる除算が行われました"
@@ -693,221 +782,245 @@ msgstr "%s を探索するためのインクルードパスがありません"
msgid "Multiple include guards may be useful for:\n"
msgstr "多重 include からの保護が有益となるでしょう:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t は符号無し型でなければいけません"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "前処理の数値演算の最大精度は %lu ビットですが、ターゲットは %lu ビットを要求しています"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 数値演算はターゲットの int 以上の精度がなければいけません"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "ターゲットの char が 8 ビットより小さいです"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "ターゲットの wchar_t がターゲットの char より小さいです"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "ターゲットの int がターゲットの char より小さいです"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP ハーフ整数は CPP character より小さいです"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "このホストでの CPP は %lu ビット以上のワイド文字定数を扱えませんが、ターゲットは %lu ビットを要求しています"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "バックスラッシュと改行が空白で分割されました"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "ファイルの終りにバックスラッシュ-改行があります"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "トライグラフ ??%c は %c に変換されました"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "トライグラフ ??%c は無視されました。有効にするには -trigraphs を使用してください"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "コメント内に \"/*\" があります"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "前処理指示中に %s があります"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "null 文字は無視されました"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' は NFKC ではありません"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' は NFC ではありません"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できます"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "汚染された '%s' 使おうとしています"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できます"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できます"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別子 \"%s\" は C++ の特別な演算子名です"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "生の文字列区切りが 16 文字より大きいです"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "生の文字列区切り内に無効な改行があります"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "生の文字列区切り内に無効な文字 '%c' があります"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "終端されていない生の文字列です"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "リテラルの接尾辞が無効です。C++11 では、リテラルと文字列マクロの間にスペースを入れる必要があります。"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "リテラル中で null 文字が確保されました"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "%c 文字での終端を欠いています"
-#: lex.cc:2719
+#: lex.cc:2940
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgid "C++11 requires a space between string literal and macro"
msgstr "リテラルの接尾辞が無効です。C++11 では、リテラルと文字列マクロの間にスペースを入れる必要があります。"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "終端されていないコメント"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ スタイルのコメントは ISO C90 では許可されていません"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(これは入力ファイルにつき一回だけ報告されます)"
-#: lex.cc:3739
+#: lex.cc:3974
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ スタイルのコメントは ISO C90 では許可されていません"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "複数行のコメント"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "綴ることができないトークン %s です"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "生の文字列区切りが 16 文字より大きいです"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/ka.po b/libcpp/po/ka.po
index 785e8e6..c2418e5 100644
--- a/libcpp/po/ka.po
+++ b/libcpp/po/ka.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 12.1-b20220213\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2023-01-15 07:01+0100\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <(nothing)>\n"
"Language: ka\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.2.2\n"
@@ -38,7 +38,7 @@ msgstr "iconv-ის გარეშე. %s-დან %s-ზე გადაყ
msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "გაშვების სიმბოლოების ნაკრებში გადაყვანა"
@@ -47,126 +47,213 @@ msgstr "გაშვების სიმბოლოების ნაკრ
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr ""
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "'?' -ი მომყოლი ':'-ის გარეშე"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "დაუსრულებელი უნივერსალური სიმბოლოს სახელი %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character %.*s is not valid in an identifier"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "უნივერსალური სიმბოლო %.*s იდენტიფიკატორში დაუშვებელია"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s სწორი უნივერსალური სიმბოლო არაა"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s სწორი უნივერსალური სიმბოლო არაა"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "არსებობს _cpp_valid_ucn -ში, მაგრამ არა UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "დაუსრულებელი უნივერსალური სიმბოლოს სახელი %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s სწორი უნივერსალური სიმბოლო არაა"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "\"$\" იდენტიფიკატორში ან რიცხვში"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "უნივერსალური სიმბოლო %.*s იდენტიფიკატორში დაუშვებელია"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "უნივერსალური სიმბოლო %.*s იდენტიფიკატორის დასაწყისში დაუშვებელია"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s UCS კოდის სივრცის გარეთაა"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr ""
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr ""
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "თექვსმეტობითი სპეციალური სიმბოლო დიაპაზონს გარეთაა"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "'?' -ი მომყოლი ':'-ის გარეშე"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "რვაობით სპეციალური სიმბოლო დიაპაზონს გარეთაა"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "არა-ISO-სტანდარტის სპეციალური მიმდევრობა, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "უცნობი სპეციალური მიმდევრობა: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "უცნობი სპეციალური მიმდევრობა: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr ""
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "გამხსნელი ბრჭყალი აღმოჩენილი არაა"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "სიმბოლოების მუდმივა ძალიან გრძელია თავისი ტიპისთვის"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "მრავალსიმბოლოიანი სიმბოლური მუდმივა"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "ცარიელი სიმბოლური მუდმივა"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "%s-ის %s-ში გადაყვანის შეცდომა"
@@ -181,268 +268,268 @@ msgstr "დამატებითი კოდები #%s დირექტ
msgid "#%s is a GCC extension"
msgstr "#%s GCC-ის გაფართოებაა"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s -ი C++23 -ის შემდეგ GCC -ის გაფართოებაა"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr ""
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s GCC-ის მოძველებული გაფართოებაა"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "რჩევა, ტრადიციულ C-ში არ გამოიყენოთ #elif"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "ხაზის დირექტივების სტილი GCC-ს გაფართოებაა"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr ""
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "არასწორი პრეპროცესორის დირექტივა #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"%s\" -ს მაკროს სახელში ვერ გამოიყენებთ"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "მაკროს სახელები იდენტიფიკატორებს უნდა წარმოადგენდნენ"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "\"%s\"-ის აღწერის გაუქმება"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "დამაბოლოებელი > სიმბოლო აღმოჩენილი არაა"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s მოელის \"FILENAME\"-ს ან <FILENAME>-ს"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "ფაილის ცარიელი სახელი #%s -ში"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next კოდის ძირითად ფაილში"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "არასწორი ალამი \"%s' ხაზის დირექტივაში"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "ფაილის მოულოდნელი დასასრული #line-ის შემდეგ"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" #line-ის შემდეგ დადებითი მთელი რიცხვი არაა"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "ხაზის ნომერი დიაპაზონს გარეთაა"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "'%s' არასწორი ფაილის სახელია"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" #-ის შემდეგ დადებითი მთელი რიცხვი არაა"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "#%s: არასწორი დირექტივა"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s უკვე რეგისტრირებულია"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s უკვე დარეგისტრირებულია"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma ერთხელ მთავარ ფაილში"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "არასწორი #pragma push_macro დირექტივა"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "არასწორი #pragma pop_macro დირექტივა"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "წყაროს ფაილი %s ვერ ვიპოვე"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "მიმდინარე ფაილი ძველია, ვიდრე %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "არასწორი \"#pragma GCC %s\" დირექტივა"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else -ს #if -ი აკლია"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else-ი #else-ის შემდეგ"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "პირობა აქ იწყება"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s -ი #if -ის გარეშე"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s-ი #else -ის შემდეგ"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s -ი C++23 -ის შემდეგ GCC -ის გაფართოებაა"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr ""
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif -ი #if -ის გარეშე"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr ""
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "პრედიკატის პასუხი ცარიელია"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "დამტკიცება პრედიკატის გარეშე"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "პრედიკატი იდენტიფიკატორი უნდა იყოს"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "დაუსრულებელი #%s"
@@ -456,177 +543,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr ""
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr ""
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr ""
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr ""
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr ""
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr ""
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr ""
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr ""
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr ""
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr ""
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr ""
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr ""
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr ""
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr ""
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr ""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr ""
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "შეუძლებელი ოპერატორი '%u'"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "გამოსახულებას ')' აკლია"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' -ი მომყოლი ':'-ის გარეშე"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr ""
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "ნულზე გაყოფა #if -ში"
@@ -666,212 +753,238 @@ msgstr ""
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr ""
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr ""
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "\"%s\" გაუხსნელ კონტექსტს ხურავს"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "აღმოჩენილია პრობლემატური უნიკოდის სიმბოლო \"%s\""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" კომენტარში"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s პრეპროცესორის დირექტივაში"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "ნულოვანი შეტყობინებები გამოტოვებულია"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s'-ი NFKC-ში არაა"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' -ი NFC-ში არაა"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ -ი C++20-მდე ხელმიუწვდომელია"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ -ი C++20-მდე ხელმიუწვდომელია"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr ""
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "მოწამლული \"%s\"-ის გამოყენების მცდელობა"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "მოსაზღვრე ციფრის გამყოფები"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr ""
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "დაუსრულებელი დაუმუშავებელი სტრიქონი"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "დამაბოლოებელი %c სიმბოლო აღმოჩენილი არაა"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "დაუსრულებელი კომენტარი"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "მრავალხაზიანი კომენტარი"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "გაურკვეველი კოდი %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr ""
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "დაუსრულებელი ლიტერალი"
diff --git a/libcpp/po/nl.po b/libcpp/po/nl.po
index 1d70bc7..9ebe49d 100644
--- a/libcpp/po/nl.po
+++ b/libcpp/po/nl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 6.1.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2016-05-03 12:27+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -41,7 +41,7 @@ msgstr "geen implementatie van iconv beschikbaar; kan niet omzetten van %s naar
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "teken 0x%lx zit niet in de basis brontekenset\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "omzetting naar uitvoeringstekenset"
@@ -50,130 +50,219 @@ msgstr "omzetting naar uitvoeringstekenset"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "teken 0x%lx is niet enkelbyte in de uitvoeringstekenset"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universele tekennamen zijn alleen geldig in C++ en C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "universele tekennamen van C99 zijn zijn incompatibel met C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "de betekenis van '\\%c' is anders in traditioneel C"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "'?' zonder daaropvolgende ':'"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "onvolledige universele tekennaam %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "universele tekennamen zijn alleen geldig in C++ en C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s is geen geldige universele tekennaam"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s is geen geldige universele tekennaam"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "In '_cpp_valid_ucn' maar het is geen UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "universele tekennamen zijn alleen geldig in C++ en C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "onvolledige universele tekennaam %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s is geen geldige universele tekennaam"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "'$' in naam of getal"
# "identifier" is een verdomd rottig woord om te vertalen...
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universeel teken %.*s is niet geldig in een naam"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "omzetting van UCN naar brontekenset"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "omzetting van UCN naar uitvoeringstekenset"
# "identifier" is een verdomd rottig woord om te vertalen...
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "universeel teken %.*s is niet geldig in een naam"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "de betekenis van '\\x' is anders in traditioneel C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "hexadecimale escape sequence buiten bereik"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "'?' zonder daaropvolgende ':'"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "octale escape sequence buiten bereik"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "de betekenis van '\\a' is anders in traditioneel C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "escape sequence '\\%c' is niet ISO-standaard"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "onbekende escape sequence: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "onbekende escape sequence: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "omzetting van escape sequence naar uitvoeringstekenset"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "tekenconstante is te lang voor zijn type"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "tekenconstante bevat meerdere tekens"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "lege tekenconstante"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "fout bij omzetten van %s naar %s"
@@ -188,286 +277,286 @@ msgstr "overbodige tokens aan einde van #%s commando"
msgid "#%s is a GCC extension"
msgstr "#%s is een uitbreiding van GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s is een uitbreiding van GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s is een uitbreiding van GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s is een afgekeurde uitbreiding van GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "gebruik liefst geen #elif in traditioneel C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditioneel C negeert #%s wanneer het # geïndenteerd is"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "verberg #%s liefst van traditioneel C via een geïndenteerd #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "het plaatsen van een commando binnen macro-argumenten is niet overdraagbaar"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "dit soort #line commando is een uitbreiding van GCC"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "ongeldig preprocessing-commando #%s"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ongeldig preprocessing-commando #%s"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" kan niet als macronaam gebruikt worden"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" kan niet als macronaam gebruikt worden omdat het een operator is in C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "geen macronaam opgegeven in #%s commando"
# lap! hier heb ik het zitten... wat is verdorie een betere vertaling voor identifier?
# Dit is wel langer maar zegt denk ik wel waar het om gaat.
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "macronamen moeten voldoen aan de regels voor namen in C/C++"
# niet perfect, maar beter dan "wordt ongedefinieerd", "wordt geondefinieerd" of iets dergelijks...
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "definitie van \"%s\" wordt ongedaan gemaakt"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "afsluitend '>'-teken ontbreekt"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s verwacht \"BESTAND\" of <BESTAND>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "lege bestandsnaam in #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next in primair bronbestand"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ongeldige vlag \"%s\" in #line commando"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "onverwacht einde van bestand na #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" (na #line) is geen positieve integer"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "regelnummer buiten bereik"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" is geen geldige bestandsnaam"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" (na #) is geen positieve integer"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "regelmarkering voor bestand \"%s\" is genegeerd wegens incorrecte nesting"
# FIXME: most likely shouldn't have been marked as translatable
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "ongeldig #%s commando"
# goede vertaling voor 'mismatched'?
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registratie van pragma's in naamsruimte \"%s\" met niet-overeenkomstige naamsexpansie"
# moet namespace hier ook vertaald worden?
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registratie van pragma \"%s\" met naamsexpansie maar geen naamsruimte"
# moet namespace hier ook vertaald worden?
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registratie van \"%s\" zowel als pragma en als pragma-naamsruimte"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s is reeds geregistreerd"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s is reeds geregistreerd"
# betere vertaling voor 'handler'?
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "registratie van pragma met NULL als afhandelingsroutine"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once in hoofdbestand"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "ongeldig #pragma push_macro commando"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "ongeldig #pragma pop_macro commando"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "ongeldig #pragma GCC poison commando"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "bestaande macro \"%s\" wordt 'vergiftigd'"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header wordt genegeerd buiten een invoegbestand"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "kan bronbestand %s niet vinden"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "huidig bestand is ouder dan %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ongeldig \"#pragma GCC %s\"-commando"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma verwacht als argument een stringconstante tussen haakjes"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else zonder #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else na #else"
# of gewoon "de conditie"?
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "het conditionele blok begon hier"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else zonder #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else na #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s is een uitbreiding van GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s is een uitbreiding van GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif zonder #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "'(' ontbreekt na predicaat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "')' ontbreekt als afronding van het antwoord"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "antwoord van het predicaat is leeg"
# dit moet beter kunnen...
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "assertie zonder predicaat"
# ... dit klinkt echt niet - maar wat is hier een beter vertaling voor identifier?
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predicaat moet een naam zijn"
# is "asserteren" wel een echt woord?
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" opnieuw geasserteerd"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "niet-beëindigde #%s"
@@ -482,190 +571,190 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "standaarduitvoer"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "fixed-point constantes zijn een uitbreiding van GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ongeldige prefix \"0b\" voor floating-point constante"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C++1z hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "gebruik van een C++1z hexadecimale floating-point constante"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "gebruik van een C99 hexadecimale floating-point constante"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ongeldige suffix \"%.*s\" aan floating-point constante"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditioneel C aanvaardt de \"%.*s\" suffix niet"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "het gebruik van een suffix voor double constantes is een uitbreiding van GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ongeldige suffix \"%.*s\" bij hexadecimale floating-point constante"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "decimale floating-point constantes zijn een uitbreiding van GCC"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ongeldige suffix \"%.*s\" aan integerconstante"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "gebruik van een C++11 long long integerconstante"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "gebruik van een C99 long long integerconstante"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "gebruik van een C++11 long long integerconstante"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "gebruik van een C++11 long long integerconstante"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginaire constantes zijn een uitbreiding van GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binaire constantes zijn een C++14-functie of een uitbreiding van GCC"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a C++14 feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binaire constantes zijn een C++14-functie of een uitbreiding van GCC"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "binaire constantes zijn een uitbreiding van GCC"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "integerconstante is te groot voor zijn type"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "integerconstante is zo groot dat hij tekenloos is"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "')' ontbreekt na \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "de \"defined\" operator vereist een naam als argument"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" is een alternatieve schrijfwijze voor \"%s\" in C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "dit gebruik van \"define\" is mogelijk niet overdraagbaar"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "gebruikergedefinieerde constante in preprocessor-expressie"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "floating-point constante in preprocessor-expressie"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginair getal in preprocessor-expressie"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" is niet gedefinieerd"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "assertions zijn een uitbreiding van GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "assertions zijn een afgekeurde uitbreiding"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "niet-gebalanceerde stack in %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' is onmogelijk"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "')' ontbreekt in expressie"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' zonder daaropvolgende ':'"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "integer-overflow in preprocessor-expressie"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "'(' ontbreekt in expressie"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "de linker operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "de rechter operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "traditioneel C verwerpt de unaire plus-operator"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "komma-operator in operand van '#if'"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "deling door nul in '#if'"
@@ -706,219 +795,243 @@ msgstr "geen invoegpad waarin naar %s gezocht kan worden"
msgid "Multiple include guards may be useful for:\n"
msgstr "Meerdere invoegbeschermingen zouden nuttig kunnen zijn voor:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "'cppchar_t' moet een tekenloos type zijn"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "preprocessor-rekensommen hebben een maximale precisie van %lu bits; de doelomgeving vereist %lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-rekensommen moet minstens even precies zijn als een int in de doelomgeving"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "char is minder dan 8 bits breed in de doelomgeving"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "'wchar_t' is smaller dan char in de doelomgeving"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "int is smaller dan char in de doelomgeving"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer is smaller dan een CPP char"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kan op deze host geen brede tekenconstantes aan van meer dan %lu bits, maar de doelomgeving vereist %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "backslash en newline gescheiden door spatie(s)"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "backslash-newline aan einde van bestand"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c is omgezet naar %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c is genegeerd; gebruik -trigraphs om ondersteuning in te schakelen"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" binnen commentaar"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s binnen preprocessor-commando"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "nulteken(s) worden genegeerd"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "'%.*s' zit niet in NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "'%.*s' zit niet in NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C++11 variadische macro"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "poging tot gebruik van 'vergiftigde' \"%s\""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C++11 variadische macro"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C99 variadische macro"
# "identifier" is lastig te vertalen; ik neem meestal 'naam', maar hier klinkt dat niet...
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "de aanduiding \"%s\" is een speciale operatornaam in C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
# betere vertaling voor "raw string delimiter"?
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "rauwe stringscheiding is langer dan 16 tekens"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "ongeldige newline in rauwe stringscheiding"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ongeldig teken '%c' in rauwe stringscheiding"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "niet-beëindigde rauwe string"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ongeldige suffix aan constante; C++11 vereist een spatie tussen constante en stringmacro"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "nulteken(s) in een constante worden behouden"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "afsluitend %c-teken ontbreekt"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vereist een spatie tussen stringconstante en macro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "niet-beëindigd commentaar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "commentaar in C++-stijl is niet toegestaan in ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(dit wordt per invoerbestand maar één keer gemeld)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "commentaar in C++-stijl is incompatibel met C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "commentaar gespreid over meerdere regels"
# lijkt een vreemde boodschap...
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "kan token %s niet spellen"
# betere vertaling voor "raw string delimiter"?
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "rauwe stringscheiding is langer dan 16 tekens"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/pt_BR.po b/libcpp/po/pt_BR.po
index c4727ea..d62a886 100644
--- a/libcpp/po/pt_BR.po
+++ b/libcpp/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 11.1-b20210207\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2021-02-09 12:28-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
@@ -38,7 +38,7 @@ msgstr "nenhuma implementação iconv, não foi possível converter de %s para %
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "caractere 0x%lx não está no conjunto de caracteres fonte básico\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "convertendo para conjunto de caracteres da execução"
@@ -47,126 +47,215 @@ msgstr "convertendo para conjunto de caracteres da execução"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "caractere 0x%lx não é unibyte no conjunto de caracteres de execução"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "nomes de caractere universais são válidos apenas em C++ e C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "nomes de caractere universais do C99 são incompatíveis com C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "o significado de \"\\%c\" é diferente em C tradicional"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "\"?\" sem estar seguido por \":\""
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "nome de caractere universal incompleto %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "nomes de caractere universais são válidos apenas em C++ e C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s não é um caractere universal válido"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s não é um caractere universal válido"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Em _cpp_valid_ucn, mas não é um UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "nomes de caractere universais são válidos apenas em C++ e C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nome de caractere universal incompleto %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s não é um caractere universal válido"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "\"$\" em identificador ou número"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "caractere universal %.*s não é válido em um identificador"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "caractere universal %.*s não é válido no começo de um identificador"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s está fora do espaço de código UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "convertendo UCN para conjunto de caracteres fonte"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "convertendo UCN para conjunto de caracteres de execução"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "caractere estendido %.*s não é válido em um identificador"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "caractere estendido %.*s não é válido no começo de um identificador"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "o significado de \"\\x\" é diferente em C tradicional"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x usado com nenhum dígito hexa"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "sequência de escape hexa fora de alcance"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "\"?\" sem estar seguido por \":\""
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "sequência de escape octal fora de alcance"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "o significado de \"\\a\" é diferente em C tradicional"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "sequência de escape não padrão ISO, \"\\%c\""
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "sequência de escape desconhecida: \"\\%c\""
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "sequência de escape desconhecida: \"\\%s\""
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "convertendo sequência de escape para conjunto de caracteres de execução"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "faltando abrir aspas"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "constante caractere muito longa para seu tipo"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "constante de caractere multi-caractere"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "constante caractere vazia"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "falha ao converter %s para %s"
@@ -181,273 +270,273 @@ msgstr "tokens extras ao final da diretiva #%s"
msgid "#%s is a GCC extension"
msgstr "#%s é uma extensão GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s é uma extensão GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s é uma extensão GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s é uma extensão GCC obsoleta"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "sugere-se não usar #elif em C tradicional"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s com o # com recuo"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "sugere-se ocultar #%s do C tradicional com um # com recuo"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "embutir uma diretiva dentro de argumentos macro não é portátil"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "estilo de diretiva de linha é uma extensão GCC"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "diretiva de preprocessamento inválida #%s"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "diretiva de preprocessamento inválida #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"%s\" não pode ser usado como um nome de macro"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" não pode ser usado como um nome de macro, pois é um operador em C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "nenhum nome de macro fornecido na diretiva #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "nomes de macro devem ser identificadores"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "removendo definição de \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "faltando caractere terminador >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOME DE ARQUIVO\" OU <NOME DE ARQUIVO>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nome de arquivo vazio em #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include aninhado em profundidade %u excede o máximo de %u (use -fmax-include-depth=PROFUNDIDADE para aumentar o máximo)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next no arquivo fonte primário"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "opção inválida \"%s\" na diretiva de linha"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "fim de arquivo inesperado após #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" após #line não é um inteiro positivo"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "número da linha fora de alcance"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" não é um nome de arquivo válido"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" após # não é um inteiro positivo"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "marcador de linha do arquivo \"%s\" ignorado em razão de aninhamento incorreto"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "diretiva inválida #%s"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrando pragmas em espaço de nomes \"%s\" com expansão de nome incompatível"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrando pragma \"%s\" com expansão de nome e nenhum espaço de nomes"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrando \"%s\" como tanto um pragma e um espaço de nomes de pragma"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s já está registrado"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s já está registrado"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "registrando pragma com manipulador NULO"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma ocorre uma vez no arquivo principal"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "diretiva inválida #pragma push_macro"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "diretiva inválida #pragma pop_macro"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "diretiva inválida #pragma GCC poison"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "envenenando macro existente \"%s\""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fora do arquivo include"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "não foi possível localizar o arquivo fonte %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "arquivo atual é mais velho do que %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "diretiva inválida \"#pragma GCC %s\""
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma leva uma literal de string entre parenteses"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else sem #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else após #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "a condicional começou aqui"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else sem #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else após #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s é uma extensão GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s é uma extensão GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif sem #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "faltando \"(\" após predicado"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "faltando \")\" para uma resposta completa"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "resposta do predicado está vazia"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "asserção sem predicado"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predicado deve ser um identificador"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-assertado"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "#%s não terminado"
@@ -461,177 +550,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "saída padrão"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "constantes de ponto fixo (fixed-point constants) são uma extensão GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "prefixo inválido \"0b\" para constante flutuante"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "uso de constante flutuante hexadecimal de C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "uso de constante flutuante hexadecimal de C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufixo inválido \"%.*s\" na constante flutuante"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "C tradicional rejeita o sufixo \"%.*s\""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "sufixo para constante dupla (suffix for double constant) é uma extensão GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufixo inválido \"%.*s\" com constante flutuante hexadecimal"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "constantes flutuante decimais são um recurso de C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufixo inválido \"%.*s\" em constante inteiro"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "uso de constante longo longo inteiro de C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "uso de constante longo longo inteiro de C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "uso de constante %<size_t%> inteiro de C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "uso de constante %<make_signed_t<size_t>%> inteiro de C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "constantes imaginárias (imaginary constants) são uma extensão GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "constantes binárias são um recurso de C++14 ou uma extensão GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "constantes binárias são um recurso de C2X ou uma extensão GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "constantes binárias são um recurso de C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "constante inteira é muito grande para seu tipo"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "constante inteira é tão grande que não está assinada"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "faltando \")\" após \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operador \"defined\" requer um identificador"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" é um token alternativo para \"%s\" em C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "esse uso de \"defined\" pode não ser portátil"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida pelo usuário em expressão do preprocessador"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "constante flutuante em expressão do preprocessador"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "número imaginário em expressão do preprocessador"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" não está definido, avalia para 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "asserções (assertions) são uma extensão GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "asserções (assertions) são uma extensão obsoleta"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "pilha não balanceada em %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operador impossível \"%u\""
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "faltando \")\" na expressão"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "\"?\" sem estar seguido por \":\""
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "estouro de inteiro em expressão do preprocessador"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "faltando \"(\" na expressão"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "o operador à esquerda de \"%s\" altera o sinal quando promovido"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "o operador à direita de \"%s\" altera o sinal quando promovido"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rejeita o operador unário mais"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "operador vírgula em operando de #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "divisão por zero em #if"
@@ -671,212 +760,238 @@ msgstr "não foi incluído nenhum caminho no qual se possa procurar por %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Múltiplos include guards podem ser úteis para:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t deve ser um tipo não assinado"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "aritmética do preprocessador possui uma precisão máxima de %lu bits; o alvo requer %lu bits"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "aritmética do CPP deve ser pelo menos tão precisa quanto um int alvo"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "char alvo é menor do que 8 bits"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t alvo é mais estreito do que o char alvo"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "int alvo é mais estreito do que o char alvo"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "meio-inteiro do CPP é mais estreito do que o caractere do CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP nesta máquina não consegue manipular constantes de wide character acima de %lu bits, mas o alvo requer %lu bits"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "barra invertida e nova linha separadas por espaço"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "barra invertida e nova linha no final do arquivo"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trígrafo ??%c convertido para %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trígrafo ??%c ignorado, use -trigraphs para habilitá-lo"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" dentro de comentário"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s em diretiva de preprocessamento"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "um ou mais caracteres nulos ignorados"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "\"%.*s\" não está em NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "\"%.*s\" não está em NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ não está disponível até C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ não está disponível até C++20"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ pode aparecer apenas na expansão de uma macro variádica C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "tentativa de usar \"%s\" envenenado"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ pode aparecer apenas na expansão de uma macro variádica C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ pode aparecer apenas na expansão de uma macro variádica C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identificador \"%s\" é o nome de um operador especial em C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "delimitador de string não tratada (raw) maior do que 16 caracteres"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "nova linha inválida em delimitador de string não tratada (raw)"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caractere inválido \"%c\" em delimitador de string não tratada (raw)"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "string não tratada (raw) não terminada"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "sufixo inválido em literal; C++11 requer um espaço entre literal e macro de string"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "um ou mais caracteres nulos preservados em literal"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "faltando o caractere de terminação %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requer um espaço entre literal e macro de string"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "a linha de controle de módulo não pode estar no arquivo incluído"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "a linha de controle de módulo \"%s\" não pode ser uma macro do tipo objeto"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "comentário não terminado"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "comentários no estilo C++ não são permitidos em ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(isso será relatado apenas uma vez por arquivo de entrada)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "comentários no estilo C++ são incompatíveis com C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "comentário multilinha"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "token %s impronunciável"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "delimitador de string não tratada (raw) maior do que %d caracteres"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "literal não terminada"
diff --git a/libcpp/po/ro.po b/libcpp/po/ro.po
index 5084b0b..4378543 100644
--- a/libcpp/po/ro.po
+++ b/libcpp/po/ro.po
@@ -2,18 +2,19 @@
# Copyright © 2022 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
#
-# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2023.
#
# Cronologia traducerii fișierului „cpplib”:
# Traducerea inițială, făcută de R-GC, pentru versiunea cpplib 12.1-b20220213.
-# Actualizare a traducerii pentru versiunea Y, făcută de X.
+# Actualizare a traducerii pentru versiunea 13.1-b20230212, făcută de R-GC, feb/2023.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna/anul).
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 12.1-b20220213\n"
+"Project-Id-Version: cpplib 13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-10-09 09:43+0200\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-22 18:53+0100\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
@@ -22,7 +23,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || ((n%100) > 0 && (n%100) < 20)) ? 1 : 2);\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Poedit 3.2.2\n"
#: charset.cc:683
#, c-format
@@ -43,7 +44,7 @@ msgstr "nicio implementare iconv, nu se poate converti de la %s la %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "caracterul 0x%lx nu se află în setul de caractere sursă de bază\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "se convertește în setul de caractere de execuție"
@@ -52,126 +53,203 @@ msgstr "se convertește în setul de caractere de execuție"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "caracterul 0x%lx nu este un octet unic în setul de caractere de execuție"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "numele de caractere universale sunt valabile numai în C++ și C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "numele de caractere universale ale lui C99 sunt incompatibile cu C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "semnificația lui „\\%c” este diferită în limbajul C tradițional"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "„\\N” nu este urmat de „{”"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "secvența de eludare de caracter universal numit este goală; se tratează ca elemente separate"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "secvența de eludare de caracter universal numit este goală"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "secvențele de eludare de caractere universale numite sunt valide numai în C++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "\\N{%.*s} nu este un caracter universal valid; se tratează ca elemente separate"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\\N{%.*s} nu este un caracter universal valid"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "ați vrut să spuneți \\N{%s}?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "„\\N{” nu se termină cu „}” după %.*s; se tratează ca elemente separate"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "„\\N{” nu se termină cu „}” după %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Este în _cpp_valid_ucn, dar nu este un UCN(NumedeCaracterUniversal)"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "secvență de eludare delimitată goală; se tratează ca elemente separate"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "secvență de evadare delimitată goală"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "secvențele de eludare delimitate sunt valide numai în C++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "„\\u{” nu se termină cu „}” după %.*s; se tratează ca elemente separate"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nume de caracter universal incomplet %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "„\\u{” nu se termină cu „}” după %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s nu este un caracter universal valid"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "„$” în identificator sau în număr"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "caracterul universal %.*s nu este valid într-un identificator"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "caracterul universal %.*s nu este valid la începutul unui identificator"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s se află în afara spațiului de cod UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "se convertește UCN în setul de caractere sursă"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "se convertește UCN în setul de caractere de execuție"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "caracterul extins %.*s nu este valid într-un identificator"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "caracterul extins %.*s nu este valid la începutul unui identificator"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "semnificația lui „\\x” este diferită în limbajul C tradițional"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "„\\x” utilizat fără să fie urmat de cifre hexazecimale"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "„\\x{” nu se termină cu „}” după %.*s"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "secvență de eludare hexazecimală în afara intervalului"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "„\\o” nu este urmat de „{”"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "„\\o{” nu se termină cu „}” după %.*s"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "secvență de eludare octală în afara intervalului"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "semnificația lui „\\a” este diferită în limbajul C tradițional"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "secvență de eludare non-standard ISO, „\\%c”"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "secvență de eludare necunoscută: „\\%c”"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "secvență de eludare necunoscută: „\\%s”"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "se convertește secvența de eludare în set de caractere de execuție"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "lipsește ghilimeaua de deschidere"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "constantă de caractere prea lungă pentru tipul său"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "constantă de caractere cu mai multe caractere"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "constantă de caractere goală"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "eșec la conversia %s în %s"
@@ -186,268 +264,268 @@ msgstr "simboluri suplimentare la finalul directivei #%s"
msgid "#%s is a GCC extension"
msgstr "#%s este o extensie GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s înainte de C++23 este o extensie GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s înainte de C2X este o extensie GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s este o extensie GCC învechită"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "se sugerează neutilizarea directivei #elif în limbajul C tradițional"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "limbajul C tradițional ignoră #%s cu # indentat"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "se sugerează ascunderea #%s din C tradițional cu un # indentat"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "înglobarea unei directive în argumentele macro nu este portabilă"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "directiva de stil de linie este o extensie GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "directivă de preprocesare nevalidă #%s; ați vrut să spuneți #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directivă de preprocesare nevalidă #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "„%s” nu poate fi utilizat ca nume de macrocomandă"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "„%s” nu poate fi utilizat ca nume de macrocomandă, deoarece este un operator în C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "niciun nume de macrocomandă nu este dat în directiva #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "numele macrocomenzilor trebuie să fie identificatori"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "a fost eliminată definiția „%s”"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "lipsește caracterul de terminare „>”"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s se așteaptă „NUME_FIȘIER” sau <NUME_FIȘIER>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "nume de fișier gol în #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "adâncimea de imbricare %u din #include depășește maximul de %u (utilizați „-fmax-include-depth=ADÂNCIME” pentru a crește valoarea maximă)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next în fișierul sursă principal (primar)"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "opțiune nevalidă „%s” în directiva de linie"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "sfârșit de fișier neașteptat, după #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "„%s” aflat după #line nu este un număr întreg pozitiv"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "număr de linie în afara intervalului"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "„%s” nu este un nume de fișier valid"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "„%s” aflat după # nu este un număr întreg pozitiv"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "marcatorul de linie al fișierului „%s” a fost ignorat din cauza imbricației incorecte"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "directivă #%s nevalidă"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "se înregistrează pragmas în spațiul de nume „%s” cu o expandare a numelui ce nu coincide"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "se înregistrează pragma „%s” cu expandarea numelui și fără spațiu de nume"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "se înregistrează „%s” atât ca pragma, cât și ca spațiu de nume pragma"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s este deja înregistrată"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s este deja înregistrată"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "se înregistrează pragma cu gestionar NULL"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma apare o dată în fișierul principal"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "directivă #pragma push_macro nevalidă"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "directivă #pragma pop_macro nevalidă"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "directivă #pragma GCC poison nevalidă"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "se „otrăvește” macrocomanda existentă „%s”"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorat în afara fișierului de includere"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "nu se poate găsi fișierul sursă %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "fișierul curent este mai vechi decât %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directivă „#pragma GCC %s” nevalidă"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma preia un șir literal între paranteze"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else fără #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else după #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "condiționalul a început aici"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s fără #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s după #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s înainte de C++23 este o extensie GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s înainte de C2X este o extensie GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif fără #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "lipsește „(” după predicat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "lipsește „)” pentru a completa răspunsul"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "răspunsul predicatului este gol"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "afirmație fără predicat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predicatul trebuie să fie un identificator"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "„%s” a fost reafirmat"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "neterminat #%s"
@@ -461,177 +539,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "ieșirea standard"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "constantele cu virgulă fixă sunt o extensie GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "prefix nevalid „0b” pentru constanta cu virgulă mobilă"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "utilizare a constantei cu virgulă mobilă hexazecimală C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "utilizare a constantei cu virgulă mobilă hexazecimală C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufix nevalid „%.*s” pentru o constantă cu virgulă mobilă"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "limbajul C tradițional respinge sufixul „%.*s”"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "sufixul pentru constantă dublă este o extensie GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufix nevalid „%.*s” pentru o constantă cu virgulă mobilă hexazecimală"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "constantele cu virgulă mobilă zecimale sunt o caracteristică C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufix nevalid „%.*s” pentru o constantă de număr întreg"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "utilizare a constantei de număr întreg lung lung C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "utilizare a constantei de număr întreg lung lung C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "utilizare a constantei de număr întreg %<size_t%> C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "utilizare a constantei de număr întreg %<make_signed_t<size_t>%> C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "constantele imaginare sunt o extensie GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "constantele binare sunt o caracteristică C++14 sau o extensie GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "constantele binare sunt o caracteristică C2X sau o extensie GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "constantele binare sunt o caracteristică C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "constanta de număr întreg este prea mare pentru tipul său"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "constanta de număr întreg este atât de mare încât este nesemnată"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "lipsește „)” după «defined»"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operatorul «defined» necesită un identificator"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(„%s” este un element lexical alternativ pentru „%s” în C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "este posibil ca această utilizare a lui «defined» să nu fie portabilă"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "literal definit de utilizator în expresia preprocesorului"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "constantă cu virgulă mobilă în expresia preprocesorului"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "număr imaginar în expresia preprocesorului"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "„%s” nu este definit, se evaluează la 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "aserțiunile sunt o extensie GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "aserțiunile sunt o extensie depreciată"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "stivă dezechilibrată în %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "operator „%u” imposibil"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "lipsește „)” în expresie"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "„?” fără să fie urmat de „:”"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "depășire de număr întreg în expresia preprocesorului"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "lipsește „(” în expresie"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "operandul din stânga lui „%s” își schimbă semnul atunci când este promovat"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "operandul din dreapta lui „%s” își schimbă semnul atunci când este promovat"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "limbajul C tradițional respinge operatorul unar plus"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "operator virgulă în operandul #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "împărțire la zero în #if"
@@ -671,32 +749,32 @@ msgstr "nicio cale de inclus pentru a căuta %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "Multiple „include guards” pot fi utile pentru:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t trebuie să fie un tip nesemnat"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "aritmetica preprocesorului are o precizie maximă de %lu biți; ținta necesită %lu biți"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "Aritmetica CPP trebuie să fie cel puțin la fel de precisă ca o țintă int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "char țintă are mai puțin de 8 biți lățime"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t țintă este mai îngust decât char tintă"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "int țintă este mai îngust decât char țintă"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "half-integer din CPP este mai îngust decât caracterul din CPP"
@@ -718,183 +796,207 @@ msgstr "half-integer din CPP este mai îngust decât caracterul din CPP"
# %lu biți, dar ținta necesită %lu biți”
# ***
# în final, a avut «cîștig de cauză», varianta C.
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP de pe această gazdă nu poate gestiona constante de caracter mai lungi de %lu biți, dar ținta necesită %lu biți"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "bară oblică inversă și linie nouă separate de spațiu «\\ n»"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "bară oblică inversă și linie nouă «\\n» la sfârșit de fișier"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraf ??%c convertit în %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraf ??%c ignorat, utilizați „-trigraphs” pentru a activa recunoașterea sa"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "sfârșitul contextului bidirecţional"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "au fost detectate caractere de control bidirecțional UTF-8 fără pereche"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "a fost detectat un caracter de control bidirecțional UTF-8 fără pereche"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "nepotrivire între UTF-8 și UCN atunci când se încheie contextul cu „%s”"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "„%s” închide un context nedeschis"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "s-a găsit caracterul Unicode problematic „%s”"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "caracter UTF-8 nevalid <%x>"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "caracter UTF-8 nevalid <%x><%x>"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "caracter UTF-8 nevalid <%x><%x><%x>"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "caracter UTF-8 nevalid <%x><%x><%x><%x>"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "„/*” în comentariu"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s în directiva de preprocesare"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "caracter(e) null ignorat(e)"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "„%.*s” nu se este în NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "„%.*s” nu se este în NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ nu este disponibilă până la C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ nu este disponibilă până la C2X"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ poate apărea doar în expansiunea unei macrocomenzi C++20 cu un număr variabil de argumente"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "încercați să utilizați „%s” «otrăvit»"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ poate apărea doar în expansiunea unei macrocomenzi C++11 cu un număr variabil de argumente"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ poate apărea doar în expansiunea unei macrocomenzi C99 cu un număr variabil de argumente"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identificatorul „%s” este un nume de operator special în C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "separatori de cifre adiacenți"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "delimitator de șir brut, mai lung de 16 caractere"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "linie nouă nevalidă în delimitatorul de șir brut"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caracter nevalid „%c” în delimitatorul de șir brut"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "șir brut neterminat"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "sufix nevalid la literal; C++11 necesită un spațiu între literal și macrocomanda șir"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "caracter(e) null păstrat(e) în literal"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "lipsește caracterul %c de încheiere"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 necesită un spațiu între șir literal și macro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "linia de control a modulului nu poate fi în fișierul inclus"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "linia de control al modulului „%s” nu poate fi un obiect precum o macrocomandă"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "comentariu neterminat"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "comentariile în stil C++ nu sunt permise în ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(acest lucru va fi raportat o singură dată pentru fiecare fișier de intrare)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "comentariile în stil C++ sunt incompatibile cu C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "comentariu pe mai multe linii"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "element neortografiabil %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "delimitator de șir brut mai lung de %d caractere"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "literal neterminat"
diff --git a/libcpp/po/ru.po b/libcpp/po/ru.po
index b345609..bd844f3 100644
--- a/libcpp/po/ru.po
+++ b/libcpp/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 12.1-b20220213\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2022-02-19 10:41+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
@@ -38,7 +38,7 @@ msgstr "нет реализации в iconv, невозможно преобр
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "символ 0x%lx отсутствует в простом наборе символов исходного кода\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "преобразование в набор символов среды выполнения"
@@ -47,126 +47,215 @@ msgstr "преобразование в набор символов среды
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "символ 0x%lx не является юнибайтом (unibyte) в наборе символов среды выполнения"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "универсальные имена символов допустимы только в C++ и C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "универсальные имена символов C99 несовместимы с C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "назначение «\\%c» отличается в традиционном C"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "«?» без последующего «:»"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "неполное универсальное имя символа %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "универсальные имена символов допустимы только в C++ и C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s не является допустимым универсальным именем символа"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s не является допустимым универсальным именем символа"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "В _cpp_valid_ucn, но не UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "универсальные имена символов допустимы только в C++ и C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "неполное универсальное имя символа %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s не является допустимым универсальным именем символа"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "«$» в идентификаторе или числе"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "универсальный символ %.*s недопустим в идентификаторе"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "универсальный символ %.*s недопустим в начале идентификатора"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s находится вне пространства кодов UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "преобразование UCN в простой набор символов исходного кода"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "преобразование UCN в набор символов среды выполнения"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "расширенный символ %.*s недопустим в идентификаторе"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "универсальный символ %.*s недопустим в начале идентификатора"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "назначение «\\x» отличается в традиционном C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "после \\x нет шестнадцатеричных цифр"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "шестнадцатеричная экранирующая последовательность за пределами диапазона"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "«?» без последующего «:»"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "восьмеричная экранированная последовательность за пределами диапазона"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "назначение «\\a» отличается в традиционном C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "не соответствующая стандарту ISO экранированная последовательность, «\\%c»"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "неизвестная экранированная последовательность «\\%c»"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "неизвестная экранированная последовательность «\\%s»"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "преобразование экранированной последовательности в набор символов среды выполнения"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "отсутствует открывающая кавычка"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "символьная константа слишком длинна для своего типа"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "многознаковая символьная константа"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "пустая символьная константа"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "ошибка при преобразовании %s в %s"
@@ -181,268 +270,268 @@ msgstr "лишние токены в конце директивы #%s"
msgid "#%s is a GCC extension"
msgstr "#%s является расширением GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s до C++23 является расширением GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s до C2X является расширением GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s является устаревшим расширением GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "предполагается не использование #elif в традиционном C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "в традиционном C игнорируется #%s с отступом у #"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "предполагается скрытие #%s из традиционного C с отступом у #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "встраивание директивы внутрь аргументов макроса не переносимо"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "стиль строковых директив является расширением GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "неправильная препроцессорная директива #%s; имелась с виду #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильная препроцессорная директива #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "«%s» не может использоваться как имя макроса"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "«%s» не может использоваться как имя макроса в качестве оператора в C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не указано имя макроса в директиве #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "имена макросов должны быть идентификаторами"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "неопределённая «%s»"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "отсутствует завершающий символ >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "для #%s ожидается \"ИМЯ_ФАЙЛА\" или <ИМЯ_ФАЙЛА>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "пустое имя файла в #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "глубина вложенности #include, равная %u, превышает максимальное значение %u (чтобы увеличить максимум, укажите -fmax-include-depth=ГЛУБИНА)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next в первичном исходном файле"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неверный флаг «%s» в строковой директиве"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "неожиданный конец файла после #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "«%s» после #line не является положительным целым числом"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "номер строки вне допустимых пределов"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "«%s» не является допустимым именем файла"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "«%s» после # не является положительным целым числом"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "маркер строки файла «%s» игнорируется из-за некорректной вложенности"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "неправильная директива #%s"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "регистрируется прагма в пространстве имён «%s» с несовпадающим именным расширением"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "регистрируется прагма «%s» с именным расширением, но без пространства имён"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "регистрируется «%s» как прагма и как пространство имён для прагм"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s уже зарегистрирована"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s уже зарегистрирована"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "регистрируется прагма со значением обработчика равным NULL"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once в главном файле"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "неверная директива #pragma push_macro"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "неверная директива #pragma pop_macro"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "неверная директива #pragma GCC poison"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "отравление существующего макроса «%s»"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header игнорируется вне включаемого файла"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "не удалось найти исходный файл %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "текущий файл старее чем %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неверная директива #pragma GCC %s"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "для _Pragma требуется указать строковый литерал в скобках"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else после #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "условие начинается здесь"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s без #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s после #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s до C++23 является расширением GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s до C2X является расширением GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "отсутствует «(» после предиката"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "отсутствует «)» для завершения ответа"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "ответ предиката пуст"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "утверждение без предиката"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "предикат должен быть идентификатором"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "повторное утверждение «%s»"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "незавершённая #%s"
@@ -456,177 +545,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "константы с фиксированный точкой являются расширением GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "неверный префикс «0b» в плавающей константе"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "использование шестнадцатеричной константы с плавающей точкой согласно C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "использование шестнадцатеричной константы с плавающей точкой согласно C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "неверный суффикс «%.*s» в константе с плавающей точкой"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "в традиционном C отвергается суффикс «%.*s»"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "суффикс для констант типа double является расширением GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "неверный суффикс «%.*s» в шестнадцатеричной плавающей константе"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "десятичные плавающие константы являются расширением C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "неверный суффикс «%.*s» в целочисленной константе"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "использование целочисленной long long константы C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "использование целочисленной long long константы C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "использование целочисленной %<size_t%> константы C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "использование целочисленной %<make_signed_t<size_t>%> константы C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "мнимые константы являются расширением GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "двоичные константы являются свойством C++14 или расширением GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "двоичные константы являются свойством C2X или расширением GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "двоичные константы являются свойством C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "значение целочисленной константы слишком велико для своего типа"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "значение целочисленной константы так велико что стало беззнаковым"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "отсутствует «)» после «defined»"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "для оператора «defined» требуется идентификатор"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(«%s» является альтернативой токену «%s» в C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "такое использование «defined» может оказаться непереносимым"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "определённый пользователем литерал в препроцессорном выражении"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "плавающая константа в препроцессорном выражении"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "мнимое число в препроцессорном выражении"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "«%s» не определена, оценивается как 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "утверждения являются расширением GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "утверждения являются устаревшим расширением"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "несбалансированный стек в %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "невозможный оператор «%u»"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "отсутствующая «)» в выражении"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "«?» без последующего «:»"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "целочисленное переполнение в препроцессорном выражении"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "отсутствующая «(» в выражении"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "левый операнд «%s» изменяет знак при появлении"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "операнд операнд «%s» изменяет знак при появлении"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "в традиционном C отвергается оператор унарного сложения"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "оператор запятая в операнде #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "деление на ноль в #if"
@@ -666,212 +755,238 @@ msgstr "отсутствует путь для включаемых файлов
msgid "Multiple include guards may be useful for:\n"
msgstr "Несколько защит подключения может быть полезно для:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t должна быть беззнакового типа"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "препроцессорная арифметика имеет максимальную точность равную %lu бит; для цели требуется %lu бит"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "точность арифметики CPP должна быть не менее значения int цели"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "ширина char у цели менее 8 бит"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t цели уже чем char цели"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "int цели уже чем char цели"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "ширина половины integer CPP уже чем символ CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP на данной машине не может работать с широкими символьными константами более %lu бит, но для цели требуется %lu бит"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "обратная косая черта и символ новой строки разделены пробелом"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "обратная косая черта/символ новой строки в конце файла"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "триграф ??%c преобразован в %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "триграф ??%c игнорируется, для включения используйте -trigraphs"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "конец двунаправленного контекста"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "обнаружены непарные двунаправленные управляющие символы UTF-8"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "обнаружен непарный двунаправленный управляющий символ UTF-8"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "несовпадение UTF-8 с UCN при закрытии контекста с помощью «%s»"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "«%s» закрывает не открытый контекст"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "обнаружен проблемный символы Юникода «%s»"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "«/*» внутри комментария"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s в препроцессорной директиве"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "игнорируется символ(ы) null"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "«%.*s» не является NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "«%.*s» не является NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ недоступна до C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ недоступна до C++20"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ может появляться только в расширении вариативного макроса C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "попытка использовать отравленный «%s»"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ может появляться только в расширении вариативного макроса C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ может появляться только в расширении вариативного макроса C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "идентификатор «%s» является именем специального оператора в C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "стоящие рядом цифровые разделители"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "разделитель сырой строки больше 16 символов"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "неверный символ новой строки в разделителе сырой строки"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неверный символ «%c» в разделителе сырой строки"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "незавершённая сырая строка"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неверный суффикс в литерале; в C++11 требуется пробел между литералом и строкой макроса"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "символ(ы) null сохраняются в литерале"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "отсутствует завершающий символ %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "в C++11 требуется пробел между строковым литералом и макросом"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "модуль control-line не может быть во включаемом файле"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "модуль control-line \"%s\" не может быть объекто-подобным макросом"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "незавершённый комментарий"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "комментарии в стиле C++ не разрешены в ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(об этом будет сообщено только один раз для каждого файла)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "комментарии в стиле C++ не совместимы с C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "многострочный комментарий"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "неразбираемый токен %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "разделитель сырой строки больше %d символов"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "незавершённый литерал"
diff --git a/libcpp/po/sr.po b/libcpp/po/sr.po
index 60fb34c..1c5d54f 100644
--- a/libcpp/po/sr.po
+++ b/libcpp/po/sr.po
@@ -1,13 +1,14 @@
# Serbian translation of cpplib.
# Copyright © 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012–2022.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012–2023.
+#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib-12.1-b20220213\n"
+"Project-Id-Version: cpplib-13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-02-16 06:37+0200\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-26 07:55+0100\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,6 +17,7 @@ msgstr ""
"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"
"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Gtranslator 41.0\n"
#: charset.cc:683
#, c-format
@@ -36,7 +38,7 @@ msgstr "нема иконв примене, не могу да претвори
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "знак 0x%lx није у знаковном скупу основног извора\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "претварам у знаковни скуп извршавања"
@@ -45,126 +47,203 @@ msgstr "претварам у знаковни скуп извршавања"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "знак 0x%lx није једног бајта у знаковном скупу извршавања"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "називи свеопштег знака су једино исправни у Ц++ и Ц99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "називи свеопштег знака Ц99 нису сагласни са Ц90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "значење „\\%c“ је другачије у уобичајеном Ц-у"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "„\\N“ без пратеће „{“"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "празан именован свеопшти низ промене знака; сматрам то одвојеним скупинама"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "празан именован свеопшти низ промене знака"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "именоване свеопште промене знака су исправне само у Ц++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "„\\N{%.*s}“ није исправан свеопшти знак; сматрам то одвојеним скупинама"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "„\\N{%.*s}“ није исправан свеопшти знак"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "да ли сте мислили „\\N{%s}“?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "„\\N{' се не завршава са '}“ после „%.*s“; сматрам то одвојеним скупинама"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "„\\N{' се не завршава са '}“ после „%.*s“"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "У _цпп_исправан_нсз али није НСЗ"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "празан ограничен низ промене; сматрам то одвојеним скупинама"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "празан ограничен низ промене"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "ограничени низови промене су једино исправни у Ц++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "„\\u{' се не завршава са '}“ после „%.*s“; сматрам то одвојеним токенима"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "непотпун назив свеопштег знака %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "„\\u{' се не завршава са '}“ после „%.*s“"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s није исправан свеопшти знак"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "„$“ у одреднику или број"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "свеопшти знак %.*s није исправан у одреднику"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "свеопшти знак %.*s није исправан на почетку одредника"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "„%.*s“ је ван УЦС кодног простора"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "претварам НСЗ у изворни знаковни скуп"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "претварам НСЗ у извршни знаковни скуп"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "проширени знак „%.*s“ није исправан у одреднику"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "проширени знак „%.*s“ није исправан на почетку одредника"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "значење „\\x“ је другачије у уобичајеном Ц-у"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "„\\x“ је коришћено са не пратећим хекса цифрама"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "„\\x{' се не завршава са '}“ после „%.*s“"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "хекс низ промене је изван опсега"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "за „\\o“ не следи „{“"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "„\\o{' се не завршава са '}“ после „%.*s“"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "октални низ промене је изван опсега"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "значење „\\a“ је другачије у уобичајеном Ц-у"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "низ промене не-ИСО-стандарда, „\\%c“"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "непознат низ промене: „\\%c“"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "непознат низ промене: „\\%s“"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "претварам низ промене у знаковни скуп извршавања"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "недостаје отворена заграда"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "константа знака је предуга за своју врсту"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "више-знаковна константа знака"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "празна константа знака"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "неуспех у претварању %s у %s"
@@ -179,268 +258,268 @@ msgstr "посебни симболи на крају #%s директиве"
msgid "#%s is a GCC extension"
msgstr "#%s је ГЦЦ проширење"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "„#%s“ пре „C++23“ јесте GCC проширење"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "„#%s“ пре „C2X“ јесте GCC проширење"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s је превазиђено ГЦЦ проширење"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "саветује да се не користи „#elif“ у уобичајеном Ц-у"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "уобичајени Ц занемарује #%s са # увученим"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "саветује скривање #%s из уобичајеног Ц-а са увученим #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "угнежђивање директиве унутар аргумената макроа није преносиво"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "стил директиве реда је ГЦЦ проширење"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "неисправна директива предобраде #%s; да ли сте мислили „#%s“?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неисправна директива предобраде #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "„%s“ не може бити коришћено као назив макроа"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "„%s“ не може бити коришћено као назив макроа јер је то оператор у Ц++-у"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "није дат назив макроа у #%s директиви"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "називи макроа морају бити одредници"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "неодређујем „%s“"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "недостаје завршни знак >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очекује „НАЗИВДАТОТЕКЕ“ или <НАЗИВДАТОТЕКЕ>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "празан назив датотеке у #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "„#include“ дубоко угнеждено %u превазилази максимум од %u (користите „-fmax-include-depth=ДУБИНА“ да повећате максимум)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next у примарној изворној датотеци"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неисправна опција „%s“ у директиви реда"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "неочекивани крај датотеке након „#line“"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "„%s“ након „#line“ није позитиван цео број"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "број реда је ван опсега"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "„%s“ није исправан назив датотеке"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "„%s“ након „#“ није позитиван цео број"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "датотека „%s“ означавач реда занемаренa због нетачног угњежђавања"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "неисправна #%s директива"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "бележим прагме у простору назива „%s“ са неодговарајућим ширењем назива"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "бележим прагму „%s“ са ширењем назива и без простора назива"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "бележим „%s“ и као прагму и као простор назива прагме"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s је већ забележено"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s је већ забележено"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "бележим прагму са НИШТАВНИМ руковаоцем"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma једном у главној датотеци"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "неисправна „#pragma push_macro“ директива"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "неисправна „#pragma pop_macro“ директива"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "неисправна „#pragma GCC poison“ директива"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "трујем постојећи макро „%s“"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "„#pragma system_header“ је занемарено изван датотеке укључивања"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "не могу да пронађем изворну датотеку „%s“"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "текућа датотека је старија од %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неисправна директива „#pragma GCC %s“"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Прагма узима словност ниске затворене заградом"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "„#else“ без „#if“"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "„#else“ након „#else“"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "условљеност почиње овде"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "„#%s“ без „#if“"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "„#%s“ након „#else“"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "„#%s“ пре „C++23“ јесте GCC проширење"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "„#%s“ пре „C2X“ јесте GCC проширење"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "„#endif“ без „#if“"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "недостаје ( након предиката"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "недостаје ) да доврши одговор"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "одговор предиката је празан"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "тврдња без предиката"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "предикат мора бити одредник"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "„%s“ је поново утврђен"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "неокончано #%s"
@@ -454,177 +533,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "стдизлаз"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "константе сталне тачке су ГЦЦ проширења"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "неисправан префикс „0b“ за покретну константу"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "употреба Ц++17 хексадецималне покретне константе"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "употреба Ц99 хексадецималне покретне константе"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "неисправан суфикс „%.*s“ на покретној константи"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "уобичајени Ц одбацује „%.*s“ суфикс"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "суфикс за двоструку константу је ГЦЦ проширење"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "неисправан суфикс „%.*s“ са хексадецималном покретном константом"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "децималне покретне константе су „C2X“ функције"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "неисправан суфикс „%.*s“ на константи целог броја"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "употреба Ц++11 дуге дуге константе целог броја"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "употреба Ц99 дуге дуге константе целог броја"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "употреба Ц++23 %<size_t%> константе целог броја"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "употреба Ц++23 %<make_signed_t<size_t>%> константе целог броја"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "имагинарне константе су ГЦЦ проширења"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "бинарне константе су Ц++14 функције или ГЦЦ проширења"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "бинарне константе су „C2X“ функције или ГЦЦ проширења"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "binarne константе су „C2X“ функције"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "константа целог броја је предуга за њену врсту"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "константа целог броја је толико велика тако да је неозначена"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "недостаје ( након „defined“"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "оператор „defined“ захтева одредника"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(„%s“ је резервни симбол за „%s“ у Ц++-у)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "ова употреба „defined“ не може бити преносива"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "словност коју је одредио корисник у изразу претпроцесора"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "покретна константа у изразу претптоцесора"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "имагинаран број у изразу претптоцесора"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "„%s“ није одређено, процењује се на 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "тврдње су ГЦЦ проширења"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "тврдње су застарела проширења"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "неуравнотежен стек у %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "немогућ оператор у „%u“"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "недостаје ) у изразу"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "„?“ без пратећег „:“"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "прекорачење целог броја у изразу претпроцесора"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "недостаје ( у изразу"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "леви операнд за „%s“ мења знак када је претворен"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "десни операнд за „%s“ мења знак када је претворен"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "уобичајени Ц одбацује унарни плус оператор"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "оператор зареза у операнду „#if“"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "дељење нулом у „#if“"
@@ -664,212 +743,236 @@ msgstr "нема путање укључивања у којој потражи
msgid "Multiple include guards may be useful for:\n"
msgstr "Више чувара укључивања може бити корисно за:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "„cppchar_t“ мора бити неозначена врста"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "аритметика претпроцесора има највећу тачност од %lu бита; мета затева %lu бита"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "ЦПП аритметика мора бити тачна барем колико и циљни цео број"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "циљни знак је дужи мање од 8 бита"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "циљни широки знак (wchar_t) је ужи од циљног знака"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "циљни цео број је ужи од циљног знака"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "ЦПП полуцео број је ужи од ЦПП знака"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "ЦПП на овом рачунару не може да рукује дуге константе знака преко %lu бита, али мета захтева %lu бита"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "контра коса и нови ред су раздвојени размаком"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "контра коса-нови ред на крају датотеке"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "триграф ??%c је претворен у %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "триграф ??%c је занемарен, користите „-trigraphs“ да укључите"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "крај двосмерног садржаја"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "неупарени УТФ-8 двосмерни контролни знаци су откривени"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "неупарени УТФ-8 двосмерни контролни знак је откривен"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "„UTF-8 vs UCN“ не одговара када затварам контекст са „%s“"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "„%s“ затвара неотворени контекст"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "нађох проблематичан Јуникод знак „%s“"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "неисправан УТФ-8 знак „<%x>“"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "неисправан УТФ-8 знак „<%x><%x>“"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "неисправан УТФ-8 знак „<%x><%x><%x>“"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "неисправан УТФ-8 знак „<%x><%x><%x><%x>“"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "„/*“ унутар напомене"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s у директиви претпроцесора"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "ништаван знак(ци) је занемарен(и)"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "„%.*s“ није у НФКЦ-у"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "„%.*s“ није у НФЦ-у"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "„__VA_OPT__“ није доступно све до „Ц++20“"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "„__VA_OPT__“ није доступно све до „C2X“"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "„__VA_OPT__“ може само да се појави у ширењу вариадик макроа „Ц++20“"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "покушај коришћења отрованог „%s“"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "„__VA_ARGS__“ може само да се појави у ширењу вариадик макроа Ц++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "„__VA_ARGS__“ може само да се појави у ширењу вариадик макроа Ц99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "одредник „%s“ је назив посебног оператора у Ц++-у"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "блиски раздвојници цифре"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "граничник сирове ниске је дужи од 16 знака"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "неисправан нови ред у граничнику сирове ниске"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неисправан знак „%c“ у граничнику сирове ниске"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "неокончана сирова ниска"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неисправан суфикс у словности; Ц++11 захтева размак између словности и макроа ниске"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "ништаван знак је причуван у словности"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "недостаје завршни знак %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "Ц++11 захтева размак између словности и макроа ниске"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "контролни ред модула не може бити у укљученој датотеци"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "контролни ред модула „%s“ не може бити макро налик објекту"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "неокончана напомена"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Напомене Ц++ стила нису допуштене у ИСО Ц90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(ово ће бити извештено само једном по улазној датотеци)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "Напомене Ц++ стила нису сагласне са Ц90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "напомена више редова"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "неизговорљив симбол %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "граничник сирове ниске је дужи од %d знака"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "незавршени литерал"
diff --git a/libcpp/po/sv.po b/libcpp/po/sv.po
index a18e1c1..3c678af 100644
--- a/libcpp/po/sv.po
+++ b/libcpp/po/sv.po
@@ -1,17 +1,17 @@
# Swedish messages for cpplib.
-# Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
+# Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
-# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
+# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
#
# Remember: GCC team does not want RCS keywords in the header!
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 12.1-b20220213\n"
+"Project-Id-Version: cpplib 13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-02-17 16:46+0100\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-26 17:10+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -39,7 +39,7 @@ msgstr "ingen iconv-implementation, kan inte konvertera från %s till %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "tecken 0x%lx finns inte i källkodens grundteckenuppsättning\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "konverterar till teckenuppsättning för körning"
@@ -48,126 +48,203 @@ msgstr "konverterar till teckenuppsättning för körning"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "tecken 0x%lx är inte en byte i teckenuppsättning för körning"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universella teckennamn är endast giltiga i C++ och C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:s universella teckennamn är inkompatibla med C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "betydelsen av ”\\%c” är annorlunda i traditionell C"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "”\\N” inte följt av ”{”"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "tomma namngivna universella teckenspecialsekvenser; behandlar det som separata symboler"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "ofullständig namngiven universell teckenspecialsekvens"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "namngivna universella teckenspecialsekvenser är endast giltiga i C++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "\\N{%.*s} är inte ett giltigt universellt tecken; behandlar det som separata symboler"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\\N{%.*s} är inte ett giltigt universellt tecken"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "menade du \\N{%s}?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "”\\N{” inte avslutad med ”}” efter %.*s; behandlar det som separata symboler"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "”\\N{” inte avslutad med ”}” efter %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "I _cpp_valid_ucn men inte en UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "tom avgränsad specialsekvens; behandlar den som separata symboler"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "tom avgränsad specialsekvens"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "avgränsade specialsekvenser är endast giltiga i C++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "”\\u{” inte avslutad med ”}” efter %.*s; behandlar det som separata symboler"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "ofullständigt universellt teckennamn %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "”\\u{” inte avslutad med ”}” efter %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s är inte ett giltigt universellt tecken"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "”$” i identifierare eller tal"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universellt tecken %.*s är inte giltigt i en identifierare"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universellt tecken %.*s är inte giltigt vid början av en identifierare"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s är utanför UCS-kodrymden"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "vid konvertering av UCN källteckenuppsättning"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "vid konvertering av UCN till teckenuppsättning för körning"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "utökat tecken %.*s är inte giltigt i en identifierare"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "utökat tecken %.*s är inte giltigt vid början av en identifierare"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "betydelsen av ”\\x” är annorlunda i traditionell C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x använt utan några följande hexadecimala siffror"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "”\\x{” inte avslutad med ”}” efter %.*s"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "hexadecimal specialsekvens utanför intervallet"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "”\\o” inte följt av ”{”"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "”\\o{” inte avslutad med ”}” efter %.*s"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "oktal specialsekvens utanför intervallet"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "betydelsen av ”\\a” är annorlunda i traditionell C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "icke-ISO-standardspecialsekvens, ”\\%c”"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "okänd specialsekvens: ”\\%c”"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "okänd specialsekvens: ”\\%s”"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "vid konvertering av specialsekvens till teckenuppsättning för körning"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "inledande citationstecken saknas"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "teckenkonstant för lång för sin typ"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "flerteckens teckenkonstant"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "tom teckenkonstant"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "misslyckades att konvertera %s till %s"
@@ -182,268 +259,268 @@ msgstr "extra symboler vid slutet av direktivet #%s"
msgid "#%s is a GCC extension"
msgstr "#%s är en GCC-utvidgning"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s före C++23 är en GCC-utvidgning"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s före C2X är en GCC-utvidgning"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s är en GCC-utvidgning som avrådes ifrån"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "föreslår att inte använda #elif i traditionell C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionell C ignorerar #%s där tecknet # är indenterat"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "föreslår att dölja #%s från traditionell C med en indenterad #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "att bädda in ett direktiv i makroargument är inte portabelt"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "stil på raddirektiv är en GCC-utvidgning"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "ogiltigt preprocessordirektiv #%s; menade du #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ogiltigt preprocessordirektiv #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "”%s” kan inte användas som ett makronamn"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” kan inte användas som ett makronamn eftersom det är en operator i C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "inget makronamn angivet i direktivet #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makronamn måste vara identifierare"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "avdefinierar ”%s”"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "saknar avslutande tecken >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s förväntar ”FILNAMN” eller <FILNAMN>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnamn i #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "nästningsdjup %u av #include överskrider maximum på %u (använd -fmax-include-depth=DJUP för att öka maximumet)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next i primär källkodsfil"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ogiltig flagga ”%s” i line-direktiv"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "oväntat filslut efter #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "”%s” efter #line är inte ett positivt heltal"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "radnummer utanför möjligt intervall"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” är inte ett giltigt filnamn"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "”%s” efter # är inte ett positivt heltal"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "filen ”%s” linjemarkör ignoreras på grund av felaktig nästning"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "ogiltigt #%s-direktiv"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrerar pragman i namnrymden ”%s” med namnexpansion som inte passar ihop"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerar pragma ”%s” med namnexpansion och utan namnrymd"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrerar ”%s” både som ett pragma och ett pragma namespace"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s är redan registrerat"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s är redan registrerat"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "registrerar pragma med NULL-hanterare"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once i huvudfil"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "ogiltigt direktiv #pragma push_macro"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "ogiltigt direktiv #pragma pop_macro"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "ogiltigt direktiv #pragma GCC poison"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "förgiftar existerande makro ”%s”"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorerat utanför huvudfil"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "kan inte hitta källfil %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "aktuell fil är äldre än %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ogiltigt direktiv ”#pragma GCC %s”"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tar en strängkonstant inom parenteser"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else utan #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "villkorssatsen började här"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s utan #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s efter #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s före C++23 är en GCC-utvidgning"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s före C2X är en GCC-utvidgning"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif utan #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "saknas '(' efter predikat"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "saknas ')' för att avsluta svaret"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "predikatets svar är tomt"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "försäkran utan predikat"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predikat måste vara en identifierare"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” omförsäkrat"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "oavslutad #%s"
@@ -457,177 +534,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "standard ut"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "fastdecimalskonstanter är en GCC-utvidgning"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ogiltigt prefix ”0b” på flyttalskonstant"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "användning av hexadecimal flyttalskonstant enligt C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "användning av hexadecimal flyttalskonstant enligt C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ogiltigt suffix ”%.*s” på flyttalskonstant"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionell C tillåter inte suffixet ”%.*s”"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "suffix för double-konstanter är en GCC-utvidgning"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ogiltigt suffix ”%.*s” på hexadecimal flyttalskonstant"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "decimala flyttalskonstanter är en C2X-funktion"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ogiltig ändelse ”%.*s” på heltalskonstant"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "användning av long long heltalskonstant enligt C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "användning av long long heltalskonstant enligt C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "användning av %<size_t%> heltalskonstant enligt C++23"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "användning av %<make_signed_t<size_t>%> heltalskonstant enligt C++23"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginära konstanter är en GCC-utvidgning"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binära konstanter är C++14-funktion eller GCC-utvidgning"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binära konstanter är C2X-funktion eller GCC-utvidgning"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "binära konstanter är en C2X-funktion"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "heltalskonstant är för stor för sin typ"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "heltalskonstant är så stor att den är teckenlös"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "saknar ')' efter ”defined”"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operatorn ”defined” måste ha en identifierare"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” är en alternativ symbol för ”%s” i C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "denna användning av ”defined” är kanske inte portabel"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "användardefinierad konstant i preprocessoruttryck"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "flyttalskonstant i preprocessoruttryck"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginärt tal i preprocessoruttryck"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” är inte definierad, beräknas till 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "försäkringar är en GCC-utvidgning"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "försäkringar är en utvidgning som avrådes ifrån"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "obalanserad stack i %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "omöjlig operator ”%u”"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "saknad ”)” i uttryck"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "”?” utan följande ”:”"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "heltalsspill i preprocessoruttryck"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "saknad ”(” i uttryck"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "vänsteroperanden till ”%s” byter tecken vid befordran"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "högeroperanden till ”%s” byter tecken vid befordran"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "traditionell C hanterar inte operatorn unärt plus"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "kommaoperator i operand till #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "division med noll i #if"
@@ -667,212 +744,236 @@ msgstr "ingen huvudfilssökväg att leta efter %s i"
msgid "Multiple include guards may be useful for:\n"
msgstr "Multipla inkluderingsvakter kan vara användbart för:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t måste vare en teckenlös typ"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "preprocessoraritmetik har en högsta precision på %lu bitar; målet kräver %lu bitar"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetik måste vara åtminstone så precis som målets int"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "målets char är mindre än 8 bitar bred"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "målets wchar_t är smalare än målets char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "målets int är smalare än målets char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP:s halva heltal är smalare än CPP:s tecken"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP på denna värd kan inte hantera breda teckenkonstanter över %lu bitar, men målet kräver %lu bitar"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "bakåtstreck och nyrad skiljda av mellanrum"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "bakåtstreck-nyrad vid filslut"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c konverterad till %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c ignorerad, använd -trigraphs för att aktivera"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "slut på dubbelriktat sammanhang"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "oparade dubbelriktade UTF-8-styrtecken upptäckta"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "oparat dubbelriktat UTF-8-styrtecken upptäckt"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "UTF-8 och UCN stämmer inte när ett sammanhang stängs av ”%s”"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "”%s” stänger ett oöppnat sammanhang"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "hittade ett problematiskt Unicode-tecken ”%s”"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "felaktigt UTF-8-tecken <%x>"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "felaktigt UTF-8-tecken <%x><%x>"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "felaktigt UTF-8-tecken <%x><%x><%x>"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "felaktigt UTF-8-tecken <%x><%x><%x><%x>"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "”/*” i kommentar"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s i preprocessordirektiv"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "nolltecken ignorerat"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” är inte i NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” är inte i NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ är inte tillgängligt förrän C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ är inte tillgängligt förrän C2X"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ kan endast dyka upp i expansionen av ett C++20-makro med variabelt argumentantal"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "försök att använda förgiftad ”%s”"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kan endast dyka upp i expansionen av ett C++11-makro med variabelt argumentantal"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kan endast dyka upp i expansionen av ett C99-makro med variabelt argumentantal"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identifieraren ”%s” är ett speciellt operatornamn i C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "intilliggande sifferseparatorer"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "avgränsare för rå sträng längre än 16 tecken"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "felaktig nyrad i rå sträng-avgränsare"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ogiltigt tecken ”%c” i avgränsare för rå sträng"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "oavslutad rå sträng"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ogiltigt suffix på konstant; C++11 kräver ett mellanrum mellan konstant och strängmakro"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "nolltecken bevarade i konstant"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "avslutande %c-tecken saknas"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 kräver ett mellanrum mellan en strängkonstant och ett makro"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "modulstyrraden kan inte finnas i en inkluderad fil"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "modulstyrraden ”%s” får inte vara ett objektlikt makro"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "ej avslutad kommentar"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ kommentarer tillåts inte i ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(detta rapporteras bara en gång per infil)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil är inkompatibla med C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "flerradskommentar"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "ostavbar symbol %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "avgränsare för rå sträng längre än %d tecken"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "oavslutad konstant"
diff --git a/libcpp/po/tr.po b/libcpp/po/tr.po
index f0307b1..1d5b256 100644
--- a/libcpp/po/tr.po
+++ b/libcpp/po/tr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.8.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2013-11-01 22:29+0100\n"
"Last-Translator: Volkan Gezer <vlkngzr@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -39,7 +39,7 @@ msgstr "iconv bulunamadığından %s ile %s karakter kümeleri arasında dönü
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "0x%lx karakteri temel kaynak karakter kümesinde değil\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "çalışma karakter kümesine dönüştürülüyor"
@@ -48,130 +48,219 @@ msgstr "çalışma karakter kümesine dönüştürülüyor"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "0x%lx karakteri icra karakter kümesindeki tek baytlık karakterlerden değil"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
-#: charset.cc:1091
+#: charset.cc:1441
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "`\\%c'nin anlamı geleneksel C'de farklıdır"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "'?' dan sonra ':' yok"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "evrensel karakter ismi %.*s tamamlanmamış"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s geçerli bir evrensel karakter değil"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s geçerli bir evrensel karakter değil"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Bir UCN içinde değil, _cpp_valid_ucn içinde"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "evrensel karakter ismi %.*s tamamlanmamış"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s geçerli bir evrensel karakter değil"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "belirteç ya da sayı içinde '$'"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "evrensel karakter %.*s bir belirtecin başında geçerli değil"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "UCN'den kaynak karakter kümesine dönüşüm"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "UCN'den icra karakter kümesine dönüşüm"
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "evrensel karakter %.*s bir belirtecin başında geçerli değil"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "'\\x'in anlamı geleneksel C'de farklıdır"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x izleyen onaltılık rakamlar olmaksızın kullanılmış"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "onaltılık önceleme dizgesi kapsamdışı"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "'?' dan sonra ':' yok"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "sekizlik önceleme dizgesi kapsamdışı"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "`\\a'nın anlamı geleneksel C'de farklıdır"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO standardı olmayan önceleme dizgesi, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "bilinmeyen kaçış dizgesi: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "bilinmeyen önceleme dizgesi '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "önceleme diziliminden icra karakter kümesine dönüşüm"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "karakter sabiti, türü için çok uzun"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "çoklu-karakter karakter sabiti"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "karakter sabit boş"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "`%s' ile `%s' arasında dönüşüm başarısız"
@@ -186,274 +275,274 @@ msgstr "#%s yönergesinin sonunda fazladan dizgecikler"
msgid "#%s is a GCC extension"
msgstr "#%s bir GCC uzantısıdır"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s bir GCC uzantısıdır"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s bir GCC uzantısıdır"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s eskimiş bir GCC uzantısıdır"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "geleneksel C'de #elif kullanılmıyor varsayılır"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "geleneksel C'de girintili # ile #%s yoksayılır"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "geleneksel C'den #%s in saklanması için bir girintili # kullanılmış farzedilir"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "bir yönergenin makro argümanlarla gömülmesi uyarlanabilir değil"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "satır yönergesinin tarzı bir GCC özelliğidir"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "önişlem yönergesi #%s geçersiz"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "önişlem yönergesi #%s geçersiz"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" makro ismi olarak kullanılamaz"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" C++'da bir işleç olduğundan makro ismi olarak kullanılamaz"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s yönergesinde makro ismi verilmemiş"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makro isimleri tanımlayıcılar olmalı"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "tanımsız yapılan \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "sonlandıran > karakteri eksik"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s \"DOSYA\" ya da <DOSYA> gerektirir"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "#%s ile belirtilen dosya boş"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "birncil kaynak dosyasında #include_next"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "satır yönergesinde geçersiz \"%s\" seçeneği"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "#line satırından sonra beklenmeyen dosya sonu"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "satır numarası kapsam dışı"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" geçerli bir dosya ismi değil"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "#%s yönergesi geçersiz"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "\"%s\" isim-alanındaki pragmalar uyumsuz isim yorumlaması ile kaydediliyor"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma \"%s\" isim alansız olarak isim yorumlamasıyla kaydediliyor"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" hem pragma hem de pragma isim alanı olarak kaydediliyor"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s zaten kayıtlı"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s zaten kayıtlı"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "pragma NULL eylemci ile kaydediliyor"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "main dosyasında '#pragma once'"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "geçersiz #pragma GCC poison yönergesi"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "zehirlenen mevcut makro \"%s\""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "başlık dosyasının dışındaki '#pragma system_header' yoksayıldı"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "%s kaynak dosyası bulunamıyor"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "mevcut dosya %s den daha eski"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "geçersiz \"#pragma GCC %s\" yönergesi"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma bir parantezli dizge sabiti alır"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#if siz #else"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else den sonra #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "koşul başlangıcı burası"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#if siz #else"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else den sonra #else"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s bir GCC uzantısıdır"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s bir GCC uzantısıdır"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#if siz #endif"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "dayanaktan sonra '(' eksik"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "yanıtı tamamlayacak ')' eksik"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "dayanakların cevabı boş"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "dayanaksız olumlama"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "dayanak bir tanımlayıcı olmalı"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" tekrar olumlanmış"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "sonlandırılmamış #%s"
@@ -467,194 +556,194 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdÇ"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "sabit noktalı sabitler bir GCC uzantısıdır"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "kayan nokta için geçerisz \"0b\" öntakısı"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "C99 onaltılık gerçel sayı sabit kullanımı"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "C99 onaltılık gerçel sayı sabit kullanımı"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "gerçel sabitin \"%.*s\" soneki geçersiz"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "geleneksel C \"%.*s\" sonekini kullanmaz"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "çift sabit için öntakı bir GCC uzantısıdır"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "onaltılık kayan sabitli \"%.*s\" soneki geçersiz"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "onluk kayan sabitler bir GCC uzantısıdır"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "tamsayı sabitte sonek \"%.*s\" soneki geçersiz"
-#: expr.cc:803
+#: expr.cc:817
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "ISO C++0x long long tamsayı sabitlerinin kullanımı"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "ISO C99 long long tamsayı sabitleri yasaklar"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "ISO C++0x long long tamsayı sabitlerinin kullanımı"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "ISO C++0x long long tamsayı sabitlerinin kullanımı"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "sanal sabitler bir GCC genişletmesidir"
-#: expr.cc:837
+#: expr.cc:851
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "ikili sabitler bir GCC uzantısıdır"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "ikili sabitler bir GCC uzantısıdır"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "ikili sabitler bir GCC uzantısıdır"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "tamsayı sabit, türü için oldukça büyük"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "tamsayı sabit unsigned olarak oldukça büyük"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "\"defined\" dan sonra ')' eksik"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "\"defined\" işleci bir tanımlayıcı gerektirir"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(C++'da \"%s\" \"%s\" için bir alternatif dizgeciktir)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "\"defined\" bu kullanımıyla uyarlanabilir olmayabilir"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "önişleyici ifadesinde kullanıcı tanımlı bağımlı"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "önişlemci ifadesinde gerçel sayı taşması"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "önişlemci ifadesinde sanal sayı"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tanımlı değil"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "belirteçler bir GCC uzantısıdır"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "belirteçler artık kullanılmayan bir ifadedir"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s içinde dengelenmemiş yığın"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "işleç '%u' imkansız"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "ifadede ')' eksik"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' dan sonra ':' yok"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "önişlemci ifadesinde tamsayı taşması"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "ifadede '(' eksik"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "\"%s\"in soldaki terimi yükseltgenirken işaret değiştiriyor"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "\"%s\"in sağdaki terimi yükseltgenirken işaret değiştiriyor"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "geleneksel C tekil artı işlecini dışlar"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "#if'in teriminde virgül"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "#if içinde sıfırla bölme"
@@ -694,225 +783,249 @@ msgstr "%s için aranacaklar içinde başlık dosyaları yolu yok"
msgid "Multiple include guards may be useful for:\n"
msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t bir usigned tür olmalı"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "önişlemci aritmetiği %lu bitlik maksimum genişliğe sahip; hedef için %lu bit gerekiyor"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP aritmetiği en azından bir hedef int kadar genişlikte olmalı "
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "hedef char 8bitlik genişlikten küçük"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "hedef wchar_t hedef char'dan daha dar"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "hedef int hedef char'dan daha dar"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer'ı CPP character'dan daha dar"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "Bu konaktaki CPP %lu bitten büyük karakter sabitleriyle çalışamaz, hedef ise %lu bit gerektiriyor"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "ters bölü ve satırsonu arasında boşluk var"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "dosyanın sonunda tersbölülü satırsonu"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "??%c üçlü harfi %c olarak dönüştürüldü"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "??%c üçlü harfi yoksayıldı, yoksayılmaması için -trigraphs kullanın"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "açıklama içinde \"/*\" bulundu"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "önişlem yönergesi içinde %s"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "null karakter(ler) yoksayıldı"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' NFKC'de yok"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' NFC'de yok"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "zehirli \"%s\" kullanılmaya çalışılıyor"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "\"%s\" belirteci, C++'da özel bir işleç adıdır"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "ham dizge ayracı 16 karakterden uzun"
-#: lex.cc:2454
+#: lex.cc:2669
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "ham dizge ayracında geçersiz karakter '%c'"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ham dizge ayracında geçersiz karakter '%c'"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "bitirilmemiş ham dizge"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and identifier"
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "geçersiz ifade soneki; C++11 ifade ve tanımlayıcı arasında bir boşluk gerektirir"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "null karakter(ler) sabit içinde saklanmış"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "sonlandıran %c karakteri eksik"
-#: lex.cc:2719
+#: lex.cc:2940
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and identifier"
msgid "C++11 requires a space between string literal and macro"
msgstr "geçersiz ifade soneki; C++11 ifade ve tanımlayıcı arasında bir boşluk gerektirir"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "sonlandırılmamış açıklama"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(her girdi dosyasında sadece bir kere raporlanacaktır)"
-#: lex.cc:3739
+#: lex.cc:3974
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "çok satırlı açıklama"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "dizgecik %s okunabilir değil"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "ham dizge ayracı 16 karakterden uzun"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/uk.po b/libcpp/po/uk.po
index c75fdc3..34f8bde 100644
--- a/libcpp/po/uk.po
+++ b/libcpp/po/uk.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gcc package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2012-2021, 2022.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012-2021, 2022, 2023.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 12.1-b20220213\n"
+"Project-Id-Version: cpplib 13.1-b20230212\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
-"PO-Revision-Date: 2022-02-15 19:57+0200\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
+"PO-Revision-Date: 2023-02-22 12:54+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -39,7 +39,7 @@ msgstr "не реалізовано у iconv, не вдається перетв
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "символ 0x%lx відсутній у базовому первинному наборі символів\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "перетворення на виконуваний набір символів"
@@ -48,126 +48,203 @@ msgstr "перетворення на виконуваний набір симв
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "символ 0x%lx не однобайтовий у виконуваному наборі символів"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "універсальні назви символів допустимі лише у C++ та C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "універсальні назви символів C99 є несумісними із C90"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "сенс '\\%c' відрізняється від традиційної мови C"
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr "Після «\\N» немає «{»"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr "порожня іменована керівна послідовність універсальних символів; обробляємо її як окремі елементи"
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr "порожня іменована керівна послідовність універсальних символів"
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr "іменовані керівні послідовності універсальних символів є чинними лише у C++23"
+
+#: charset.cc:1545
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "\\N{%.*s} не є допустимим універсальним символом; обробляємо його як окремі елементи"
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "\\N{%.*s} не є допустимим універсальним символом"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr "ви мали на увазі \\N{%s}?"
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "«\\N{» не завершено «}» після %.*s; обробляємо його як окремі елементи"
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr "«\\N{» не завершено «}» після %.*s"
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "У _cpp_valid_ucn але не UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr "порожня обмежена керівна послідовність; обробляємо її як окремі елементи"
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr "порожня обмежена керівна послідовність"
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "обмежені керівні послідовності є коректними лише у C++23"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr "«\\u{» не завершено «}» після %.*s; обробляємо його як окремі елементи"
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "неповна універсальна назва символу %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr "«\\u{» не завершено «}» після %.*s"
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s не є допустимим універсальним символом"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "'$' у ідентифікаторі чи числі"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "універсальний символ %.*s не є допустимим у ідентифікаторі"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "універсальний символ %.*s не є допустимим на початку ідентифікатора"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s поза простором кодування UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "перетворення UCN на первинний набір символів"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "перетворення UCN на виконуваний набір символів"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "розширений символ %.*s не є допустимим у ідентифікаторі"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "розширений символ %.*s не є допустимим на початку ідентифікатора"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "сенс '\\x' відрізняється від традиційної мови C"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x використовується з наступними шістнадцятковими цифрами"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr "«\\x{» не завершено «}» після %.*s"
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "шістнадцяткова escape-послідовність поза межами діапазону"
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr "Після «\\o» немає «{»"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr "«\\o{» не завершено «}» після %.*s"
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "вісімкова escape-послідовність поза межами діапазону"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "сенс '\\a' відрізняється від традиційної мови C"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "escape-послідовність не за стандартом ISO, '\\%c'"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "невідома керівна послідовність: '\\%c'"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "Невідома escape-послідовність: '\\%s'"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "escape-послідовність перетворюється на виконуваний набір символів"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "пропущено початкові лапки"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "символьна константа надто довга для вказаного типу"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "багатосимвольна символьна константа"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "порожня символьна константа"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "помилка при перетворені %s на %s"
@@ -182,268 +259,268 @@ msgstr "зайві лексеми наприкінці директиви #%s"
msgid "#%s is a GCC extension"
msgstr "#%s є розширенням GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s до C++23 є розширенням GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s перед C2X є розширенням GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s є застарілим розширенням GCC"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "рекомендується не використовувати #elif у традиційній мові C"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "у традиційній мові C ігноруються #%s, якщо # з відступом"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "рекомендується приховувати #%s у традиційній мові C використовуючи відступ перед #"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "вбудована директива з макроаргументами не є переносимою"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "стиль директиви line є розширенням GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "неправильна директива препроцесора #%s; ви мали на увазі #%s?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильна директива препроцесора #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"%s\" не може використовуватись як назва макроса"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" не може використовуватись як назва макроса, оскільки це - оператор у C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не вказаний макрос у директиві #%s"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "назви макросів повинні бути ідентифікаторами"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "скасовується визначення \"%s\""
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "відсутній завершальний символ >"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очікує \"FILENAME\" або <FILENAME>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "порожня назва файлу у #%s"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "глибина вкладеності #include, %u, перевищує максимальну дозволену — %u (скористайтеся -fmax-include-depth=ГЛИБИНА, щоб збільшити максимум)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next у первинному файлі тексту програми"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "некоректна ознака \"%s\" у директиві line"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "неочікуване завершення файла після #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" після #line не є додатнім цілим числом"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "номер рядка за межами діапазону"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" не є коректною назвою файлу"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" після # не є додатнім цілим числом"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "засіб позначення рядків файла «%s» проігноровано через некоректну вкладеність"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "некоректна директива #%s"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "прагми реєструються у просторі назв \"%s\" за відсутності розширення назв"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "прагма \"%s\" реєструється з розширенням назви але без простору назви"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" реєструється як прагма та як простір назв прагм"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s вже зареєстровано"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s вже зареєстровано"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "реєструється pragma з NULL-обробником"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma один раз у головному файлі"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "некоректна директива #pragma push_macro"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "некоректна директива #pragma pop_macro"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "некоректна директива #pragma GCC poison"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "використання отруєння (poisoning) вже створеного макроса \"%s\""
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header проігноровано за межами включеного файлу"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "не вдається знайти первинний файл %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "поточний файл старіший ніж %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "некоректна директива «#pragma GCC %s»"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma охоплює дужками символьний літерал"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else після #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "умова починається тут"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s без #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s після #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s до C++23 є розширенням GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s перед C2X є розширенням GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "відсутня '(' після предикату"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "відсутня ')' для завершення відповіді"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "відповідь предиката порожня"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "твердження без предиката"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "предикат має бути ідентифікатором"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" повторне ствердження"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "незавершене #%s"
@@ -457,177 +534,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "константи з фіксованим розташуванням крапки є розширенням GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "некоректний префікс \"0b\" для константи з рухомою крапкою"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "використовуйте десятково-шістнадцяткову константу із рухомою крапкою стандарту C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "використовуйте десятково-шістнадцяткову константу з рухомою крапкою мови C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "некоректний суфікс \"%.*s\" у константі з плаваючою комою"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "традиційною мовою C не сприймається суфікс \"%.*s\""
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "суфікс для констант double є розширенням GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "некоректний суфікс \"%.*s\" з десятково-шістнадцятковою константою з плаваючою комою"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "десяткові константи з рухомою крапкою є можливістю C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "некоректний суфікс \"%.*s\" у цілій константі"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "використання цілої константи long long C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "використання цілої константи long long з C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "використання цілої сталої C++23 %<size_t%>"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "використання цілої сталої C++23 %<make_signed_t<size_t>%>"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "уявні константи є розширенням GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "бінарні константи є можливістю C++14 або розширенням GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "бінарні константи є можливістю C2X або розширенням GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "двійкові константи є можливістю C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "ціла константа надто велика для вказаного типу"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "ціла константа така велика, що вона не матиме знаку"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "відсутня ')' після \"defined\""
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "для оператора \"defined\" потрібен ідентифікатор"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" - альтернативна лексема для \"%s\" у C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "використання \"defined\" може бути непереносимим"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "буквальне визначення користувача у виразі для препроцесора"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "константа з плаваючою комою у виразі препроцесора"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "уявне число у виразі препроцесора"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" не визначено, приймаємо значення 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "assertions є розширенням GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "розширення assertions вважається застарілим"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "незбалансований стек у %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "неможливий оператор '%u'"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "відсутня ')' у виразі"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "'?' без наступного ':'"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "переповнення цілого числа у виразі препроцесора"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "відсутня '(' у виразі"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "лівий операнд \"%s\" змінює знак при підвищенні"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "правий оператор \"%s\" змінює знак при підвищенні"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "у традиційній мові C не допускається унарний оператор плюс"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "оператор кома у операнді #if"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "ділення на нуль у #if"
@@ -667,212 +744,236 @@ msgstr "відсутні шлях включення у якому ведеть
msgid "Multiple include guards may be useful for:\n"
msgstr "Декілька include guards можуть бути корисні для:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t має бути беззнакового типу"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "арифметика препроцесора має максимальну точність %lu біт; ціль вимагає %lu біт"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "арифметика CPP повинна мати принаймні таку ж точність я у цільового цілого числа"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "ширина цільового типу char менша за 8 біт"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "цільовий wchar_t є вужчим за цільовий char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "цільовий тип int є вужчим ніж цільовий char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer є вужчим за CPP character"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP на цьому вузлі не може обробляти константи з символів шириною понад %lu біт, але для цілі вимагається %lu біт"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "зворотна коса риска та символ нового рядка відділяються пробілом"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "зворотна коса риска та символ нового рядка наприкінці файлу"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "тристоронній ??%c перетворено на %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "тристоронній ??%c проігноровано, використовуйте -trigraphs, щоб увімкнути"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "кінець двоспрямованого контексту"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "виявлено символи двобічного керування UTF-8 без відповідників"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "виявлено символ двобічного керування UTF-8 без відповідника"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "невідповідність між UTF-8 і UCN при завершенні контексту за допомогою «%s»"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "«%s» завершує невідкритий контекст"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "виявлено проблемний символ Unicode «%s»"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr "некоректний символ UTF-8 <%x>"
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr "некоректний символ UTF-8 <%x><%x>"
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr "некоректний символ UTF-8 <%x><%x><%x>"
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr "некоректний символ UTF-8 <%x><%x><%x><%x>"
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "\"/*\" всередині коментаря"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s в директиві препроцесора"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "null-символи проігноровані"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' не у NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' не у NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ є недоступним до C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ є недоступним до C2X"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ може з'являтися лише у розширенні варіативних макросів зі стандарту C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "спроба використати отруєного (poisoned) \"%s\""
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ може з'являтися лише у розширенні варіативних макросів з мови C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ може з'являтися лише у розширенні варіативних макросів з мови C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "ідентифікатор \"%s\" є особливою назвою оператора у C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "сусідні роздільники цифр"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "роздільник необроблених рядків довжиною, що перевищує 16 символів"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "некоректний символ нового рядка у роздільнику простого рядка"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "некоректний символ, «%c», у роздільнику простого рядка"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "незавершений простий рядок"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "некоректний суфікс у літералі; стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "null-символи збережені буквально"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "відсутній завершальний символ %c"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "рядок керування модулем не може зберігатися у включеному файлі"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "рядок керування модулем «%s» не може бути об'єктоподібним макросом"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "незавершений коментар"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Коментарі у стилі C++ неприпустимі згідно ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(повідомлення про це з'явиться лише один для вхідного файлу)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "Коментарі у стилі C++ неприпустимі у C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "багаторядковий коментар"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "неможливо розібрати лексему %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "роздільник необроблених рядків довжиною, що перевищує %d символів"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "незавершений літерал"
diff --git a/libcpp/po/vi.po b/libcpp/po/vi.po
index 57d30fb..d62efc9 100644
--- a/libcpp/po/vi.po
+++ b/libcpp/po/vi.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 12.1-b20220213\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2022-02-16 14:33+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -40,7 +40,7 @@ msgstr "iconv chưa thực hiện nên không thể chuyển đổi từ %s sang
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "ký tự 0x%lx không phải nằm trong bộ ký tự nguồn cơ bản\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "đang chuyển đổi sang bộ ký tự thi hành"
@@ -49,126 +49,215 @@ msgstr "đang chuyển đổi sang bộ ký tự thi hành"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "ký tự 0x%lx không có dạng byte đơn trong bộ ký tự thi hành"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "tên ký tự chung chỉ hợp lệ trong ngôn ngữ C++ và C99"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "Tên ký tự chung C99 là không tương thích với C99"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "“\\%c” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "dấu hỏi “?” mà không có dấu hai chấm “:” đi sau"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "tên ký tự chung %.*s chưa hoàn thành"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "tên ký tự chung chỉ hợp lệ trong ngôn ngữ C++ và C99"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s không phải là ký tự chung hợp lệ"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s không phải là ký tự chung hợp lệ"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Trong “_cpp_valid_ucn” nhưng mà không phải là một UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "tên ký tự chung chỉ hợp lệ trong ngôn ngữ C++ và C99"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "tên ký tự chung %.*s chưa hoàn thành"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s không phải là ký tự chung hợp lệ"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "gặp “$” trong định danh hay con số"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "ký tự toàn cầu %.*s không hợp lệ trong một định danh"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "ký tự toàn cầu %.*s không hợp lệ tại đầu của một định danh"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s nằm ngoài không gian mã UCS"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "đang chuyển đổi UCN sang bộ ký tự nguồn"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "đang chuyển đổi UCN sang bộ ký tự thi hành"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "ký tự mở rộng %.*s không hợp lệ trong một định danh"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "ký tự mở rộng %.*s không hợp lệ khi ở đầu của một định danh"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "“\\x” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x được dùng mà không có chữ số thập lục theo sau"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "dãy thoát dạng thập lục phân ở ngoài phạm vi"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "dấu hỏi “?” mà không có dấu hai chấm “:” đi sau"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "dãy thoát dạng bát phân ở ngoài phạm vi"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "“\\a” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "dãy thoát khác chuẩn ISO: “\\%c”"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "không hiểu dãy thoát: “\\%c”"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "không hiểu dãy thoát: “\\%s”"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "đang chuyển đổi dãy thoát sang bộ ký tự thi hành"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "thiếu dấu trích dẫn mở"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "hằng ký tự quá dài cho kiểu nó"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "hằng ký tự đa ký tự"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "hằng ký tự trống"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "gặp lỗi nghiêm trong khi chuyển đổi %s sang %s"
@@ -183,268 +272,268 @@ msgstr "gặp thẻ bài thừa tại kết thúc của chỉ thị #%s"
msgid "#%s is a GCC extension"
msgstr "#%s là phần mở rộng kiểu GCC"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s trước C++23 là một thành phần mở rộng GCC"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s trước C2X là một thành phần mở rộng GCC"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s là một phần mở rộng GCC đã lạc hậu"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "khuyên bạn không dùng #elif trong ngôn ngữ C truyền thống"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "ngôn ngữ C truyền thống bỏ qua #%s với # được thụt lề"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "khuyên bạn ẩn #%s khỏi ngôn ngữ C truyền thống bằng # được thụt lề"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "khả năng nhúng chỉ thị vào đối số vĩ lệnh không thể mạng theo"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "kiểu chỉ thị dòng là phần mở rộng GCC"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "chỉ thị tiền xử lý không hợp lệ #%s; ý bạn là #%s phải không?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "chỉ thị tiền xử lý không hợp lệ #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "không thể dùng “%s” như là tên vĩ lệnh"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "không thể dùng “%s” như là tên vĩ lệnh vì nó là toán tử trong ngôn ngữ C++"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "chỉ thị #%s không chứa tên vĩ lệnh"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "mọi tên vĩ lệnh phải là một định danh"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "đang hủy định nghĩa “%s”"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "thiếu ký tự “>” chấm dứt"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s cần \"TÊN_TẬP_TIN\" hoặc <TÊN_TẬP_TIN>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "#%s chứa tên tập tin trống"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "độ sâu lồng #include %u vượt quá tối đa %u (sử dụng -fmax-include-depth=DEPTH để tăng tối đa)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "gặp “#include_next” (bao gồm kế tiếp) nằm trong tập tin nguồn chính"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "gặp cờ không hợp lệ “%s” nằm trong chỉ thị dòng"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "gặp kết thúc tập tin bất thường đằng sau #line"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "“%s” nằm sau “#line” (dòng) không phải là số nguyên dương"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "số dòng nằm ngoài phạm vi"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "“%s” không phải là tên tập tin hợp lệ"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "“%s” nằm sau “#” không phải là số nguyên dương"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tập tin linemarker \"%s\" bị bỏ qua bởi vì lồng nhau không đúng"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "chỉ thị #%s không hợp lệ"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "việc đăng ký các lệnh mã nguồn điều khiển trình biên dịch (pragma) trong miền tên “%s” không khớp mở rộng tên"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "việc đăng ký lệnh mã nguồn điều khiển trình biên dịch (pragma) “%s” có mở rộng tên nhưng không có miền tên"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "đang đăng ký “%s” là cả lệnh nguồn điều khiển trình biên dịch (pragma), lẫn miền tên của lệnh nguồn điều khiển trình biên dịch"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "“#pragma %s %s” đã được đăng ký"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "“#pragma %s” đã được đăng ký"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "việc đăng ký lệnh mã nguồn điều khiển trình biên dịch (pragma) có bộ quản lý vô giá trị (NULL)"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "Có “#pragma” một lần trong tập tin chính"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "gặp chỉ thị #pragma push_macro sai"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "gặp chỉ thị #pragma pop_macro sai"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "gặp chỉ thị vô hiệu hóa (poison) GCC “#pragma” không hợp lệ"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "đang vô hiệu hóa vĩ lệnh tồn tại “%s”"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "“#pragma system_header” (đầu trang hệ thống) bị bỏ qua ở ngoài tập tin bao gồm"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "không tìm thấy tập tin nguồn %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "tập tin hiện thời là cũ hơn %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "gặp chỉ thị \"#pragma GCC %s\" không hợp lệ"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "“_Pragma” nhận một hằng chuỗi được đặt trong ngoặc đơn"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else (nếu không) mà không có #if (nếu)"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else (nếu không) nằm sau #else"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "điều kiện đã bắt đầu ở đây"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s mà không có #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s nằm sau #else"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s trước C++23 là một thành phần mở rộng GCC"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s trước C2X là một thành phần mở rộng GCC"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif (nếu không đúng) không có #if (nếu)"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "thiếu “(” nằm sau vị ngữ"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "thiếu “)” để hoàn tất câu trả lời"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "vị ngữ chứa trả lời trống"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "sự khẳng định không có vị ngữ"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "vị ngữ phải là định danh"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "“%s” được khẳng định lại"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "#%s chưa chấm dứt"
@@ -458,177 +547,177 @@ msgstr "%s: %s"
msgid "stdout"
msgstr "thiết bị xuất chuẩn"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "hằng số thực dấu chấm tĩnh là phần mở rộng GCC"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "gặp tiền tố không hợp lệ “0b” cho hằng dấu chấm động"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "dùng hằng dấu chấm động thập lục C++17"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "dùng hằng dấu chấm động thập lục C99"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” nằm trên hằng dấu chấm động"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "ngôn ngữ C truyền thống từ chối hậu tố “%.*s”"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "hậu tố cho hằng số đôi là một phần mở rộng GCC"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” có hằng dấu chấm động thập lục"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "hằng dấu chấm động thập phân là một tính năng C2X"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” nằm trên hằng số nguyên"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "dùng hằng số nguyên dài dài C++11"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "dùng hằng số nguyên dài dài C99"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "dùng hằng số nguyên C++23 %<size_t%>"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "dùng hằng số nguyên C++23 %<make_signed_t<size_t>%>"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "hằng ảo là phần mở rộng GCC"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "hằng nhị phân là đặc tính C++14 hoặc phần mở rộng GCC"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "hằng nhị phân là đặc tính C2X hoặc phần mở rộng GCC"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "hằng nhị phân là một tính năng C2X"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "hằng số nguyên quá lớn cho kiểu nó"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "hằng số nguyên quá lớn thì không có dấu"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "thiếu “)” nằm sau “defined” (đã định nghĩa)"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "toán tử “defined” (đã định nghĩa) cần đến định danh"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(“%s” là một thẻ bài thay thế cho “%s” trong ngôn ngữ C++)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "khả năng dùng “defined” (đã định nghĩa) có lẽ không khả chuyển"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "kiểu do người dùng định nghĩa trong biểu thức tiền xử lý"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "gặp hằng dấu chấm động nằm trong biểu thức tiền xử lý"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "gặp số ảo nằm trong biểu thức tiền xử lý"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "chưa định nghĩa “%s”, định giá thành 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "khẳng định là một phần mở rộng GCC"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "khẳng định là một phần mở rộng GCC bị phản đối"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "có ngăn xếp không cân bằng trong %s"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "toán tử không thể “%u”"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "thiếu “)” trong biểu thức"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "dấu hỏi “?” mà không có dấu hai chấm “:” đi sau"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "tràn số nguyên trong biểu thức tiền xử lý"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "thiếu “(” trong biểu thức"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "toán hạng bên trái của “%s” thay đổi dấu (dương/âm) khi được tăng cấp"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "toán hạng bên phải của “%s” thay đổi dấu (dương/âm) khi đươc tăng cấp"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "ngôn ngữ C truyền thống từ chối toán tử cộng chỉ có một toán hạng"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "toán tử dấu phẩy nằm trong toán hạng của #if (nếu)"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "chia cho số không trong #if (nếu)"
@@ -668,212 +757,238 @@ msgstr "không có đường dẫn bao gồm trong đó có thể tìm kiếm %s
msgid "Multiple include guards may be useful for:\n"
msgstr "Nhiều bộ bảo vệ bao gồm có lẽ hữu ích cho :\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "“cppchar_t” phải là kiểu không dấu"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "thuật toán của trình tiền xử lý có độ chính xác tối đa là %lu bit còn đích cần đến %lu bit"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "Số học CPP phải là ít nhất cùng độ chính xác với “int” đích"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "“char” đích có độ rộng ít hơn 8 bit"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "“wchar_t” đích có độ rộng ít hơn “char” đích"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "“int” đích có độ rộng ít hơn “char” đích"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "Nửa-số-nguyên CPP có độ rộng hẹp hơn ký tự CPP"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "Trên máy này, CPP không thể xử lý hằng ký tự rộng hơn %lu bit, còn đích lại yêu cầu %lu bit"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "dấu gạch ngược và ký tự dòng mới phân cách nhau bởi dấu cách"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "gặp dấu gạch ngược tại kết thúc của tập tin"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "bộ ba “??%c” đã được chuyển đổi thành “%c”"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "bộ ba “??%c” bị bỏ qua nên hãy sử dụng tùy chọn “-trigraphs” (bộ ba) để hiệu lực nó"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "kết thúc của ngữ cảnh hai hướng"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "dò tìm thấy các ký tự điều khiển hai hướng UTF-8 không khớp cặp"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "dò tìm thấy ký tự điều khiển hai hướng UTF-8 không khớp cặp"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "UTF-8 vs UCN không khớp khi đóng một ngữ cảnh bằng \"%s\""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "\"%s\" là đóng một ngữ cảnh đã được mở"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "tìm thấy ký tự Unicode mơ hồ \"%s\""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "gặp “/*” nằm trong chú thích"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "gặp %s nằm trong chỉ thị tiền xử lý"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "(mọi) ký tự null bị bỏ qua"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "“%.*s” không phải nằm trong NFKC"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "“%.*s” không nằm trong NFC"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ không sẵn có cho đến tận C++20"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr "__VA_OPT__ không sẵn có cho đến tận C++20"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ chỉ có thể xuất hiện trong phần mở rộng của vĩ lệnh biến thiên C++20"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "đã cố gắng dùng “%s” bị vô hiệu hóa"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "“__VA_ARGS__” chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C++11"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "“__VA_ARGS__” chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C99"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "định danh “%s” là một tên toán tử đặc biệt trong C++"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "các ký tự ngăn cách số sát ngay"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "gặp dấu giới hạn chuỗi thô dài hơn 16 ký tự"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "ký tự dòng-mới không hợp lệ trong dấu giới hạn chuỗi thô"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "gặp ký tự sai “%c” trong dấu giới hạn chuỗi thô"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "chuỗi thô chưa được chấm dứt"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "hậu tố ở chuỗi văn bản không hợp lệ; C++11 yêu cầu cần có khoảng trắng giữ chuỗi văn bản và chuỗi vĩ lệnh"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "(các) ký tự rỗng được giữ lại trong chuỗi văn học"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "thiếu ký tự “%c” chấm dứt"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 yêu cầu cần có khoảng trắng giữ chuỗi văn bản và vĩ lệnh"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "mô-đun control-line không thể có trong tập tin bao gồm"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "mô-đun control-line \"%s\" không thể là một macro giống như đối tượng"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "gặp chú thích chưa được chấm dứt"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Chú thích kiểu C++ là không được phép trong ISO C90"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(điều này sẽ được thông báo chỉ một lần cho mỗi tập tin đầu vào)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "Chú thích kiểu C++ là không tương thích với C90"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "gặp chú thích đa dòng"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "gặp thẻ bài không thể chính tả %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "gặp dấu giới hạn chuỗi thô dài hơn %d ký tự"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "chuỗi văn chưa chấm dứt"
diff --git a/libcpp/po/zh_CN.po b/libcpp/po/zh_CN.po
index 1d8b013..0a12078 100644
--- a/libcpp/po/zh_CN.po
+++ b/libcpp/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.6.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2011-05-12 17:23+0800\n"
"Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -38,7 +38,7 @@ msgstr "没有 iconv 的实现,无法从 %s 转换到 %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "字符 0x%lx 不在基本源字符集中\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "转换到可执行文件的字符集"
@@ -47,130 +47,219 @@ msgstr "转换到可执行文件的字符集"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "字符 0x%lx 在执行字符集中不是单字节的"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
-#: charset.cc:1091
+#: charset.cc:1441
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "‘\\%c’的意义与在传统 C 中不同"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "‘?’后没有‘:’"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "不完全的 Unicode 字符名 %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s 不是一个有效的 Unicode 字符"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s 不是一个有效的 Unicode 字符"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "在 _cpp_valid_ucn 中但不是一个 UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "不完全的 Unicode 字符名 %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s 不是一个有效的 Unicode 字符"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "‘$’出现在标识符或数字中"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "Unicode 字符 %.*s 在标识符中无效"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "Unicode 字符 %.*s 在标识符开头无效"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "将 UCN 转换到源字符集"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "将 UCN 转换到执行字符集"
-#: charset.cc:1298
+#: charset.cc:1840
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "Unicode 字符 %.*s 在标识符中无效"
-#: charset.cc:1315
+#: charset.cc:1857
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "Unicode 字符 %.*s 在标识符开头无效"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "‘\\x’的意义与在传统 C 中不同"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x 后没有 16 进制数字"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "16 进制转义序列越界"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "‘?’后没有‘:’"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "8 进制转义序列越界"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "‘\\a’的意义与在传统 C 中不同"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 标准的转义序列,‘\\%c’"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "未知的转义序列:‘\\%c’"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "未知的转义序列:‘\\%s’"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "将转义序列转换到执行字符集"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr ""
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "字符常量大小超出其类型"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "多字节字符常量"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "空的字符常量"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "无法从 %s 转换到 %s"
@@ -185,275 +274,275 @@ msgstr "#%s 指示的末尾有多余的标识符"
msgid "#%s is a GCC extension"
msgstr "#%s 是一个 GCC 扩展"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C++23 is a GCC extension"
+msgstr "#%s 是一个 GCC 扩展"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, fuzzy, c-format
+#| msgid "#%s is a GCC extension"
+msgid "#%s before C2X is a GCC extension"
+msgstr "#%s 是一个 GCC 扩展"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是一个已过时的 GCC 扩展"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "建议在传统 C 中不使用 #elif"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "当 # 有缩进时传统 C 忽略 #%s"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建议使用缩进的 # 以让 #%s 对传统 C 不可见"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "将一个指示嵌入宏参数中是不可移植的"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "line 指示的风格是一个 GCC 扩展"
-#: directives.cc:541
+#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "无效的预处理指示 #%s"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "无效的预处理指示 #%s"
-#: directives.cc:617
+#: directives.cc:632
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "“defined”不能被用作宏名"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "“%s”不能被用作宏名,因为它是 C++ 中的一个操作符"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示中未给出宏名"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "宏名必须是标识符"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "取消对“%s”的定义"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "缺少结尾的 > 字符"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中文件名为空"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next 出现在主源文件中"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指示中有无效的标记“%s”"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "#line 后未预期的文件结束"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 后的“%s”不是一个正整数"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "行号超出范围"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "“%s”不是一个有效的文件名"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 后的“%s”不是一个正整数"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "无效的 #%s 指示"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "在命名空间“%s”中注册 pragma 时名称扩展不匹配"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma “%s”被注册为一个命名扩展,而没有命名空间"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "“%s”既被注册为一个pragma 又被注册为一个 pragma 命名空间"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已经被注册"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已经被注册"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "pragma 注册为被 NULL 处理"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once 出现在主文件中"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "无效的 #pragma push_macro 指示"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "无效的 #pragma pop_macro 指示"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "对已存在的宏“%s”投毒"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_heade 在包含文件外被忽略"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "找不到源文件 %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "当前文件早于 %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一个括起的字符串字面常量"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else 没有匹配的 #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else 出现在 #else 后"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "条件自此开始"
-#: directives.cc:2108
+#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else 没有匹配的 #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else 出现在 #else 后"
-#: directives.cc:2136 directives.cc:2175
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C++23 is a GCC extension"
-msgstr "#%s 是一个 GCC 扩展"
-
-#: directives.cc:2140 directives.cc:2179
-#, fuzzy, c-format
-#| msgid "#%s is a GCC extension"
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s 是一个 GCC 扩展"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif 没有匹配的 #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "谓词后缺少‘(’"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少‘)’"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "谓词的答案为空"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "断言后没有谓词"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "谓词必须是一个标识符"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "重断言“%s”"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "未终止的 #%s"
@@ -467,196 +556,196 @@ msgstr "%s:%s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "定点常量是一个 GCC 扩展"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "浮点常量的“0b”前缀无效"
-#: expr.cc:670
+#: expr.cc:684
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "使用 C99 式的 16 进制浮点常量"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "使用 C99 式的 16 进制浮点常量"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮点常量的“%.*s”后缀无效"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "传统 C 不接受“%.*s”后缀"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "双精度常量后缀是一个 GCC 扩展"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "十六进制浮点常量的“%.*s”后缀无效"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "十进制浮点常量是一个 GCC 扩展"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整数常量的“%.*s”后缀无效"
-#: expr.cc:803
+#: expr.cc:817
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "使用 C++0x long long 整数常量"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "使用 C99 long long 整数常量"
-#: expr.cc:818
+#: expr.cc:832
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "使用 C++0x long long 整数常量"
-#: expr.cc:819
+#: expr.cc:833
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "使用 C++0x long long 整数常量"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "虚数常量是一个 GCC 扩展"
-#: expr.cc:837
+#: expr.cc:851
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二进制常量是一个 GCC 扩展"
-#: expr.cc:839
+#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "二进制常量是一个 GCC 扩展"
-#: expr.cc:844
+#: expr.cc:858
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C2X feature"
msgstr "二进制常量是一个 GCC 扩展"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "整数常量值超出其类型"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "整数常量太大,认定为 unsigned"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "“defined” 后出现‘)’"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "操作符“defined”需要一个标识符"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(在 C++ 中“%s”会是“%s”的替代标识符)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "使用“defined”可能不利于移植"
-#: expr.cc:1139
+#: expr.cc:1153
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "浮点常量出现在预处理表达式中"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "预处理表达式中出现虚数"
-#: expr.cc:1199
+#: expr.cc:1213
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "“%s”未定义"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "断言是一个 GCC 扩展"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "断言是一个已过时的 GCC 扩展"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中堆栈不平衡"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的操作‘%u’"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "表达式中缺少‘)’"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "‘?’后没有‘:’"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "表达式中缺少‘(’"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "“%s”的左操作数在提升时变换了符号"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "“%s”的右操作数在提升时变换了符号"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "传统 C 不接受单目 + 运算符"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "#if 操作数中出现逗号"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "#if 中用零做除数"
@@ -696,221 +785,245 @@ msgstr "没有包含路径可供搜索 %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "多个防止重包含可能对其有用:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必须是无符号型"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "预处理算术的最高精度为 %lu 位;目标需要 %lu 位"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算术必须至少具有目标 int 的精度"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "目标 char 短于 8 位"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "目录 wchar_t 短于目标 char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "目标 int 短于目标 char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整数短于 CPP 字符"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "在此宿主机上,CPP 不能处理长于 %lu 位的宽字符常量,但目标需要 %lu 位"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "反斜杠和换行为空格所分隔"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "反斜杠续行出现在文件末尾"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "三元符 ??%c 转换为 %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "三元符 ??%c 被忽略,请使用 -trigraphs 来启用"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "“/*”出现在注释中"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "预处理指示中出现 %s"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "忽略空字符"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "‘%.*s’不在 NFKC 中"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "‘%.*s’不在 NFC 中"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr ""
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "试图使用有毒的“%s”"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "标识符“%s”是 C++ 中的一个特殊操作符"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字符串分隔符长过 16 个字符"
-#: lex.cc:2454
+#: lex.cc:2669
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "未终止的原始字符串"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "空字符将保留在字面字符串中"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "缺少结尾的 %c 字符"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "未结束的注释"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 风格的注释在 ISO C90 中不被允许"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(此警告为每个输入文件只报告一次)"
-#: lex.cc:3739
+#: lex.cc:3974
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ 风格的注释在 ISO C90 中不被允许"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "多行注释"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "无法拼出的标识符 %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "原始字符串分隔符长过 16 个字符"
-#: lex.cc:5315
+#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
diff --git a/libcpp/po/zh_TW.po b/libcpp/po/zh_TW.po
index d0d6228..bcba9f2 100644
--- a/libcpp/po/zh_TW.po
+++ b/libcpp/po/zh_TW.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 12.1-b20220213\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2022-02-16 00:36+0800\n"
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
@@ -40,7 +40,7 @@ msgstr "沒有實作 iconv,無法從 %s 轉換到 %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "字元 0x%lx 不在基本來源字元集中\n"
-#: charset.cc:811 charset.cc:1800
+#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "轉換到可執行檔案的字元集"
@@ -49,126 +49,215 @@ msgstr "轉換到可執行檔案的字元集"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "字元 0x%lx 在執行字元集中不是單位元組的"
-#: charset.cc:1087
+#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "萬國碼字元名稱只在 C++ 和 C99 中有效"
-#: charset.cc:1091
+#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "C99 的萬國碼字元名稱與 C90 不相容"
-#: charset.cc:1094
+#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "「\\%c」的意義與在傳統 C 中不同"
-#: charset.cc:1103
+#: charset.cc:1483
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\N' not followed by '{'"
+msgstr "「?」後沒有「:」"
+
+#: charset.cc:1513
+msgid "empty named universal character escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1520
+#, fuzzy
+#| msgid "incomplete universal character name %.*s"
+msgid "empty named universal character escape sequence"
+msgstr "不完整的萬國碼字元名稱 %.*s"
+
+#: charset.cc:1525
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "named universal character escapes are only valid in C++23"
+msgstr "萬國碼字元名稱只在 C++ 和 C99 中有效"
+
+#: charset.cc:1545
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr "%.*s 不是一個有效的萬國碼字元"
+
+#: charset.cc:1551
+#, fuzzy, c-format
+#| msgid "%.*s is not a valid universal character"
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr "%.*s 不是一個有效的萬國碼字元"
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "在 _cpp_valid_ucn 中並不是一個 UCN"
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#, fuzzy
+#| msgid "universal character names are only valid in C++ and C99"
+msgid "delimited escape sequences are only valid in C++23"
+msgstr "萬國碼字元名稱只在 C++ 和 C99 中有效"
+
+#: charset.cc:1663
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "不完整的萬國碼字元名稱 %.*s"
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s 不是一個有效的萬國碼字元"
-#: charset.cc:1161 lex.cc:1876
+#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "「$」出現在識別字或數字中"
-#: charset.cc:1171
+#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "萬國碼字元 %.*s 在識別字中無效"
-#: charset.cc:1175
+#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "萬國碼字元 %.*s 在識別字開頭無效"
-#: charset.cc:1182
+#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s 在 UCS 代碼空間外"
-#: charset.cc:1227 charset.cc:2145
+#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "將 UCN 轉換到來源字元集"
-#: charset.cc:1234
+#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "將 UCN 轉換到執行字元集"
-#: charset.cc:1298
+#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "延伸字元 %.*s 在識別字中無效"
-#: charset.cc:1315
+#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "延伸字元 %.*s 在識別字開頭無效"
-#: charset.cc:1401
+#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "「\\x」的意義與在傳統 C 中不同"
-#: charset.cc:1426
+#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x 後沒有十六進位數字"
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "十六進位逸出序列越界"
-#: charset.cc:1483
+#: charset.cc:2049
+#, fuzzy
+#| msgid "'?' without following ':'"
+msgid "'\\o' not followed by '{'"
+msgstr "「?」後沒有「:」"
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "八進位逸出序列越界"
-#: charset.cc:1564
+#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "「\\a」的意義與在傳統 C 中不同"
-#: charset.cc:1571
+#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 標準的逸出序列,「\\%c」"
-#: charset.cc:1579
+#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "不明的逸出序列:『\\%c』"
-#: charset.cc:1589
+#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "不明的逸出序列:「\\%s」"
-#: charset.cc:1597
+#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "將逸出序列轉換到執行字元集"
-#: charset.cc:1737
+#: charset.cc:2357
msgid "missing open quote"
msgstr "遺失左引號"
-#: charset.cc:1955 charset.cc:2034
+#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "字元常數大小超出其類型"
-#: charset.cc:1958
+#: charset.cc:2578
msgid "multi-character character constant"
msgstr "多位元組字元常數"
-#: charset.cc:2074
+#: charset.cc:2698
msgid "empty character constant"
msgstr "空的字元常數"
-#: charset.cc:2230
+#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "無法從 %s 轉換到 %s"
@@ -183,268 +272,268 @@ msgstr "#%s 指令的末尾有多餘的符記"
msgid "#%s is a GCC extension"
msgstr "#%s 是 GCC 擴充功能"
-#: directives.cc:392
+#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr "C++23 之前的 #%s 是 GCC 擴充功能"
+
+#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr "C2X 之前的 #%s 是 GCC 擴充功能"
+
+#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是不宜再用的 GCC 擴充功能"
-#: directives.cc:405
+#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "建議在傳統 C 中不要使用 #elif"
-#: directives.cc:408
+#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "當 # 有縮排時傳統 C 忽略 #%s"
-#: directives.cc:412
+#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建議使用縮排的 # 以讓 #%s 對傳統 C 不可見"
-#: directives.cc:438
+#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "將一個指令內嵌於巨集參數中是不可移植的"
-#: directives.cc:466
+#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "line 指令的風格是 GCC 擴充功能"
-#: directives.cc:541
+#: directives.cc:556
#, c-format
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "無效的預處理指令 #%s;您是指 #%s 嗎?"
-#: directives.cc:547
+#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無效的預先處理指令 #%s"
-#: directives.cc:617
+#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "「%s」不能用作巨集名稱"
-#: directives.cc:624
+#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "「%s」不能做為巨集名,因為它是 C++ 中的一個運算子"
-#: directives.cc:627
+#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指令中未給出巨集名"
-#: directives.cc:630
+#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "巨集名必須是識別字"
-#: directives.cc:679 directives.cc:684
+#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "取消對「%s」的定義"
-#: directives.cc:741
+#: directives.cc:756
msgid "missing terminating > character"
msgstr "缺少結尾的 > 字元"
-#: directives.cc:800
+#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.cc:846
+#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中檔案名稱為空"
-#: directives.cc:855
+#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include 巢狀深度 %u 超過最大值 %u (使用 -fmax-include-depth=深度 增加最大值)"
-#: directives.cc:900
+#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next 出現在主來源檔案中"
-#: directives.cc:926
+#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指令中有無效的標記「%s」"
-#: directives.cc:993
+#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "#line 之後未預期的檔案結束"
-#: directives.cc:996
+#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 後的「%s」不是一個正整數"
-#: directives.cc:1002 directives.cc:1004
+#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "列號超出範圍"
-#: directives.cc:1017 directives.cc:1098
+#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "「%s」不是一個有效的檔案名稱"
-#: directives.cc:1058
+#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 後的「%s」不是一個正整數"
-#: directives.cc:1125
+#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "因為巢狀項目不正確,因此忽略了「%s」檔案的行標記 (linemarker)"
-#: directives.cc:1203 directives.cc:1205 directives.cc:1207 directives.cc:1795
+#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.cc:1231
+#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "無效的 #%s 指令"
-#: directives.cc:1294
+#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "以不匹配的名稱擴展去註冊命名空間「%s」中的編譯指示"
-#: directives.cc:1303
+#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "以名稱擴展以及無命名空間去註冊編譯指示「%s」"
-#: directives.cc:1321
+#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "「%s」既被註冊為一個編譯指示又被註冊為一個編譯指示命名空間"
-#: directives.cc:1324
+#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已經被註冊"
-#: directives.cc:1327
+#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已經被註冊"
-#: directives.cc:1357
+#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "以空值處理常式去註冊編譯指示"
-#: directives.cc:1574
+#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma 出現在主檔案中一次"
-#: directives.cc:1597
+#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "無效的 #pragma push_macro 指令"
-#: directives.cc:1654
+#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "無效的 #pragma pop_macro 指令"
-#: directives.cc:1709
+#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "無效的 #pragma GCC poison 指令"
-#: directives.cc:1718
+#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "對已存在的巨集「%s」加料"
-#: directives.cc:1737
+#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header 在包含檔案外被忽略"
-#: directives.cc:1762
+#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "找不到來源檔案 %s"
-#: directives.cc:1766
+#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "目前檔案早於 %s"
-#: directives.cc:1790
+#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "無效的 #pragma GCC %s 指令"
-#: directives.cc:1992
+#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一個括起的字串原文"
-#: directives.cc:2075
+#: directives.cc:2091
msgid "#else without #if"
msgstr "#else 沒有匹配的 #if"
-#: directives.cc:2080
+#: directives.cc:2096
msgid "#else after #else"
msgstr "#else 出現在 #else 後"
-#: directives.cc:2082 directives.cc:2116
+#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "條件自此開始"
-#: directives.cc:2108
+#: directives.cc:2124
#, c-format
msgid "#%s without #if"
msgstr "#%s 缺少 #if"
-#: directives.cc:2113
+#: directives.cc:2129
#, c-format
msgid "#%s after #else"
msgstr "#%s 在 #else 後"
-#: directives.cc:2136 directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr "C++23 之前的 #%s 是 GCC 擴充功能"
-
-#: directives.cc:2140 directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "C2X 之前的 #%s 是 GCC 擴充功能"
-
-#: directives.cc:2215
+#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif 沒有匹配的 #if"
-#: directives.cc:2291
+#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "述語後缺少「(」"
-#: directives.cc:2309
+#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少「)」"
-#: directives.cc:2321
+#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "述語的答案為空"
-#: directives.cc:2351
+#: directives.cc:2367
msgid "assertion without predicate"
msgstr "判定語後沒有述語"
-#: directives.cc:2354
+#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "述語必須是一個識別字"
-#: directives.cc:2436
+#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "已再判定「%s」"
-#: directives.cc:2754
+#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "未終止的 #%s"
@@ -458,177 +547,177 @@ msgstr "%s:%s"
msgid "stdout"
msgstr "stdout"
-#: expr.cc:632 expr.cc:749
+#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "定點常數是一個 GCC 擴充功能"
-#: expr.cc:657
+#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "無效的浮點常數前綴「0b」"
-#: expr.cc:670
+#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "使用 C++17 式的十六進位浮點常數"
-#: expr.cc:673
+#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "使用 C99 式的十六進位浮點常數"
-#: expr.cc:717
+#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮點常數的「%.*s」字尾無效"
-#: expr.cc:728 expr.cc:795
+#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "傳統 C 不接受「%.*s」字尾"
-#: expr.cc:736
+#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "雙倍精度常數字尾是 GCC 的擴充功能"
-#: expr.cc:742
+#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "無效的十六進位浮點常數字尾「%.*s」"
-#: expr.cc:755 expr.cc:759
+#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "十進位浮點數常數是 C2X 的擴充功能"
-#: expr.cc:778
+#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整數常數的「%.*s」字尾無效"
-#: expr.cc:803
+#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "使用 C++11 long long 整數常數"
-#: expr.cc:804
+#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "使用 C99 long long 整數常數"
-#: expr.cc:818
+#: expr.cc:832
msgid "use of C++23 %<size_t%> integer constant"
msgstr "使用 C++23 %<size_t%> 整數常數"
-#: expr.cc:819
+#: expr.cc:833
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "使用 C++23 %<make_signed_t<size_t>%> 整數常數"
-#: expr.cc:830
+#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "虛數常數是 GCC 的擴充功能"
-#: expr.cc:837
+#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二進位常數是 C++14 特色或 GCC 的擴充功能"
-#: expr.cc:839
+#: expr.cc:853
msgid "binary constants are a C2X feature or GCC extension"
msgstr "二進位常數是 C2X 提供的或 GCC 擴充的功能"
-#: expr.cc:844
+#: expr.cc:858
msgid "binary constants are a C2X feature"
msgstr "二進位常數是 C2X 功能"
-#: expr.cc:940
+#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "整數常數值超出其類型"
-#: expr.cc:971
+#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "整數常數太大,認定為 unsigned"
-#: expr.cc:1066
+#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "「defined」 後缺少「)」"
-#: expr.cc:1073
+#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "運算子「defined」需要一個識別字"
-#: expr.cc:1081
+#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(在 C++ 中「%s」會是「%s」的替代識別字)"
-#: expr.cc:1094
+#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "使用「defined」可能不利於移植"
-#: expr.cc:1139
+#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "在前置處理器運算式中有使用者定義的實字"
-#: expr.cc:1144
+#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "浮點常數出現在預先處理運算式中"
-#: expr.cc:1150
+#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "預先處理運算式中出現虛數"
-#: expr.cc:1199
+#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "「%s」未定義,判斷值為 0"
-#: expr.cc:1212
+#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "assertions 是 GCC 的擴充功能"
-#: expr.cc:1215
+#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "assertions 是不宜再用的擴充功能"
-#: expr.cc:1461
+#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中的堆疊不平衡"
-#: expr.cc:1481
+#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的運算子「%u」"
-#: expr.cc:1582
+#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "運算式中缺少「)」"
-#: expr.cc:1611
+#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "「?」後沒有「:」"
-#: expr.cc:1621
+#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "預先處理運算式中整數溢出"
-#: expr.cc:1626
+#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "運算式中缺少「(」"
-#: expr.cc:1658
+#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "「%s」的左運算元在提升時變換了符號"
-#: expr.cc:1663
+#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "「%s」的右運算元在提升時變換了符號"
-#: expr.cc:1922
+#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "傳統 C 不接受單元 + 運算子"
-#: expr.cc:2020
+#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "#if 運算元中出現逗號"
-#: expr.cc:2156
+#: expr.cc:2174
msgid "division by zero in #if"
msgstr "#if 中用零做除數"
@@ -668,212 +757,238 @@ msgstr "沒有包含路徑可供搜尋 %s"
msgid "Multiple include guards may be useful for:\n"
msgstr "多個防止重包含可能對其有用:\n"
-#: init.cc:618
+#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必須是無號類型"
-#: init.cc:622
+#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "預先處理算術的最高精度為 %lu 位;目標需要 %lu 位"
-#: init.cc:629
+#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算術必須至少具有目標 int 的精度"
-#: init.cc:632
+#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "目標 char 短於 8 位"
-#: init.cc:636
+#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "目標 wchar_t 短於目標 char"
-#: init.cc:640
+#: init.cc:653
msgid "target int is narrower than target char"
msgstr "目標 int 短於目標 char"
-#: init.cc:645
+#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整數短於 CPP 字元"
-#: init.cc:649
+#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "在此宿主機上,CPP 不能處理長於 %lu 位的寬字元常數,但目標需要 %lu 位"
-#: lex.cc:1126
+#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "反斜線和換列為空格所分隔"
-#: lex.cc:1131
+#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "反斜線-換列出現在檔案末尾"
-#: lex.cc:1147
+#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "三元符 ??%c 轉換為 %c"
-#: lex.cc:1155
+#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "三元符 ??%c 被忽略,請使用 -trigraphs 來啟用"
-#: lex.cc:1536
+#: lex.cc:1610
msgid "end of bidirectional context"
msgstr "雙向上下文 (bidirectional context) 的結尾"
-#: lex.cc:1577
+#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr "偵測到不對稱的 UTF-8 雙向控制字元"
-#: lex.cc:1581
+#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr "偵測到不對稱的 UTF-8 雙向控制字元"
-#: lex.cc:1619
+#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr "由「%s」閉合上下文時發現 UTF-8 vs UCN 不符"
-#: lex.cc:1628
+#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr "「%s」閉合沒有開頭的上下文"
-#: lex.cc:1632
+#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr "找到有問題的 Unicode 字元「%s」"
-#: lex.cc:1682
+#: lex.cc:1736 lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752 lex.cc:1758
+#, c-format
+msgid "invalid UTF-8 character <%x><%x>"
+msgstr ""
+
+#: lex.cc:1768 lex.cc:1774
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1784 lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "「/*」出現在註釋中"
-#: lex.cc:1772
+#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "預先處理指令中出現 %s"
-#: lex.cc:1784
+#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "忽略空字元"
-#: lex.cc:1844
+#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "「%.*s」不在 NFKC 中"
-#: lex.cc:1847 lex.cc:1850
+#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "「%.*s」不在 NFC 中"
-#: lex.cc:1932
+#: lex.cc:2141
msgid "__VA_OPT__ is not available until C++20"
msgstr " C++20 前不支援 __VA_OPT__"
-#: lex.cc:1939
+#: lex.cc:2144
+#, fuzzy
+#| msgid "__VA_OPT__ is not available until C++20"
+msgid "__VA_OPT__ is not available until C2X"
+msgstr " C++20 前不支援 __VA_OPT__"
+
+#: lex.cc:2152
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ 只能出現在 C++20 可變參數巨集的展開中"
-#: lex.cc:1970 lex.cc:2066
+#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "試圖使用已加料的「%s」"
-#: lex.cc:1980 lex.cc:2076
+#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ 只能出現在 C++11 可變參數巨集的展開中"
-#: lex.cc:1984 lex.cc:2080
+#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ 只能出現在 C99 可變參數巨集的展開中"
-#: lex.cc:1994 lex.cc:2092
+#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別碼「%s」在 C++ 中是特殊運算子名稱"
-#: lex.cc:2132
+#: lex.cc:2345
msgid "adjacent digit separators"
msgstr "相鄰數字分隔符"
-#: lex.cc:2450
+#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字串分隔符號長度超過 16 字元"
-#: lex.cc:2454
+#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "無效的新列字元出現於原始字串分隔符號"
-#: lex.cc:2458 lex.cc:5257
+#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "無效字元「%c」出現於原始字串分隔符號"
-#: lex.cc:2497 lex.cc:2520
+#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "未終結的原始字串"
-#: lex.cc:2552 lex.cc:2701
+#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "無效的實字後綴;C++11 要求一個空白位於實字和字串巨集之間"
-#: lex.cc:2684
+#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "空字元將保留在原文中"
-#: lex.cc:2687
+#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "缺少終止 %c 字元"
-#: lex.cc:2719
+#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 在字串常數和巨集中間需要一個空白"
-#: lex.cc:3312
+#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr "模組控制列不應出現在包含檔案中"
-#: lex.cc:3326
+#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr "模組控制列「%s」不應是類物件巨集"
-#: lex.cc:3714 lex.cc:5090 traditional.cc:174
+#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "未終結的註釋"
-#: lex.cc:3728 lex.cc:3762
+#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 風格的註釋在 ISO C90 中不被允許"
-#: lex.cc:3730 lex.cc:3741 lex.cc:3765
+#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(此警告為每個輸入檔案只報告一次)"
-#: lex.cc:3739
+#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "C++ 風格的註釋與 C90 不相容"
-#: lex.cc:3771
+#: lex.cc:4006
msgid "multi-line comment"
msgstr "多列註釋"
-#: lex.cc:4165
+#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "無法拼出的識別字 %s"
-#: lex.cc:5245
+#: lex.cc:5507
#, c-format
msgid "raw string delimiter longer than %d characters"
msgstr "原始字串分隔符長度超過 %d 個字元"
-#: lex.cc:5315
+#: lex.cc:5577
msgid "unterminated literal"
msgstr "未終止的常值"
diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h
index 0cf520f..dcf6c76 100644
--- a/libcpp/ucnid.h
+++ b/libcpp/ucnid.h
@@ -16,7 +16,7 @@
<http://www.gnu.org/licenses/>.
- Copyright (C) 1991-2005 Unicode, Inc. All rights reserved.
+ Copyright (C) 1991-2022 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in
http://www.unicode.org/copyright.html.
diff --git a/libcpp/uname2c.h b/libcpp/uname2c.h
index 3d449ae7..6a1ed9b 100644
--- a/libcpp/uname2c.h
+++ b/libcpp/uname2c.h
@@ -16,7 +16,7 @@
<http://www.gnu.org/licenses/>.
- Copyright (C) 1991-2021 Unicode, Inc. All rights reserved.
+ Copyright (C) 1991-2022 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in
http://www.unicode.org/copyright.html.