* [PATCH 1/4] libkeymap: prevent NULL dereference in parser
@ 2026-02-14 17:27 Krdyan Areg
2026-02-14 17:27 ` [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname Krdyan Areg
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Krdyan Areg @ 2026-02-14 17:27 UTC (permalink / raw)
To: kbd; +Cc: gladkov.alexey, Krdyan Areg
The parser accesses ctx->key_line array elements without checking if
lk_array_get() returns NULL, which can lead to crashes.
Add NULL checks before dereferencing array values.
Signed-off-by: Krdyan Areg areg.krdian@gmail.com
---
src/libkeymap/parser.y | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/libkeymap/parser.y b/src/libkeymap/parser.y
index 2cd509f..a87fb54 100644
--- a/src/libkeymap/parser.y
+++ b/src/libkeymap/parser.y
@@ -320,6 +320,9 @@ singleline : KEYCODE NUMBER EQUALS rvalue0 EOL
if (i < ctx->key_line->count) {
val = lk_array_get(ctx->key_line, i);
+ if (!val)
+ YYERROR;
+
keycode = *val;
}
@@ -338,7 +341,7 @@ singleline : KEYCODE NUMBER EQUALS rvalue0 EOL
for (i = 0; i < ctx->key_line->count; i++) {
val = lk_array_get(ctx->key_line, i);
- if (lk_add_key(ctx, i, $2, *val) < 0)
+ if (!val || lk_add_key(ctx, i, $2, *val) < 0)
YYERROR;
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
@ 2026-02-14 17:27 ` Krdyan Areg
2026-02-14 17:27 ` [PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup Krdyan Areg
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Krdyan Areg @ 2026-02-14 17:27 UTC (permalink / raw)
To: kbd; +Cc: gladkov.alexey, Krdyan Areg
The loop condition suffixes[i] already ensures that suffixes[i] is non-NULL at each iteration.
The inner NULL check is dead code and can never be executed.
Signed-off-by: Krdyan Areg <areg.krdian@gmail.com>
---
src/libkbdfile/kbdfile.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/libkbdfile/kbdfile.c b/src/libkbdfile/kbdfile.c
index 5b1ee6d..2e6347f 100644
--- a/src/libkbdfile/kbdfile.c
+++ b/src/libkbdfile/kbdfile.c
@@ -280,9 +280,6 @@ findfile_by_fullname(const char *fnam, const char *const *suffixes, struct kbdfi
fp->flags &= ~KBDFILE_COMPRESSED;
for (i = 0; suffixes[i]; i++) {
- if (suffixes[i] == NULL)
- continue; /* we tried it already */
-
if (kbdfile_pathname_sprintf(fp, "%s%s", fnam, suffixes[i]) < 0)
continue;
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
2026-02-14 17:27 ` [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname Krdyan Areg
@ 2026-02-14 17:27 ` Krdyan Areg
2026-02-14 17:27 ` [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop Krdyan Areg
2026-02-15 17:34 ` [PATCH 1/4] libkeymap: prevent NULL dereference in parser Alexey Gladkov
3 siblings, 0 replies; 8+ messages in thread
From: Krdyan Areg @ 2026-02-14 17:27 UTC (permalink / raw)
To: kbd; +Cc: gladkov.alexey, Krdyan Areg
The get_sym() function can return NULL for invalid or unassigned
symbol indices. Passing NULL to strcmp() would cause a crash.
Add a NULL check before comparing symbol names.
Signed-off-by: Krdyan Areg <areg.krdian@gmail.com>
---
src/libkeymap/ksyms.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/libkeymap/ksyms.c b/src/libkeymap/ksyms.c
index 680653b..caf41e2 100644
--- a/src/libkeymap/ksyms.c
+++ b/src/libkeymap/ksyms.c
@@ -293,7 +293,8 @@ kt_latin(struct lk_ctx *ctx, const char *s, int direction)
: syms[KT_LATIN].size);
for (i = 0; i < max; i++) {
- if (!strcmp(s, get_sym(ctx, KT_LATIN, i)))
+ const char *ksym = get_sym(ctx, KT_LATIN, i);
+ if (ksym && !strcmp(s, ksym))
return K(KT_LATIN, i);
}
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
2026-02-14 17:27 ` [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname Krdyan Areg
2026-02-14 17:27 ` [PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup Krdyan Areg
@ 2026-02-14 17:27 ` Krdyan Areg
2026-02-14 23:08 ` Alexey Gladkov
2026-02-15 17:34 ` [PATCH 1/4] libkeymap: prevent NULL dereference in parser Alexey Gladkov
3 siblings, 1 reply; 8+ messages in thread
From: Krdyan Areg @ 2026-02-14 17:27 UTC (permalink / raw)
To: kbd; +Cc: gladkov.alexey, Krdyan Areg
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 112717 bytes --]
The lk_array_get_ptr() function may return NULL when accessing the
accent table. Dereferences kddiac without checking,
which can lead to a crash.
Add a NULL check and return an error if an invalid entry is found.
Signed-off-by: Krdyan Areg <areg.krdian@gmail.com>
---
po/cs.po | 39 ++++++++++++++++++++++-----------------
po/da.po | 38 +++++++++++++++++++++-----------------
po/de.po | 41 ++++++++++++++++++++++++-----------------
po/el.po | 39 ++++++++++++++++++++++-----------------
po/eo.po | 39 ++++++++++++++++++++++-----------------
po/es.po | 39 ++++++++++++++++++++++-----------------
po/hu.po | 38 +++++++++++++++++++++-----------------
po/id.po | 39 ++++++++++++++++++++++-----------------
po/it.po | 38 +++++++++++++++++++++-----------------
po/ka.po | 38 +++++++++++++++++++++-----------------
po/kbd.pot | 38 +++++++++++++++++++++-----------------
po/nl.po | 38 +++++++++++++++++++++-----------------
po/pl.po | 39 ++++++++++++++++++++++-----------------
po/pt.po | 39 ++++++++++++++++++++++-----------------
po/pt_BR.po | 39 ++++++++++++++++++++++-----------------
po/ro.po | 39 ++++++++++++++++++++++-----------------
po/ru.po | 42 +++++++++++++++++++++++++-----------------
po/sq.po | 39 ++++++++++++++++++++++-----------------
po/sr.po | 39 ++++++++++++++++++++++-----------------
po/sv.po | 39 ++++++++++++++++++++++-----------------
po/tr.po | 38 +++++++++++++++++++++-----------------
po/uk.po | 39 ++++++++++++++++++++++-----------------
po/vi.po | 38 +++++++++++++++++++++-----------------
po/zh_CN.po | 38 +++++++++++++++++++++-----------------
src/libkeymap/dump.c | 4 ++++
25 files changed, 528 insertions(+), 408 deletions(-)
diff --git a/po/cs.po b/po/cs.po
index cf38c98..e589761 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-12-03 21:09+01:00\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -63,7 +63,7 @@ msgstr "Málo argumentů."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -494,7 +494,12 @@ msgstr "navázat klávesu %d na hodnotu %d nelze, protože je pÅÃliÅ¡ velká"
msgid "Error writing map to file"
msgstr "Chyba pÅi zápisu mapy do souboru"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Z tabulky diakritiky nelze odstranit položku"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "nemožné: nenà meta?\n"
@@ -577,12 +582,12 @@ msgstr "symbol nelze zÃskat podle chybného typu: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "symbol typu %d nelze zÃskat podle chybného indexu: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "pÅedpokládá se %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "neznámý symbol klávesy â%sâ"
@@ -699,12 +704,12 @@ msgstr "loadkeys: nenà známo, jak skládat pro %s"
msgid "'%s' is not a function key symbol"
msgstr "â%sâ nenà symbol funkÄnà klávesy"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "pÅÃliÅ¡ mnoho (%ld) záznamů na jednom Åádku"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Zavádà se %s"
@@ -778,11 +783,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Konzola nenà v textovém režimu"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "vysoká font nenà podporován"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "S touto verzà jádra nelze takový font zavést"
@@ -850,7 +855,7 @@ msgstr[1] "# %d položky"
msgstr[2] "# %d položek"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1258,25 +1263,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "VT %d se použÃvá; pÅÃkaz pÅeruÅ¡en; použijte â%s -fâ pro vynucenÃ."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "PÅÃkaz nelze nalézt."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Nelze nastavit novou relaci"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Použije se VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "%s nelze otevÅÃt pro Ätenà i zápis"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Nebylo možné dealokovat konzolu %d"
@@ -1481,11 +1486,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
"Obnovà pÃsmo a velikost pÃsma a mapu Unicode na výchozà po startu systému."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "PÅÃliÅ¡ mnoho vstupnÃch souborů."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr "Nelze zároveÅ obnovovat z ROM znaků a ze souboru. PÃsmo nezmÄnÄno."
diff --git a/po/da.po b/po/da.po
index 47a1489..cc8a3ec 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-1.15.3-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2011-06-03 22:01+0200\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -61,7 +61,7 @@ msgstr "Fejl: Ikke nok argumenter.\n"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -497,7 +497,11 @@ msgstr "kunne ikke binde tast %d til v
msgid "Error writing map to file"
msgstr "Fejl ved skrivning af tabel til fil\n"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "umuligt: ikke meta?\n"
@@ -581,12 +585,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "antager iso-8859-1 %s\n"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "ukendt tegnsymbol \"%s\"\n"
@@ -698,12 +702,12 @@ msgstr "loadkeys: v
msgid "'%s' is not a function key symbol"
msgstr "'%s' er ikke et symbol for en funktionstast"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "For mange (%d) indgange på én linje"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "Indlæser %s\n"
@@ -777,11 +781,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -850,7 +854,7 @@ msgstr[0] "post"
msgstr[1] "post"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1285,25 +1289,25 @@ msgstr "Kan ikke unders
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "vt %d er i brug, kommandoen afbrudt, brug '%s -f' at gennemtvinge."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Kunne ikke finde kommando"
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Kan ikke sætte ny session"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Bruger VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Kan ikke åbne %s for læsning/skrivning"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Kunne ikke deallokere konsol %d"
@@ -1506,12 +1510,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: for mange inddatafiler\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/de.po b/po/de.po
index 9099d1b..5523880 100644
--- a/po/de.po
+++ b/po/de.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-2.6-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2023-05-08 18:33+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -70,7 +70,7 @@ msgstr "Nicht genügend Argumente."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -515,7 +515,14 @@ msgstr ""
msgid "Error writing map to file"
msgstr "Fehler beim Schreiben der Tabelle in die Datei."
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+"Eintrag konnte nicht aus der Tabelle der diakritischen Zeichen entfernt "
+"werden."
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "unmöglich: Keine Meta?\n"
@@ -599,12 +606,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
"Symbol des Typs %d konnte durch falschen Index nicht erhalten werden: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "%s %s wird angenommen"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "Unbekanntes Tastensymbol â%sâ"
@@ -719,12 +726,12 @@ msgstr "loadkeys: Weià nicht, wie Compose für %s funktionieren soll."
msgid "'%s' is not a function key symbol"
msgstr "'%s' ist kein Funktionstastensymbol."
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "Zu viele (%ld) Einträge in einer Zeile."
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "%s wird geladen"
@@ -798,12 +805,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Nicht unterstützt\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -870,7 +877,7 @@ msgstr[0] "# %d Eintrag"
msgstr[1] "# %d Einträge"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1289,25 +1296,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "VT %d wird bereits benutzt, Abbruch; â%s -fâ erzwingt dies."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Befehl konnte nicht gefunden werden."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Neue Sitzung kann nicht erzeugt werden."
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "VT %s wird benutzt"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "%s kann nicht zum Schreiben und Lesen geöffnet werden"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Konsole %d konnte nicht freigegeben werden"
@@ -1502,11 +1509,11 @@ msgstr "Unicode-Tabelle angehängt."
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Zu viele Eingabedateien."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Font kann nicht zugleich von ROM und Datei wiederhergestellt werden. Vorgang "
diff --git a/po/el.po b/po/el.po
index 0623bcf..47357f5 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-2.6-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2023-05-09 19:15+0300\n"
"Last-Translator: Lefteris Dimitroulakis <ledimitro@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -60,7 +60,7 @@ msgstr "ÎÏι αÏκεÏά οÏίÏμαÏα."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -499,7 +499,12 @@ msgstr "αÏοÏÏ
Ïία αÏÏδÏÏÎ·Ï ÏÏο ÏλήκÏÏο %d ÏÎ·Ï Ïιμ
msgid "Error writing map to file"
msgstr "ΣÏάλμα εγγÏαÏÎ®Ï ÏοÏ
Ïίνακα αÏεικÏνιÏÎ·Ï ÏÏο αÏÏείο"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "ÎδÏ
ναμία αÏαίÏεÏÎ·Ï ÏÏοιÏείοÏ
αÏÏ Ïίνακα διακÏιÏικÏν"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "αδÏναÏον: δεν είναι meta;\n"
@@ -582,12 +587,12 @@ msgstr "unable to get symbol by wrong type: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "unable to get symbol of %d type by wrong index: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "Ï
ÏοθÎÏονÏÎ±Ï %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "άγνÏÏÏο keysym «%s»"
@@ -698,12 +703,12 @@ msgstr "loadkeys: δεν ξÎÏÏ ÏÏÏ Î½Î± ÏÏ
νθÎÏÏ %s"
msgid "'%s' is not a function key symbol"
msgstr "«%s» δεν είναι ÏÏμβολο ÏλήκÏÏοÏ
λειÏοÏ
ÏγίαÏ"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "ÏάÏα ÏÎ¿Î»Î»ÎµÏ (%ld) Ïε μια γÏαμμή"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "ΦÏÏÏÏÏη %s"
@@ -778,12 +783,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Îεν Ï
ÏοÏÏηÏίζεÏαι\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -850,7 +855,7 @@ msgstr[0] "# %d είÏοδοÏ"
msgstr[1] "# %d είÏοδοι"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1267,25 +1272,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
"vt %d εν ÏÏήÏει, εκÏÎλεÏη ενÏÎ¿Î»Î®Ï Î¼Î±ÏαιÏθηκε, δÏÏε «%s -f» για εκÏÎλεÏη."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "ÎδÏ
ναμία εÏÏεÏÎ·Ï ÎµÎ½ÏολήÏ."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "ÎδÏναÏον Ïο άνοιγμα νÎÎ±Ï ÏÏ
νÏδοÏ
"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "ΧÏηÏιμοÏοίηÏη VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Îεν μÏοÏÏ Î½' Î±Î½Î¿Î¯Î¾Ï Ïο %s Ïε ανάγνÏÏη/εγγÏαÏή"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "ÎδÏ
ναμία αÏοδÎÏμεÏ
ÏÎ·Ï ÏÎ·Ï ÎºÎ¿Î½ÏÏÎ»Î±Ï %d"
@@ -1476,11 +1481,11 @@ msgstr "Î ÏοÏÏÎθηκε ÏÎ¯Î½Î±ÎºÎ±Ï Unicode"
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "ΠάÏα Ïολλά αÏÏεία ειÏÏδοÏ
."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"ÎδÏ
ναμία εÏιδιÏÏθÏÏÎ·Ï ÏÏν ÏαÏακÏήÏÏν αÏÏ Ïη ROM και αÏÏ Ïο "
diff --git a/po/eo.po b/po/eo.po
index 79f9de6..fb73990 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.5-rc2\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2023-01-08 15:14-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -61,7 +61,7 @@ msgstr "Ne sufiÄe da argumentoj."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -493,7 +493,12 @@ msgstr "ne eblas ligi klavon %d al valoro %d Äar Äi tro larÄas"
msgid "Error writing map to file"
msgstr "Eraro dum skribo de mapo al dosiero"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Ne eblas forigi eron el la diakrita tabelo"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "neeble: ne estas meta?\n"
@@ -576,12 +581,12 @@ msgstr "ne eblas preni simbolon per malkorekta tipo: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "ne eblas preni simbolon de tipo %d per malkorekta indico: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "ni konsideras %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "nekonata klavsimbolo '%s'"
@@ -691,12 +696,12 @@ msgstr "loadkeys: ne scias kiel komponi por %s"
msgid "'%s' is not a function key symbol"
msgstr "'%s' ne estas simbolo de funkcia klavo"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "tro da (%ld) enigoj en unu linio"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Åargado je %s"
@@ -770,12 +775,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Ne subtenata\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -841,7 +846,7 @@ msgstr[0] "# %d enigo"
msgstr[1] "# %d enigoj"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1248,25 +1253,25 @@ msgstr "Ne eblas kontroli Äu vt %d estas libera; uzu '%s - f' por perforti."
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "vt %d estas uzata; komando Äesigita; uzu '%s -f' por perforti."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Ne eblas trovi la komandon."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Ne eblas ekigi novan seancon"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Ni uzadas VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Ne eblas malfermi %s lege/skribe"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Ne eblis liberigi la konzolon %d"
@@ -1458,11 +1463,11 @@ msgstr "Postmetita Unikoda mapo"
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Tro da enig-dosieroj."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Ne eblas restarigi kaj el signeca ROM kaj el dosiero. Tiparo neÅanÄita."
diff --git a/po/es.po b/po/es.po
index 006262b..7b01e77 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2025-05-14 14:05-0600\n"
"Last-Translator: Cristian Othón MartÃnez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
@@ -60,7 +60,7 @@ msgstr "No hay argumentos suficientes."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -502,7 +502,12 @@ msgstr "no se pudo asignar la tecla %d al valor %d porque es demasiado grande"
msgid "Error writing map to file"
msgstr "Error al escribir el mapa al fichero"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "No se puede borrar el elemento de la tabla de diacrÃticos"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "imposible: ¿no será una tecla Meta?\n"
@@ -585,12 +590,12 @@ msgstr "no se pudo obtener el sÃmbolo por el tipo erróneo: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "no se pudo obtener el sÃmbolo de tipo %d por el Ãndice erróneo: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "conjeturando %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "keysym '%s' desconocida"
@@ -702,12 +707,12 @@ msgstr "loadkeys: no se cómo componer para %s"
msgid "'%s' is not a function key symbol"
msgstr "'%s' no es un sÃmbolo de tecla de función"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "demasiadas entradas (%ld) en una lÃnea"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Cargando %s"
@@ -781,11 +786,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "La consola no está en modo texto"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "no se admiten tipos de letra altos"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "No se puede cargar ese tipo de letra con esa versión de kernel"
@@ -853,7 +858,7 @@ msgstr[0] "# %d entrada"
msgstr[1] "# %d entradas"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1269,25 +1274,25 @@ msgstr ""
"La term. virt. %d está siendo utilizada; orden abortada; use `%s -f' para "
"forzar."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "No se pudo encontrar la orden."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "No se pudo establecer nueva sesión"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Usando la terminal virtual %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "No se puede abrir %s para lectura/escritura"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "No se pudo liberar la consola %d"
@@ -1505,11 +1510,11 @@ msgstr ""
"reinicia el tipo de letra de pantalla, tamaño y mapa unicode a los valores "
"por defecto al arranque."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Demasiados ficheros de entrada."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"No se puede recuperar a la vez de la ROM de caracteres y de archivo. No se "
diff --git a/po/hu.po b/po/hu.po
index 913ade0..c8e1366 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.0.4-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2017-05-05 20:38+0200\n"
"Last-Translator: Balázs Ãr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -61,7 +61,7 @@ msgstr "Hiba: nincs elég argumentum.\n"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -507,7 +507,11 @@ msgstr "nem sikerült a(z) %d billentyű kötése a(z) %d értékhez"
msgid "Error writing map to file"
msgstr "Hiba a térkép fájlba Ãrásakor"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "lehetetlen: nem meta?\n"
@@ -591,12 +595,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
"nem sikerült lekérni a(z) %d tÃpus szimbólumát a rossz index alapján: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "iso-8859-1 %s feltételezve"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "ismeretlen billentyűszimbólum: â%sâ\n"
@@ -707,12 +711,12 @@ msgstr ""
msgid "'%s' is not a function key symbol"
msgstr ""
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "Túl sok egyesÃtendÅ fájl\n"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "Hiba a(z) â%sâ olvasásakor"
@@ -786,11 +790,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -859,7 +863,7 @@ msgstr[0] "bejegyzés"
msgstr[1] "bejegyzés"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1302,25 +1306,25 @@ msgstr ""
"A %d. vt használatban van. A parancs megszakÃtva. Használja a â%s -fâ "
"parancsot a kényszerÃtéshez."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Nem található parancs."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Nem állÃtható be új munkamenet"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "%s VT használata"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Nem sikerült a(z) %s megnyitása olvasásra/Ãrásra"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Nem sikerült a(z) %d. konzol felszabadÃtása"
@@ -1522,12 +1526,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: túl sok bemeneti fájl\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/id.po b/po/id.po
index 6b8a101..a705a18 100644
--- a/po/id.po
+++ b/po/id.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-11-14 20:53+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -61,7 +61,7 @@ msgstr "Tidak cukup argumen."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -498,7 +498,12 @@ msgstr "gagal mengikat tombol %d ke nilai %d karena itu terlalu besar"
msgid "Error writing map to file"
msgstr "Galat saat menulis peta ke berkas"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Tidak bisa menghapus butir dari tabel diakritikal"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "tidak mungkin: bukan meta?\n"
@@ -582,12 +587,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
"tidak bisa mendapatkan simbol dari tipe %d berdasarkan indeks salah: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "mengasumsikan %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "keysym '%s' tidak dikenal"
@@ -693,12 +698,12 @@ msgstr "loadkeys: tak tahu bagaimana meng-compose untuk %s"
msgid "'%s' is not a function key symbol"
msgstr "'%s' bukan suatu simbol tombol fungsi"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "terlalu banyak (%ld) entri dalam satu baris"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Memuat %s"
@@ -772,11 +777,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Konsol dalam mode teks"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "fonta tinggi tidak didukung"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Tidak bisa memuat fonta seperti itu dengan versi kernel ini"
@@ -842,7 +847,7 @@ msgid_plural "# %d entries"
msgstr[0] "# %d entri"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1258,25 +1263,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
"vt %d sedang digunakan; perintah digugurkan; pakai '%s -f' untuk memaksa."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Tidak bisa menemukan perintah."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Tidak bisa menata sesi baru"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Menggunakan VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Tidak bisa membuka %s baca/tulis"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Tidak bisa mendealokasi konsol %d"
@@ -1483,11 +1488,11 @@ msgstr "paksakan muat peta unicode."
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr "reset fonta, ukuran, dan peta unicode layar ke baku boot."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Terlalu banyak berkas masukan."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Tidak bisa sekaligus memulihkan dari karakter ROM dan dari berkas. Fonta "
diff --git a/po/it.po b/po/it.po
index f99f68d..8d9e8c7 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-1.15.3-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2011-06-13 00:36+0200\n"
"Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -60,7 +60,7 @@ msgstr "Errore: argomenti non sufficienti.\n"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -501,7 +501,11 @@ msgstr "associazione del tasto %d al valore %d non riuscita\n"
msgid "Error writing map to file"
msgstr "Errore nella scrittura della mappa sul file\n"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "impossibile: forse non è meta\n"
@@ -585,12 +589,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "si assume iso-8859-1 %s\n"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "simbolo di tasto \"%s\" sconosciuto\n"
@@ -702,12 +706,12 @@ msgstr "loadkeys: non si sa come gestire la composizione per %s\n"
msgid "'%s' is not a function key symbol"
msgstr "\"%s\" non è un simbolo di tasto funzione"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "troppe (%d) voci su una riga"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "Caricamento di %s\n"
@@ -781,11 +785,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -855,7 +859,7 @@ msgstr[0] "voce"
msgstr[1] "voce"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1300,25 +1304,25 @@ msgstr ""
"Il terminale virtuale %d è in uso, comando interrotto; usare \"%s -f\" per "
"forzarlo."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Impossibile trovare il comando."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Impossibile impostare una nuova sessione"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Viene usato il terminale virtuale %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Impossibile aprire %s in lettura/scrittura"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Impossibile deallocare la console %d"
@@ -1521,12 +1525,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: troppi file di input\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/ka.po b/po/ka.po
index a3e2156..208d288 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2025-03-02 06:05+0100\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <(nothing)>\n"
@@ -60,7 +60,7 @@ msgstr "áá áá¡ááááá áá¡á áá áá£áááá¢ááá."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -478,7 +478,11 @@ msgstr ""
msgid "Error writing map to file"
msgstr "á á£ááá¡ á¤áááá¨á á©áá¬áá áá¡ á¨ááªáááá"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "á¨áá£á«ááááááá: ááá¢á áá áá?\n"
@@ -561,12 +565,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "áááá áá£áááá %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "á£áªáááá keysym '%s'"
@@ -676,12 +680,12 @@ msgstr ""
msgid "'%s' is not a function key symbol"
msgstr ""
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr ""
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "%s-áá¡ á©áá¢ááá ááá"
@@ -750,11 +754,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "áááá¡ááá á¢áá¥á¡á¢á£á á ááááá¨á áá áá"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "ááá¦ááá á¤ááá¢á áá®áá ááááá ááá áá áá"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -815,7 +819,7 @@ msgstr[0] "# %d á©áááá¬áá á"
msgstr[1] "# %d á©áááá¬áá á"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1214,25 +1218,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "áá á«ááááá ááá áááááá."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "áá®ááá á¡áá¡ááá¡ ááá§áááááá¡ á¨ááªáááá"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "áááááá§ááááá VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "%s-áá¡ á¬áá ááááá®ááá¡áááá¡ ááá®á¡ááá¡ á¨ááªáááá"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "áááá¡áááá¡ (%d) ááááá§áá¤áá¡ ááá£á¥ááááá¡ á¨ááªáááá)"
@@ -1416,11 +1420,11 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "ááá¢áá¡ááá¢áá áááá á á¨áá§ááááá¡ á¤áááá."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/kbd.pot b/po/kbd.pot
index 73d8d44..0eb0254 100644
--- a/po/kbd.pot
+++ b/po/kbd.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.9.0\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -59,7 +59,7 @@ msgstr ""
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -470,7 +470,11 @@ msgstr ""
msgid "Error writing map to file"
msgstr ""
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr ""
@@ -553,12 +557,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr ""
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr ""
@@ -664,12 +668,12 @@ msgstr ""
msgid "'%s' is not a function key symbol"
msgstr ""
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr ""
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr ""
@@ -738,11 +742,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -803,7 +807,7 @@ msgstr[0] ""
msgstr[1] ""
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1202,25 +1206,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr ""
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr ""
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr ""
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr ""
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr ""
@@ -1404,11 +1408,11 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr ""
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 1e88b6a..3728a57 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-2.0.4-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2017-01-07 15:02+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -64,7 +64,7 @@ msgstr "Fout: te weinig argumenten.\n"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -509,7 +509,11 @@ msgstr "verbinden van toets %d met waarde %d is mislukt"
msgid "Error writing map to file"
msgstr "Fout tijdens schrijven van toetsenkaart naar bestand"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "onmogelijk: niet meta?\n"
@@ -592,12 +596,12 @@ msgstr "kan symbool niet verkrijgen wegens onjuist type: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "kan symbool van type %d niet verkrijgen wegens onjuiste index: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "iso-8859-1 '%s' wordt aangenomen"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "onbekende toetsnaam '%s'\n"
@@ -708,12 +712,12 @@ msgstr "loadkeys: weet niet hoe %s samen te stellen\n"
msgid "'%s' is not a function key symbol"
msgstr "'%s' is geen functietoetssymbool"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "Te veel items (%d) op één regel"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "Laden van %s\n"
@@ -788,11 +792,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -861,7 +865,7 @@ msgstr[0] "item"
msgstr[1] "item"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1308,25 +1312,25 @@ msgstr ""
"VT-%d is in gebruik; opdracht is afgebroken; gebruik '%s -f' om gebruik af "
"te dwingen"
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Kan gegeven opdracht niet vinden."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Kan geen nieuwe sessie instellen"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "VT-%s wordt gebruikt"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Kan %s niet openen voor lezen-en-schrijven"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Kan console %d niet vrijgeven"
@@ -1523,12 +1527,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: te veel invoerbestanden\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index 0b8294c..6c83769 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-10-30 19:07+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -59,7 +59,7 @@ msgstr "Za maÅo argumentów."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -493,7 +493,12 @@ msgstr "nie można dowiÄ
zaÄ klawisza %d do wartoÅci %d, ponieważ jest zbyt d
msgid "Error writing map to file"
msgstr "BÅÄ
d podczas zapisu mapy do pliku"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Nie udaÅo siÄ usunÄ
Ä elementu z tablicy diakrytyków"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "niemożliwe: nie meta?\n"
@@ -576,12 +581,12 @@ msgstr "nie udaÅo siÄ pobraÄ symbolu poprzez niewÅaÅciwy typ: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "nie udaÅo siÄ pobraÄ symbolu typu %d poprzez niewÅaÅciwy indeks: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "przyjÄto %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "nieznany symbol '%s'"
@@ -698,12 +703,12 @@ msgstr "loadkeys: nie wiem, jak wykonaÄ compose dla %s"
msgid "'%s' is not a function key symbol"
msgstr "'%s' nie jest symbolem klawisza funkcyjnego"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "zbyt dużo (%ld) wpisów w jednym wierszu"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Åadowanie %s"
@@ -777,11 +782,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Konsola nie jest w trybie tekstowym"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "font wysoki nie jest obsÅugiwany"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Nie można zaÅadowaÄ takiego fontu pod tÄ
wersjÄ
jÄ
dra"
@@ -849,7 +854,7 @@ msgstr[1] "# %d wpisy"
msgstr[2] "# %d wpisów"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1261,25 +1266,25 @@ msgstr ""
"vt %d jest używany, polecenie przerwano; można użyÄ `%s -f' w celu "
"wymuszenia."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Nie udaÅo siÄ odnaleÅºÄ polecenia."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Nie można ustanowiÄ nowej sesji"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Użycie VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Nie można otworzyÄ %s do odczytu i zapisu"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Nie udaÅo siÄ zwolniÄ konsoli %d"
@@ -1483,11 +1488,11 @@ msgstr ""
"przywrócenie fontu ekranowego, rozmiaru i mapy unikodowej do ustawieŠ"
"rozruchowych."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Za dużo plików wejÅciowych."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Nie można jednoczeÅnie odtworzyÄ z ROM-u i z pliku. Font nie zmieniony."
diff --git a/po/pt.po b/po/pt.po
index 3786723..49af0ab 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2025-03-23 11:27+0000\n"
"Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
@@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -493,7 +493,12 @@ msgstr "impossÃvel associar tecla %d a valor %d porque é demasiado grande"
msgid "Error writing map to file"
msgstr "Erro ao escrever mapa no ficheiro"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "ImpossÃvel remover item da tabela diacrÃtica"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "impossÃvel: não meta?\n"
@@ -576,12 +581,12 @@ msgstr "impossÃvel obter sÃmbolo por tipo errado: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "impossÃvel obter sÃmbolo de tipo %d por Ãndice errado: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "a assumir %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "sÃmbolo de tecla \"%s\" desconhecido"
@@ -692,12 +697,12 @@ msgstr "loadkeys: não sei como compor para %s"
msgid "'%s' is not a function key symbol"
msgstr "\"%s\" não é um sÃmbolo de tecla de função"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "demasiadas entradas (%ld) numa linha"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "A carregar %s"
@@ -772,11 +777,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "A consola não está em modo de texto"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "letra alta não é suportado"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "ImpossÃvel carregar essa letra com esta versão do kernel"
@@ -843,7 +848,7 @@ msgstr[0] "entrada # %d"
msgstr[1] "entradas # %d"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1250,25 +1255,25 @@ msgstr "ImpossÃvel verificar se o TV %d está livre; use \"%s -f\" para forçar
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "tv %d em uso; comando abortado; use \"%s -f\" para forçar."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "ImpossÃvel localizar o comando."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "ImpossÃvel definir nova sessão"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "A usar o TV %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "ImpossÃvel abrir %s leitura/escrita"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "ImpossÃvel desalocar a consola %d"
@@ -1479,11 +1484,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
"repor a letra do ecrã e o mapa unicode para as pré-definições de arranque."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Demasiados ficheiros de entrada."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"ImpossÃvel restaurar de ROM de carácter e de ficheiro. Letra inalterada."
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f05f9c5..0c85677 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.2.90\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2020-06-03 07:52-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldpbr-"
@@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -501,7 +501,12 @@ msgstr "não é possÃvel associar a tecla %d ao valor %d porque é grande demai
msgid "Error writing map to file"
msgstr "Erro ao escrever mapa para arquivo"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Não foi possÃvel remover o item da tabela de diacrÃticos"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "impossÃvel: não é meta?\n"
@@ -584,12 +589,12 @@ msgstr "não foi possÃvel obter sÃmbolo por tipo incorreto: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "não foi possÃvel obter sÃmbolo do tipo %d por Ãndice incorreto: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "presumindo %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "sÃmbolo de tecla (keysym) desconhecido \"%s\""
@@ -701,12 +706,12 @@ msgstr "loadkeys: não sei como compor para %s"
msgid "'%s' is not a function key symbol"
msgstr "\"%s\" não é um sÃmbolo de tecla de função"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "número excessivo (%ld) de entradas em uma linha"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Carregando %s"
@@ -780,12 +785,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Sem suporte\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -852,7 +857,7 @@ msgstr[0] "# %d entrada"
msgstr[1] "# %d entradas"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1265,25 +1270,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "vt %d está em uso; comando abortado; use \"%s -f\" para forçar."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Não foi possÃvel localizar comando."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Não foi possÃvel definir uma nova sessão"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Usando o VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Não foi possÃvel abrir %s para leitura/escrita"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Não foi possÃvel desalocar o console %d"
@@ -1477,11 +1482,11 @@ msgstr "Mapa Unicode anexado"
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Número excessivo de arquivos de entrada."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Não é possÃvel restaurar a partir de ROM de caractere e de arquivo. Fonte "
diff --git a/po/ro.po b/po/ro.po
index e5f2e19..02b20e2 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -25,7 +25,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-10-29 14:30+0100\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -79,7 +79,7 @@ msgstr "Nu sunt suficiente argumente."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -575,7 +575,12 @@ msgstr ""
msgid "Error writing map to file"
msgstr "Eroare la scrierea schemei în fiÈier"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Nu se poate elimina elementul din tabla de diacritice"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "imposibil: non meta?\n"
@@ -662,12 +667,12 @@ msgstr "nu se poate obÈine simbolul dupÄ tipul eronat: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "nu se poate obÈine simbolul de tip %d dupÄ indexul greÈit: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "presupunând %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "simbol_tastÄ(keysym) â%sâ necunoscut"
@@ -792,12 +797,12 @@ msgstr "loadkeys: nu Ètiu cum sÄ compun pentru %s"
msgid "'%s' is not a function key symbol"
msgstr "â%sâ nu este un simbol al unei taste funcÈionale"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "prea multe (%ld) intrÄri într-o singurÄ linie"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Se încarcÄ %s"
@@ -874,11 +879,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Consola nu este în modul text"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "fontul înalt nu este acceptat"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Nu se poate încÄrca un astfel de font cu aceastÄ versiune de nucleu"
@@ -951,7 +956,7 @@ msgstr[2] "# %d intrÄri"
msgstr[3] "# %d de intrÄri"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1375,25 +1380,25 @@ msgstr ""
"terminalul virtual(vt) %d este în uz; comanda a fost anulatÄ; utilizaÈi «%s "
"-f» pentru a forÈa."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Nu se poate gÄsi comanda."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Nu se poate configura o nouÄ sesiune"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Se utilizeazÄ terminalul virtual(VT) %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Nu se poate deschide %s pentru citire/scriere"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Nu s-a putut elibera consola %d"
@@ -1616,11 +1621,11 @@ msgstr ""
"restabileÈte fontul ecranului, dimensiunea Èi harta unicode la valorile "
"implicite de la pornire."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Prea multe fiÈiere de intrare."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Nu se poate restaura în acelaÈi timp din ROM-ul de caractere, cât Èi din "
diff --git a/po/ru.po b/po/ru.po
index f707ecd..7ebf5a2 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.6-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2023-05-20 11:36+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
@@ -62,7 +62,7 @@ msgstr "ÐедоÑÑаÑоÑно аÑгÑменÑов."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -498,7 +498,12 @@ msgstr ""
msgid "Error writing map to file"
msgstr "ÐÑибка запиÑи каÑÑÑ Ð² Ñайл"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Ðевозможно: не ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸Ð· диакÑиÑиÑеÑкой ÑаблиÑÑ"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "невозможно: не меÑа?\n"
@@ -582,12 +587,12 @@ msgstr "невозможно полÑÑиÑÑ Ñимвол по некоÑÑек
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "невозможно полÑÑиÑÑ Ñимвол Ñ Ñипом %d по некоÑÑекÑÐ½Ð¾Ð¼Ñ Ð¸Ð½Ð´ÐµÐºÑÑ: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "пÑедполагаеÑÑÑ %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "неизвеÑÑнÑй keysym «%s»"
@@ -703,12 +708,12 @@ msgstr "loadkeys: непонÑÑно как вÑполниÑÑ ÑоÑÑавле
msgid "'%s' is not a function key symbol"
msgstr "«%s» не ÑвлÑеÑÑÑ Ñимволом ÑÑнкÑионалÑной клавиÑи"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "ÑлиÑком много (%ld) ÑлеменÑов в одной ÑÑÑоке"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "ÐагÑÑжаеÑÑÑ %s"
@@ -783,12 +788,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Ðе поддеÑживаеÑÑÑ\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -856,7 +861,7 @@ msgstr[1] "# %d ÑлеменÑ"
msgstr[2] "# %d ÑлеменÑов"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1272,25 +1277,25 @@ msgstr ""
"vt %d иÑполÑзÑеÑÑÑ; команда пÑеÑвана; иÑполÑзÑйÑе «%s -f» Ð´Ð»Ñ "
"пÑинÑдиÑелÑного запÑÑка."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Ðе ÑдалоÑÑ Ð½Ð°Ð¹Ñи командÑ."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Ðе ÑдалоÑÑ ÑÑÑановиÑÑ Ð½Ð¾Ð²Ñй ÑеанÑ"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "ÐÑполÑзÑеÑÑÑ VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Ðе ÑдалоÑÑ Ð¾ÑкÑÑÑÑ %s на ÑÑение/запиÑÑ"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Ðе ÑдалоÑÑ Ð¾ÑвободиÑÑ ÐºÐ¾Ð½ÑÐ¾Ð»Ñ %d"
@@ -1486,11 +1491,11 @@ msgstr "Ð®Ð½Ð¸ÐºÐ¾Ð´Ð½Ð°Ñ ÐºÐ°ÑÑа добавлена"
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "СлиÑком много вÑ
однÑÑ
Ñайлов."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Ðе ÑдалоÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÑÑÐ°Ð·Ñ Ð¸Ð· ÑимволÑного ÐÐУ и из Ñайла. ШÑиÑÑ Ð½Ðµ "
@@ -1962,6 +1967,9 @@ msgstr "Ðанное ÑÑÑÑойÑÑво tty (%s) не ÑвлÑеÑÑÑ Ð²Ð¸Ñ
msgid "The entire console display cannot be locked.\n"
msgstr "ÐкÑан конÑоли не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±ÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñован Ñеликом.\n"
+#~ msgid "impossible: не ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð´Ð¸Ð°ÐºÑиÑиÑеÑкий Ñимвол"
+#~ msgstr "невозможно: "
+
#~ msgid "octal number too big"
#~ msgstr "ÑлиÑком болÑÑое воÑÑмеÑиÑное ÑиÑло"
diff --git a/po/sq.po b/po/sq.po
index b1cdf27..a4fcd5e 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.6-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-10-26 18:56+0300\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
@@ -60,7 +60,7 @@ msgstr "Sâka argumente të mjaftueshëm."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -480,7 +480,12 @@ msgstr ""
msgid "Error writing map to file"
msgstr "Gabim në shkrimin tabele te kartela"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Sâarrihet të hiqet objekt nga tabelë diakritikësh"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr ""
@@ -563,12 +568,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr ""
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr ""
@@ -678,12 +683,12 @@ msgstr ""
msgid "'%s' is not a function key symbol"
msgstr "'%s' sâështë simbol tasti funksioni"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "shumë zëra (%ld) në një rresht"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Po ngarkohet %s"
@@ -756,12 +761,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "Nuk mbulohet\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -822,7 +827,7 @@ msgstr[0] "# %d zë"
msgstr[1] "# %d zëra"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1235,25 +1240,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Sâarrihet të gjendet urdhër."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Sâarrihet të ujdiset sesion i ri"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Po përdoret TV %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Sâhapet dot %s lexim/shkrim"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr ""
@@ -1438,11 +1443,11 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "Shumë kartela dhënie."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/sr.po b/po/sr.po
index 3012092..517414f 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd-2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-12-18 21:56+0100\n"
"Last-Translator: ÐиÑоÑлав ÐÐ¸ÐºÐ¾Ð»Ð¸Ñ <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -61,7 +61,7 @@ msgstr "Ðема довоÑно аÑгÑменаÑа."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -494,7 +494,12 @@ msgstr "не Ð¼Ð¾Ð³Ñ Ð´Ð° Ñвежем ÑаÑÑÐµÑ %d на вÑедноÑÑ %d
msgid "Error writing map to file"
msgstr "ÐÑеÑка пиÑаÑа мапе Ñ Ð´Ð°ÑоÑекÑ"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° Ñклоним ÑÑÐ°Ð²ÐºÑ Ð¸Ð· диÑакÑиÑиÑке Ñабеле"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "немогÑÑе: ниÑе меÑа?\n"
@@ -577,12 +582,12 @@ msgstr "не Ð¼Ð¾Ð³Ñ Ð´Ð° добавим Ñимбол погÑÑном вÑÑÑ
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "не Ð¼Ð¾Ð³Ñ Ð´Ð° добавим Ñимбол %d вÑÑÑе погÑÑним индекÑом: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "подÑазÑмевам â%s %sâ"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "непознаÑа ÑÑма ÑаÑÑеÑа â%sâ"
@@ -697,12 +702,12 @@ msgstr "loadkeys: не знам како да ÑаÑÑавим за â%sâ"
msgid "'%s' is not a function key symbol"
msgstr "â%sâ ниÑе Ñимбол ÑаÑÑеÑа ÑÑнкÑиÑе"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "пÑевиÑе (%ld) ÑноÑа Ñ Ñедном ÑедÑ"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "УÑиÑавам â%sâ"
@@ -776,11 +781,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Ðонзола ниÑе Ñ ÑекÑÑÑалном ÑежимÑ"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "виÑоки Ñловни ликови ниÑÑ Ð¿Ð¾Ð´Ñжани"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° ÑÑиÑам Ñакав Ñловни лик Ñа Ñаквим издаÑем кеÑнела"
@@ -848,7 +853,7 @@ msgstr[1] "# %d ÑноÑа"
msgstr[2] "# %d ÑноÑа"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1264,25 +1269,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr ""
"Ð²Ñ %d Ñе Ñ ÑпоÑÑеби; наÑедба Ñе пÑекинÑÑа; коÑиÑÑиÑе â%s -fâ за пÑимоÑаваÑе."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° наÑем наÑедбÑ."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° подеÑим Ð½Ð¾Ð²Ñ ÑеÑиÑÑ"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "ÐоÑиÑÑим ÐТ %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° оÑвоÑим â%sâ Ñади пиÑаÑа/ÑпиÑа"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° ÑазмеÑÑим ÐºÐ¾Ð½Ð·Ð¾Ð»Ñ %d"
@@ -1493,11 +1498,11 @@ msgstr ""
"поново поÑÑавÑа Ñловни лик, велиÑÐ¸Ð½Ñ Ð¸ ÑÑникод Ð¼Ð°Ð¿Ñ ÐµÐºÑана на подизне "
"оÑновноÑÑи."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "ÐÑевиÑе ÑлазниÑ
даÑоÑека."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Ðе Ð¼Ð¾Ð³Ñ Ð´Ð° вÑаÑим и из Ð ÐÐ-а знака и из даÑоÑеке. Словни лик ниÑе измеÑен."
diff --git a/po/sv.po b/po/sv.po
index 3acf482..2f2ee31 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-10-30 22:24+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -63,7 +63,7 @@ msgstr "Inte tillräckligt med argument."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -502,7 +502,12 @@ msgstr ""
msgid "Error writing map to file"
msgstr "Fel vid skrivning av avbildningen till en fil"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Kan inte ta bort ett element från tabellen över diakritiska tecken"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "omöjligt: inte meta?\n"
@@ -585,12 +590,12 @@ msgstr "kan inte hämta symbol enligt fel typ: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "kan inte hämta symbol av typ %d enligt fel index: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "antar %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "okänd teckensymbol â%sâ"
@@ -701,12 +706,12 @@ msgstr "loadkeys: vet inte hur man komponerar för %s"
msgid "'%s' is not a function key symbol"
msgstr "â%sâ är inte en funktionstangentsymbol"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "för många (%ld) poster på en rad"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "Laddar %s"
@@ -780,11 +785,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "Konsolen är inte i textläge"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "höga typsnitt stödjs ej"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Kan inte ladda ett sådant typsnitt med en sådan kärnversion"
@@ -851,7 +856,7 @@ msgstr[0] "# %d post"
msgstr[1] "# %d poster"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1263,25 +1268,25 @@ msgstr ""
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "vt %d används, kommandot avbrutet; använd â%s -fâ för att framtvinga."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Kunde inte hitta kommandot."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Kan inte sätta ny session"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Använder VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Kan inte öppna %s för läsning/skrivning"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Kunde inte avallokera konsol %d"
@@ -1492,11 +1497,11 @@ msgstr ""
"återställ skärmtypsnittet, storleken och unicode-avbildningen till "
"startvärdena."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "För många indatafiler."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
"Kan inte både återställa från tecken-ROM och från fil. Typsnittet "
diff --git a/po/tr.po b/po/tr.po
index 3383695..90c6531 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 1.10\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2004-01-21 06:15+0300\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -57,7 +57,7 @@ msgstr ""
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -491,7 +491,11 @@ msgstr ""
msgid "Error writing map to file"
msgstr "E$lem dosyaya yazilirken hata\n"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "imkansiz: meta degil?\n"
@@ -574,12 +578,12 @@ msgstr ""
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr ""
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "iso-8859-1'deki %s oldugu varsayildi\n"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "'%s' sembolu bilinmiyor\n"
@@ -687,12 +691,12 @@ msgstr ""
msgid "'%s' is not a function key symbol"
msgstr ""
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "Birle$tirilecek dosya sayisi cok fazla\n"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "%s okunurken hata\n"
@@ -766,11 +770,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -837,7 +841,7 @@ msgstr[0] "girdi"
msgstr[1] "girdi"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1271,26 +1275,26 @@ msgstr "openvt: sanal terminal (vt) %d serbest mi denetlenemiyor\n"
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "openvt: sanal terminal (vt) %d kullanimda; komut iptal edildi\n"
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr ""
-#: src/openvt.c:388
+#: src/openvt.c:386
#, fuzzy
msgid "Unable to set new session"
msgstr "openvt: yeni oturum (%s) ayarlanamiyor\n"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, fuzzy, c-format
msgid "Using VT %s"
msgstr "openvt: VT %s kullanarak\n"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, fuzzy, c-format
msgid "Cannot open %s read/write"
msgstr "openvt: %s oku/yaz kipinde acilamiyor (%s)\n"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, fuzzy, c-format
msgid "Couldn't deallocate console %d"
msgstr "%s: %d konsolu kaldirilamadi\n"
@@ -1497,12 +1501,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: cok fazla girdi dosyasi\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index b05955c..7174ede 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.7-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2024-10-29 18:02+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -63,7 +63,7 @@ msgstr "ÐедоÑÑаÑнÑо аÑгÑменÑÑв."
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -500,7 +500,12 @@ msgstr ""
msgid "Error writing map to file"
msgstr "Ðомилка запиÑÑ Ñ Ñайл"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+#, fuzzy
+msgid "impossible: unable to get item from the diacritical table"
+msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð»ÑÑиÑи Ð·Ð°Ð¿Ð¸Ñ Ñз ÑаблиÑÑ Ð´ÑакÑиÑиÑниÑ
ÑимволÑв"
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "неможливо: не `meta'?\n"
@@ -583,12 +588,12 @@ msgstr "не вдалоÑÑ Ð¾ÑÑимаÑи Ñимвол за помилков
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "не вдалоÑÑ Ð¾ÑÑимаÑи Ñимвол ÑÐ¸Ð¿Ñ %d за помилковим ÑндекÑом: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "пÑипÑÑкаÑмо %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "невÑдомий Ñимвол клавÑÑÑ Â«%s»"
@@ -711,12 +716,12 @@ msgstr "loadkeys: невÑдомий ÑпоÑÑб ÑÑвоÑÐµÐ½Ð½Ñ ÑполÑ
msgid "'%s' is not a function key symbol"
msgstr "«%s» не Ñ Ñимволом ÑÑнкÑÑоналÑÐ½Ð¾Ñ ÐºÐ»Ð°Ð²ÑÑÑ"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, c-format
msgid "too many (%ld) entries on one line"
msgstr "занадÑо багаÑо запиÑÑв (%ld) в Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑÑдкÑ"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "ÐаванÑажÑÑÑÑÑÑ Â«%s»"
@@ -790,11 +795,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr "ÐонÑÐ¾Ð»Ñ Ð½Ðµ пеÑебÑÐ²Ð°Ñ Ñ ÑекÑÑÐ¾Ð²Ð¾Ð¼Ñ ÑежимÑ"
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr "пÑдÑÑимки виÑокиÑ
ÑÑиÑÑÑв не пеÑедбаÑено"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½ÑажиÑи Ñакий ÑÑиÑÑ Ñз ÑÐ°ÐºÐ¾Ñ Ð²ÐµÑÑÑÑÑ ÑдÑа"
@@ -863,7 +868,7 @@ msgstr[2] "# %d запиÑÑв"
msgstr[3] "# %d запиÑ"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1278,25 +1283,25 @@ msgstr ""
"vt %d вже викоÑиÑÑовÑÑÑÑÑÑ; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ пеÑеÑвано; ÑкоÑиÑÑайÑеÑÑ "
"ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ñ Â«%s -f» Ð´Ð»Ñ Ð²ÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð¿ÑимÑÑÐ¾Ð²Ð¾Ð¼Ñ ÑежимÑ."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи командÑ."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Ðе вдалоÑÑ Ð²ÑÑановиÑи новий ÑеанÑ"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "ÐикоÑиÑÑовÑÑÑÑÑÑ ÐТ %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "Ðе вдалоÑÑ Ð²ÑдкÑиÑи %s Ð´Ð»Ñ ÑиÑÐ°Ð½Ð½Ñ Ð°Ð±Ð¾ запиÑÑ"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "не вдалоÑÑ Ð·Ð²ÑлÑниÑи конÑÐ¾Ð»Ñ %d"
@@ -1509,11 +1514,11 @@ msgstr ""
"вÑдновиÑи ÑÐ¸Ð¿Ð¾Ð²Ñ Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ Ð¿Ñд ÑÐ°Ñ Ð·Ð°Ð²Ð°Ð½ÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÑÑиÑÑÑ ÐµÐºÑана, ÑозмÑÑÑ Ñа "
"ÑÑ
еми unicode."
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "ÐадÑо багаÑо вÑ
ÑдниÑ
ÑайлÑв."
-#: src/setfont.c:309
+#: src/setfont.c:313
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr "Ðе вдалоÑÑ ÑÑавиÑи ÑÑиÑÑ Ð¾Ð´ÑÐ°Ð·Ñ Ð· ÐÐУ, Ñа з Ñайла. ШÑиÑÑ Ð½Ðµ змÑнено."
diff --git a/po/vi.po b/po/vi.po
index a4df83e..d149c02 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.0.4-rc1\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2016-12-28 13:46+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -65,7 +65,7 @@ msgstr "Lá»i: không có Äá»§ Äá»i sá».\n"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -510,7 +510,11 @@ msgstr "gặp lá»i khi tá» hợp phÃm %d vá»i giá trá» %d"
msgid "Error writing map to file"
msgstr "Lá»i ghi nhỠánh xạ và o táºp tin"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "không thá»: không phải meta?\n"
@@ -593,12 +597,12 @@ msgstr "không thá» lấy ký hiá»u bằng kiá»u sai: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "không thá» lấy ký hiá»u cá»§a kiá»u %d bằng chá» sá» sai: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, fuzzy, c-format
msgid "assuming %s %s"
msgstr "coi là iso-8859-1 %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, fuzzy, c-format
msgid "unknown keysym '%s'"
msgstr "không rõ ký tá»± phÃm (keysym) â%sâ\n"
@@ -703,12 +707,12 @@ msgstr "loadkeys: không biết cách cấu tạo cho %s\n"
msgid "'%s' is not a function key symbol"
msgstr "â%sâ không phải là má»t ký hiá»u phÃm chức nÄng"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "quá nhiá»u (%d) mục nháºp trên cùng má»t dòng"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, fuzzy, c-format
msgid "Loading %s"
msgstr "Äang nạp %s\n"
@@ -782,11 +786,11 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
msgid "tall font not supported"
msgstr ""
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -854,7 +858,7 @@ msgid_plural "# %d entries"
msgstr[0] "mục"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, fuzzy, c-format
@@ -1297,25 +1301,25 @@ msgstr ""
"vt %d Äang ÄÆ°á»£c sá» dụng; lá»nh bá» bãi bá»; sá» dụng â%s -fâ ÄỠép buá»c thá»±c "
"hiá»n."
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "Không thá» tìm thấy lá»nh."
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "Không thá» Äặt phiên là m viá»c má»i"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "Äang dùng VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "không thá» má» %s Äá» Äá»c/ghi"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "Không thá» cấp phát lại console (thiết bá» Äiá»u khiá»n) %d"
@@ -1517,12 +1521,12 @@ msgstr ""
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
#, fuzzy
msgid "Too many input files."
msgstr "setfont: quá nhiá»u táºp tin Äầu và o\n"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 03127ad..bc1cfc9 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kbd 2.5-rc2\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2025-09-04 11:19+0200\n"
+"POT-Creation-Date: 2026-02-14 20:09+0300\n"
"PO-Revision-Date: 2022-06-30 11:35-0400\n"
"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -63,7 +63,7 @@ msgstr "åæ°ä¸è¶³ã"
#: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
#: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
#: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
-#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
+#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
#: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
#: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
#: src/totextmode.c:31
@@ -492,7 +492,11 @@ msgstr "å°é® %d ç»å®å°å¼ %d 失败"
msgid "Error writing map to file"
msgstr "å°æ å°åå
¥æä»¶å¤±è´¥"
-#: src/libkeymap/dump.c:546
+#: src/libkeymap/dump.c:227
+msgid "impossible: unable to get item from the diacritical table"
+msgstr ""
+
+#: src/libkeymap/dump.c:550
#, c-format
msgid "impossible: not meta?\n"
msgstr "ä¸å¯è½:䏿¯ meta é®?\n"
@@ -575,12 +579,12 @@ msgstr "æ æ³ä»¥é误çç±»åè·å符å·: %d"
msgid "unable to get symbol of %d type by wrong index: %d"
msgstr "æ æ³ä»¥é误çç´¢å¼è·å %d ç±»åç符å·: %d"
-#: src/libkeymap/ksyms.c:392
+#: src/libkeymap/ksyms.c:393
#, c-format
msgid "assuming %s %s"
msgstr "åå® %s %s"
-#: src/libkeymap/ksyms.c:399
+#: src/libkeymap/ksyms.c:400
#, c-format
msgid "unknown keysym '%s'"
msgstr "æªç¥ç keysym '%s'"
@@ -685,12 +689,12 @@ msgstr "loadkeys: ä¸ç¥éå¦ä½ä¸º %s è¿è¡ç»å\n"
msgid "'%s' is not a function key symbol"
msgstr "'%s' 䏿¯ä¸ä¸ªåè½é®æ å¿"
-#: src/libkeymap/parser.y:333
+#: src/libkeymap/parser.y:336
#, fuzzy, c-format
msgid "too many (%ld) entries on one line"
msgstr "ä¸è¡ä¸åå¨å¤ªå¤ç ( %d 个) æ¡ç®"
-#: src/libkeymap/parser.y:399
+#: src/libkeymap/parser.y:402
#, c-format
msgid "Loading %s"
msgstr "æ£å¨å è½½ %s"
@@ -764,12 +768,12 @@ msgstr ""
msgid "Console is not in text mode"
msgstr ""
-#: src/libkfont/kdfontop.c:196
+#: src/libkfont/kdfontop.c:197
#, fuzzy
msgid "tall font not supported"
msgstr "䏿¯æ\n"
-#: src/libkfont/kdfontop.c:212
+#: src/libkfont/kdfontop.c:213
msgid "Unable to load such font with such kernel version"
msgstr ""
@@ -836,7 +840,7 @@ msgid_plural "# %d entries"
msgstr[0] "个æ¡ç®"
#: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
-#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
+#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
#: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
#: src/psfxtable.c:143
#, c-format
@@ -1248,25 +1252,25 @@ msgstr "æ æ³æ£æ¥ VT %d æ¯å¦ç©ºé²ï¼ä½¿ç¨â%s -fâå¼ºå¶æ§è¡ã"
msgid "vt %d is in use; command aborted; use `%s -f' to force."
msgstr "vt %d æ£å¨ä½¿ç¨ä¸ï¼å½ä»¤å·²ä¸æ¢ï¼ä½¿ç¨â%s -fâå¼ºå¶æ§è¡ã"
-#: src/openvt.c:353
+#: src/openvt.c:354
msgid "Unable to find command."
msgstr "æ æ³æ¾å°å½ä»¤ã"
-#: src/openvt.c:388
+#: src/openvt.c:386
msgid "Unable to set new session"
msgstr "æ æ³è®¾ç½®æ°çä¼è¯"
-#: src/openvt.c:417
+#: src/openvt.c:415
#, c-format
msgid "Using VT %s"
msgstr "æ£å¨ä½¿ç¨ VT %s"
-#: src/openvt.c:423
+#: src/openvt.c:421
#, c-format
msgid "Cannot open %s read/write"
msgstr "æ æ³æå¼ %s 以ä¾è¯»å"
-#: src/openvt.c:470
+#: src/openvt.c:468
#, c-format
msgid "Couldn't deallocate console %d"
msgstr "æ æ³åæ¶æ§å¶å° %d"
@@ -1459,11 +1463,11 @@ msgstr "Unicode æ å°å·²éå \n"
msgid "reset the screen font, size, and unicode map to the bootup defaults."
msgstr ""
-#: src/setfont.c:296 src/setfont.c:304
+#: src/setfont.c:296 src/setfont.c:308
msgid "Too many input files."
msgstr "太å¤çè¾å
¥æä»¶ã"
-#: src/setfont.c:309
+#: src/setfont.c:313
#, fuzzy
msgid "Cannot both restore from character ROM and from file. Font unchanged."
msgstr "setfont: æ æ³æ¢ä»å符 ROM è¿è¡æ¢å¤å仿件è¿è¡æ¢å¤ãåä½ä¸åã\n"
diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c
index 47df091..1a1050e 100644
--- a/src/libkeymap/dump.c
+++ b/src/libkeymap/dump.c
@@ -223,6 +223,10 @@ int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd)
unicode ? "uc" : "");
for (i = 0; i < ctx->accent_table->count; i++) {
kddiac = lk_array_get_ptr(ctx->accent_table, i);
+ if (!kddiac) {
+ ERR(ctx, _("impossible: unable to get item from the diacritical table"));
+ return -1;
+ }
fprintf(fd, "\t{");
outchar(fd, kddiac->diacr, 1);
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop
2026-02-14 17:27 ` [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop Krdyan Areg
@ 2026-02-14 23:08 ` Alexey Gladkov
2026-02-15 8:04 ` Areg Krdyan
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Gladkov @ 2026-02-14 23:08 UTC (permalink / raw)
To: Krdyan Areg; +Cc: kbd
On Sat, Feb 14, 2026 at 08:27:33PM +0300, Krdyan Areg wrote:
> The lk_array_get_ptr() function may return NULL when accessing the
> accent table. Dereferences kddiac without checking,
> which can lead to a crash.
>
> Add a NULL check and return an error if an invalid entry is found.
>
> Signed-off-by: Krdyan Areg <areg.krdian@gmail.com>
> ---
> po/cs.po | 39 ++++++++++++++++++++++-----------------
> po/da.po | 38 +++++++++++++++++++++-----------------
> po/de.po | 41 ++++++++++++++++++++++++-----------------
> po/el.po | 39 ++++++++++++++++++++++-----------------
> po/eo.po | 39 ++++++++++++++++++++++-----------------
> po/es.po | 39 ++++++++++++++++++++++-----------------
> po/hu.po | 38 +++++++++++++++++++++-----------------
> po/id.po | 39 ++++++++++++++++++++++-----------------
> po/it.po | 38 +++++++++++++++++++++-----------------
> po/ka.po | 38 +++++++++++++++++++++-----------------
> po/kbd.pot | 38 +++++++++++++++++++++-----------------
> po/nl.po | 38 +++++++++++++++++++++-----------------
> po/pl.po | 39 ++++++++++++++++++++++-----------------
> po/pt.po | 39 ++++++++++++++++++++++-----------------
> po/pt_BR.po | 39 ++++++++++++++++++++++-----------------
> po/ro.po | 39 ++++++++++++++++++++++-----------------
> po/ru.po | 42 +++++++++++++++++++++++++-----------------
> po/sq.po | 39 ++++++++++++++++++++++-----------------
> po/sr.po | 39 ++++++++++++++++++++++-----------------
> po/sv.po | 39 ++++++++++++++++++++++-----------------
> po/tr.po | 38 +++++++++++++++++++++-----------------
> po/uk.po | 39 ++++++++++++++++++++++-----------------
> po/vi.po | 38 +++++++++++++++++++++-----------------
> po/zh_CN.po | 38 +++++++++++++++++++++-----------------
> src/libkeymap/dump.c | 4 ++++
> 25 files changed, 528 insertions(+), 408 deletions(-)
Sorry, but your commit messages and your changes look like they were
generated by AI. I'm not against AI, but not everything you fix is a
real bug.
Thanks anyway. I'll take another look at the code myself and try to fix
any suspicious code.
> diff --git a/po/cs.po b/po/cs.po
> index cf38c98..e589761 100644
> --- a/po/cs.po
> +++ b/po/cs.po
> @@ -11,7 +11,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-12-03 21:09+01:00\n"
> "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
> "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
> @@ -63,7 +63,7 @@ msgstr "Málo argumentů."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -494,7 +494,12 @@ msgstr "navázat klávesu %d na hodnotu %d nelze, protože je příliš velká"
> msgid "Error writing map to file"
> msgstr "Chyba při zápisu mapy do souboru"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Z tabulky diakritiky nelze odstranit položku"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "nemožné: není meta?\n"
> @@ -577,12 +582,12 @@ msgstr "symbol nelze získat podle chybného typu: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "symbol typu %d nelze získat podle chybného indexu: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "předpokládá se %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "neznámý symbol klávesy „%s“"
> @@ -699,12 +704,12 @@ msgstr "loadkeys: není známo, jak skládat pro %s"
> msgid "'%s' is not a function key symbol"
> msgstr "„%s“ není symbol funkční klávesy"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "příliš mnoho (%ld) záznamů na jednom řádku"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Zavádí se %s"
> @@ -778,11 +783,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Konzola není v textovém režimu"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "vysoká font není podporován"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "S touto verzí jádra nelze takový font zavést"
>
> @@ -850,7 +855,7 @@ msgstr[1] "# %d položky"
> msgstr[2] "# %d položek"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1258,25 +1263,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "VT %d se používá; příkaz přerušen; použijte „%s -f“ pro vynucení."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Příkaz nelze nalézt."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Nelze nastavit novou relaci"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Použije se VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "%s nelze otevřít pro čtení i zápis"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Nebylo možné dealokovat konzolu %d"
> @@ -1481,11 +1486,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
> "Obnoví písmo a velikost písma a mapu Unicode na výchozí po startu systému."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Příliš mnoho vstupních souborů."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr "Nelze zároveň obnovovat z ROM znaků a ze souboru. Písmo nezměněno."
>
> diff --git a/po/da.po b/po/da.po
> index 47a1489..cc8a3ec 100644
> --- a/po/da.po
> +++ b/po/da.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-1.15.3-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2011-06-03 22:01+0200\n"
> "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
> "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
> @@ -61,7 +61,7 @@ msgstr "Fejl: Ikke nok argumenter.\n"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -497,7 +497,11 @@ msgstr "kunne ikke binde tast %d til v
> msgid "Error writing map to file"
> msgstr "Fejl ved skrivning af tabel til fil\n"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "umuligt: ikke meta?\n"
> @@ -581,12 +585,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "antager iso-8859-1 %s\n"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "ukendt tegnsymbol \"%s\"\n"
> @@ -698,12 +702,12 @@ msgstr "loadkeys: v
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' er ikke et symbol for en funktionstast"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "For mange (%d) indgange p? ?n linje"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "Indl?ser %s\n"
> @@ -777,11 +781,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -850,7 +854,7 @@ msgstr[0] "post"
> msgstr[1] "post"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1285,25 +1289,25 @@ msgstr "Kan ikke unders
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "vt %d er i brug, kommandoen afbrudt, brug '%s -f' at gennemtvinge."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Kunne ikke finde kommando"
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Kan ikke s?tte ny session"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Bruger VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Kan ikke ?bne %s for l?sning/skrivning"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Kunne ikke deallokere konsol %d"
> @@ -1506,12 +1510,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: for mange inddatafiler\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/de.po b/po/de.po
> index 9099d1b..5523880 100644
> --- a/po/de.po
> +++ b/po/de.po
> @@ -17,7 +17,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-2.6-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2023-05-08 18:33+0200\n"
> "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
> "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
> @@ -70,7 +70,7 @@ msgstr "Nicht genügend Argumente."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -515,7 +515,14 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Fehler beim Schreiben der Tabelle in die Datei."
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +"Eintrag konnte nicht aus der Tabelle der diakritischen Zeichen entfernt "
> +"werden."
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "unmöglich: Keine Meta?\n"
> @@ -599,12 +606,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
> "Symbol des Typs %d konnte durch falschen Index nicht erhalten werden: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "%s %s wird angenommen"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "Unbekanntes Tastensymbol „%s“"
> @@ -719,12 +726,12 @@ msgstr "loadkeys: Weiß nicht, wie Compose für %s funktionieren soll."
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' ist kein Funktionstastensymbol."
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "Zu viele (%ld) Einträge in einer Zeile."
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "%s wird geladen"
> @@ -798,12 +805,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Nicht unterstützt\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -870,7 +877,7 @@ msgstr[0] "# %d Eintrag"
> msgstr[1] "# %d Einträge"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1289,25 +1296,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "VT %d wird bereits benutzt, Abbruch; „%s -f“ erzwingt dies."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Befehl konnte nicht gefunden werden."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Neue Sitzung kann nicht erzeugt werden."
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "VT %s wird benutzt"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "%s kann nicht zum Schreiben und Lesen geöffnet werden"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Konsole %d konnte nicht freigegeben werden"
> @@ -1502,11 +1509,11 @@ msgstr "Unicode-Tabelle angehängt."
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Zu viele Eingabedateien."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Font kann nicht zugleich von ROM und Datei wiederhergestellt werden. Vorgang "
> diff --git a/po/el.po b/po/el.po
> index 0623bcf..47357f5 100644
> --- a/po/el.po
> +++ b/po/el.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-2.6-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2023-05-09 19:15+0300\n"
> "Last-Translator: Lefteris Dimitroulakis <ledimitro@gmail.com>\n"
> "Language-Team: Greek <team@lists.gnome.gr>\n"
> @@ -60,7 +60,7 @@ msgstr "Όχι αρκετά ορίσματα."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -499,7 +499,12 @@ msgstr "αποτυχία απόδωσης στο πλήκτρο %d της τιμ
> msgid "Error writing map to file"
> msgstr "Σφάλμα εγγραφής του πίνακα απεικόνισης στο αρχείο"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Αδυναμία αφαίρεσης στοιχείου από πίνακα διακριτικών"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "αδύνατον: δεν είναι meta;\n"
> @@ -582,12 +587,12 @@ msgstr "unable to get symbol by wrong type: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "unable to get symbol of %d type by wrong index: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "υποθέτοντας %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "άγνωστο keysym «%s»"
> @@ -698,12 +703,12 @@ msgstr "loadkeys: δεν ξέρω πώς να συνθέσω %s"
> msgid "'%s' is not a function key symbol"
> msgstr "«%s» δεν είναι σύμβολο πλήκτρου λειτουργίας"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "πάρα πολλες (%ld) σε μια γραμμή"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Φόρτωση %s"
> @@ -778,12 +783,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Δεν υποστηρίζεται\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -850,7 +855,7 @@ msgstr[0] "# %d είσοδος"
> msgstr[1] "# %d είσοδοι"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1267,25 +1272,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
> "vt %d εν χρήσει, εκτέλεση εντολής ματαιώθηκε, δώσε «%s -f» για εκτέλεση."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Αδυναμία εύρεσης εντολής."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Αδύνατον το άνοιγμα νέας συνόδου"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Χρησιμοποίηση VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Δεν μπορώ ν' ανοίξω το %s σε ανάγνωση/εγγραφή"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Αδυναμία αποδέσμευσης της κονσόλας %d"
> @@ -1476,11 +1481,11 @@ msgstr "Προστέθηκε πίνακας Unicode"
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Πάρα πολλά αρχεία εισόδου."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Αδυναμία επιδιόρθωσης των χαρακτήρων από τη ROM και από το "
> diff --git a/po/eo.po b/po/eo.po
> index 79f9de6..fb73990 100644
> --- a/po/eo.po
> +++ b/po/eo.po
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.5-rc2\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2023-01-08 15:14-0300\n"
> "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
> "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Ne sufiĉe da argumentoj."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "ne eblas ligi klavon %d al valoro %d ĉar ĝi tro larĝas"
> msgid "Error writing map to file"
> msgstr "Eraro dum skribo de mapo al dosiero"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Ne eblas forigi eron el la diakrita tabelo"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "neeble: ne estas meta?\n"
> @@ -576,12 +581,12 @@ msgstr "ne eblas preni simbolon per malkorekta tipo: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "ne eblas preni simbolon de tipo %d per malkorekta indico: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "ni konsideras %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "nekonata klavsimbolo '%s'"
> @@ -691,12 +696,12 @@ msgstr "loadkeys: ne scias kiel komponi por %s"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' ne estas simbolo de funkcia klavo"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "tro da (%ld) enigoj en unu linio"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Ŝargado je %s"
> @@ -770,12 +775,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Ne subtenata\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -841,7 +846,7 @@ msgstr[0] "# %d enigo"
> msgstr[1] "# %d enigoj"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1248,25 +1253,25 @@ msgstr "Ne eblas kontroli ĉu vt %d estas libera; uzu '%s - f' por perforti."
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "vt %d estas uzata; komando ĉesigita; uzu '%s -f' por perforti."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Ne eblas trovi la komandon."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Ne eblas ekigi novan seancon"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Ni uzadas VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Ne eblas malfermi %s lege/skribe"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Ne eblis liberigi la konzolon %d"
> @@ -1458,11 +1463,11 @@ msgstr "Postmetita Unikoda mapo"
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Tro da enig-dosieroj."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Ne eblas restarigi kaj el signeca ROM kaj el dosiero. Tiparo neŝanĝita."
> diff --git a/po/es.po b/po/es.po
> index 006262b..7b01e77 100644
> --- a/po/es.po
> +++ b/po/es.po
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2025-05-14 14:05-0600\n"
> "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
> "Language-Team: Spanish <es@tp.org.es>\n"
> @@ -60,7 +60,7 @@ msgstr "No hay argumentos suficientes."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -502,7 +502,12 @@ msgstr "no se pudo asignar la tecla %d al valor %d porque es demasiado grande"
> msgid "Error writing map to file"
> msgstr "Error al escribir el mapa al fichero"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "No se puede borrar el elemento de la tabla de diacríticos"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "imposible: ¿no será una tecla Meta?\n"
> @@ -585,12 +590,12 @@ msgstr "no se pudo obtener el símbolo por el tipo erróneo: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "no se pudo obtener el símbolo de tipo %d por el índice erróneo: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "conjeturando %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "keysym '%s' desconocida"
> @@ -702,12 +707,12 @@ msgstr "loadkeys: no se cómo componer para %s"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' no es un símbolo de tecla de función"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "demasiadas entradas (%ld) en una línea"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Cargando %s"
> @@ -781,11 +786,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "La consola no está en modo texto"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "no se admiten tipos de letra altos"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "No se puede cargar ese tipo de letra con esa versión de kernel"
>
> @@ -853,7 +858,7 @@ msgstr[0] "# %d entrada"
> msgstr[1] "# %d entradas"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1269,25 +1274,25 @@ msgstr ""
> "La term. virt. %d está siendo utilizada; orden abortada; use `%s -f' para "
> "forzar."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "No se pudo encontrar la orden."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "No se pudo establecer nueva sesión"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Usando la terminal virtual %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "No se puede abrir %s para lectura/escritura"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "No se pudo liberar la consola %d"
> @@ -1505,11 +1510,11 @@ msgstr ""
> "reinicia el tipo de letra de pantalla, tamaño y mapa unicode a los valores "
> "por defecto al arranque."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Demasiados ficheros de entrada."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "No se puede recuperar a la vez de la ROM de caracteres y de archivo. No se "
> diff --git a/po/hu.po b/po/hu.po
> index 913ade0..c8e1366 100644
> --- a/po/hu.po
> +++ b/po/hu.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.0.4-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2017-05-05 20:38+0200\n"
> "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
> "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Hiba: nincs elég argumentum.\n"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -507,7 +507,11 @@ msgstr "nem sikerült a(z) %d billentyű kötése a(z) %d értékhez"
> msgid "Error writing map to file"
> msgstr "Hiba a térkép fájlba írásakor"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "lehetetlen: nem meta?\n"
> @@ -591,12 +595,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
> "nem sikerült lekérni a(z) %d típus szimbólumát a rossz index alapján: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "iso-8859-1 %s feltételezve"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "ismeretlen billentyűszimbólum: „%s”\n"
> @@ -707,12 +711,12 @@ msgstr ""
> msgid "'%s' is not a function key symbol"
> msgstr ""
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "Túl sok egyesítendő fájl\n"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "Hiba a(z) „%s” olvasásakor"
> @@ -786,11 +790,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -859,7 +863,7 @@ msgstr[0] "bejegyzés"
> msgstr[1] "bejegyzés"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1302,25 +1306,25 @@ msgstr ""
> "A %d. vt használatban van. A parancs megszakítva. Használja a „%s -f” "
> "parancsot a kényszerítéshez."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Nem található parancs."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Nem állítható be új munkamenet"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "%s VT használata"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Nem sikerült a(z) %s megnyitása olvasásra/írásra"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Nem sikerült a(z) %d. konzol felszabadítása"
> @@ -1522,12 +1526,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: túl sok bemeneti fájl\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/id.po b/po/id.po
> index 6b8a101..a705a18 100644
> --- a/po/id.po
> +++ b/po/id.po
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-11-14 20:53+0700\n"
> "Last-Translator: Andika Triwidada <andika@gmail.com>\n"
> "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Tidak cukup argumen."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -498,7 +498,12 @@ msgstr "gagal mengikat tombol %d ke nilai %d karena itu terlalu besar"
> msgid "Error writing map to file"
> msgstr "Galat saat menulis peta ke berkas"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Tidak bisa menghapus butir dari tabel diakritikal"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "tidak mungkin: bukan meta?\n"
> @@ -582,12 +587,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
> "tidak bisa mendapatkan simbol dari tipe %d berdasarkan indeks salah: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "mengasumsikan %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "keysym '%s' tidak dikenal"
> @@ -693,12 +698,12 @@ msgstr "loadkeys: tak tahu bagaimana meng-compose untuk %s"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' bukan suatu simbol tombol fungsi"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "terlalu banyak (%ld) entri dalam satu baris"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Memuat %s"
> @@ -772,11 +777,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Konsol dalam mode teks"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "fonta tinggi tidak didukung"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Tidak bisa memuat fonta seperti itu dengan versi kernel ini"
>
> @@ -842,7 +847,7 @@ msgid_plural "# %d entries"
> msgstr[0] "# %d entri"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1258,25 +1263,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
> "vt %d sedang digunakan; perintah digugurkan; pakai '%s -f' untuk memaksa."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Tidak bisa menemukan perintah."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Tidak bisa menata sesi baru"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Menggunakan VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Tidak bisa membuka %s baca/tulis"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Tidak bisa mendealokasi konsol %d"
> @@ -1483,11 +1488,11 @@ msgstr "paksakan muat peta unicode."
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr "reset fonta, ukuran, dan peta unicode layar ke baku boot."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Terlalu banyak berkas masukan."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Tidak bisa sekaligus memulihkan dari karakter ROM dan dari berkas. Fonta "
> diff --git a/po/it.po b/po/it.po
> index f99f68d..8d9e8c7 100644
> --- a/po/it.po
> +++ b/po/it.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-1.15.3-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2011-06-13 00:36+0200\n"
> "Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
> "Language-Team: Italian <tp@lists.linux.it>\n"
> @@ -60,7 +60,7 @@ msgstr "Errore: argomenti non sufficienti.\n"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -501,7 +501,11 @@ msgstr "associazione del tasto %d al valore %d non riuscita\n"
> msgid "Error writing map to file"
> msgstr "Errore nella scrittura della mappa sul file\n"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "impossibile: forse non è meta\n"
> @@ -585,12 +589,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "si assume iso-8859-1 %s\n"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "simbolo di tasto \"%s\" sconosciuto\n"
> @@ -702,12 +706,12 @@ msgstr "loadkeys: non si sa come gestire la composizione per %s\n"
> msgid "'%s' is not a function key symbol"
> msgstr "\"%s\" non è un simbolo di tasto funzione"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "troppe (%d) voci su una riga"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "Caricamento di %s\n"
> @@ -781,11 +785,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -855,7 +859,7 @@ msgstr[0] "voce"
> msgstr[1] "voce"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1300,25 +1304,25 @@ msgstr ""
> "Il terminale virtuale %d è in uso, comando interrotto; usare \"%s -f\" per "
> "forzarlo."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Impossibile trovare il comando."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Impossibile impostare una nuova sessione"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Viene usato il terminale virtuale %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Impossibile aprire %s in lettura/scrittura"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Impossibile deallocare la console %d"
> @@ -1521,12 +1525,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: troppi file di input\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/ka.po b/po/ka.po
> index a3e2156..208d288 100644
> --- a/po/ka.po
> +++ b/po/ka.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2025-03-02 06:05+0100\n"
> "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
> "Language-Team: Georgian <(nothing)>\n"
> @@ -60,7 +60,7 @@ msgstr "არასაკმარისი არგუმენტები."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -478,7 +478,11 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "რუკის ფაილში ჩაწერის შეცდომა"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "შეუძლებელია: მეტა არაა?\n"
> @@ -561,12 +565,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "ივარაუდება %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "უცნობი keysym '%s'"
> @@ -676,12 +680,12 @@ msgstr ""
> msgid "'%s' is not a function key symbol"
> msgstr ""
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr ""
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "%s-ის ჩატვირთვა"
> @@ -750,11 +754,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "კონსოლი ტექსტურ რეჟიმში არაა"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "მაღალი ფონტი მხარდაჭერილი არაა"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -815,7 +819,7 @@ msgstr[0] "# %d ჩანაწერი"
> msgstr[1] "# %d ჩანაწერი"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1214,25 +1218,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "ბრძანება ვერ ვიპოვე."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "ახალი სესიის დაყენების შეცდომა"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "გამოიყენება VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "%s-ის წერაკითხვისთვის გახსნის შეცდომა"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "კონსოლის (%d) გამოყოფის გაუქმების შეცდომა)"
> @@ -1416,11 +1420,11 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "მეტისმეტად ბევრი შეყვანის ფაილი."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
>
> diff --git a/po/kbd.pot b/po/kbd.pot
> index 73d8d44..0eb0254 100644
> --- a/po/kbd.pot
> +++ b/po/kbd.pot
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.9.0\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
> "Language-Team: LANGUAGE <LL@li.org>\n"
> @@ -59,7 +59,7 @@ msgstr ""
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -470,7 +470,11 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr ""
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr ""
> @@ -553,12 +557,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr ""
> @@ -664,12 +668,12 @@ msgstr ""
> msgid "'%s' is not a function key symbol"
> msgstr ""
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr ""
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr ""
> @@ -738,11 +742,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -803,7 +807,7 @@ msgstr[0] ""
> msgstr[1] ""
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1202,25 +1206,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr ""
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr ""
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr ""
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr ""
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr ""
> @@ -1404,11 +1408,11 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr ""
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
>
> diff --git a/po/nl.po b/po/nl.po
> index 1e88b6a..3728a57 100644
> --- a/po/nl.po
> +++ b/po/nl.po
> @@ -10,7 +10,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-2.0.4-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2017-01-07 15:02+0100\n"
> "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
> "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
> @@ -64,7 +64,7 @@ msgstr "Fout: te weinig argumenten.\n"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -509,7 +509,11 @@ msgstr "verbinden van toets %d met waarde %d is mislukt"
> msgid "Error writing map to file"
> msgstr "Fout tijdens schrijven van toetsenkaart naar bestand"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "onmogelijk: niet meta?\n"
> @@ -592,12 +596,12 @@ msgstr "kan symbool niet verkrijgen wegens onjuist type: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "kan symbool van type %d niet verkrijgen wegens onjuiste index: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "iso-8859-1 '%s' wordt aangenomen"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "onbekende toetsnaam '%s'\n"
> @@ -708,12 +712,12 @@ msgstr "loadkeys: weet niet hoe %s samen te stellen\n"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' is geen functietoetssymbool"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "Te veel items (%d) op één regel"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "Laden van %s\n"
> @@ -788,11 +792,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -861,7 +865,7 @@ msgstr[0] "item"
> msgstr[1] "item"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1308,25 +1312,25 @@ msgstr ""
> "VT-%d is in gebruik; opdracht is afgebroken; gebruik '%s -f' om gebruik af "
> "te dwingen"
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Kan gegeven opdracht niet vinden."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Kan geen nieuwe sessie instellen"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "VT-%s wordt gebruikt"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Kan %s niet openen voor lezen-en-schrijven"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Kan console %d niet vrijgeven"
> @@ -1523,12 +1527,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: te veel invoerbestanden\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/pl.po b/po/pl.po
> index 0b8294c..6c83769 100644
> --- a/po/pl.po
> +++ b/po/pl.po
> @@ -6,7 +6,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-10-30 19:07+0100\n"
> "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
> "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
> @@ -59,7 +59,7 @@ msgstr "Za mało argumentów."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "nie można dowiązać klawisza %d do wartości %d, ponieważ jest zbyt d
> msgid "Error writing map to file"
> msgstr "Błąd podczas zapisu mapy do pliku"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Nie udało się usunąć elementu z tablicy diakrytyków"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "niemożliwe: nie meta?\n"
> @@ -576,12 +581,12 @@ msgstr "nie udało się pobrać symbolu poprzez niewłaściwy typ: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "nie udało się pobrać symbolu typu %d poprzez niewłaściwy indeks: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "przyjęto %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "nieznany symbol '%s'"
> @@ -698,12 +703,12 @@ msgstr "loadkeys: nie wiem, jak wykonać compose dla %s"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' nie jest symbolem klawisza funkcyjnego"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "zbyt dużo (%ld) wpisów w jednym wierszu"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Ładowanie %s"
> @@ -777,11 +782,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Konsola nie jest w trybie tekstowym"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "font wysoki nie jest obsługiwany"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Nie można załadować takiego fontu pod tą wersją jądra"
>
> @@ -849,7 +854,7 @@ msgstr[1] "# %d wpisy"
> msgstr[2] "# %d wpisów"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1261,25 +1266,25 @@ msgstr ""
> "vt %d jest używany, polecenie przerwano; można użyć `%s -f' w celu "
> "wymuszenia."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Nie udało się odnaleźć polecenia."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Nie można ustanowić nowej sesji"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Użycie VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Nie można otworzyć %s do odczytu i zapisu"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Nie udało się zwolnić konsoli %d"
> @@ -1483,11 +1488,11 @@ msgstr ""
> "przywrócenie fontu ekranowego, rozmiaru i mapy unikodowej do ustawień "
> "rozruchowych."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Za dużo plików wejściowych."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Nie można jednocześnie odtworzyć z ROM-u i z pliku. Font nie zmieniony."
> diff --git a/po/pt.po b/po/pt.po
> index 3786723..49af0ab 100644
> --- a/po/pt.po
> +++ b/po/pt.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2025-03-23 11:27+0000\n"
> "Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
> "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
> @@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "impossível associar tecla %d a valor %d porque é demasiado grande"
> msgid "Error writing map to file"
> msgstr "Erro ao escrever mapa no ficheiro"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Impossível remover item da tabela diacrítica"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "impossível: não meta?\n"
> @@ -576,12 +581,12 @@ msgstr "impossível obter símbolo por tipo errado: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "impossível obter símbolo de tipo %d por índice errado: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "a assumir %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "símbolo de tecla \"%s\" desconhecido"
> @@ -692,12 +697,12 @@ msgstr "loadkeys: não sei como compor para %s"
> msgid "'%s' is not a function key symbol"
> msgstr "\"%s\" não é um símbolo de tecla de função"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "demasiadas entradas (%ld) numa linha"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "A carregar %s"
> @@ -772,11 +777,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "A consola não está em modo de texto"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "letra alta não é suportado"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Impossível carregar essa letra com esta versão do kernel"
>
> @@ -843,7 +848,7 @@ msgstr[0] "entrada # %d"
> msgstr[1] "entradas # %d"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1250,25 +1255,25 @@ msgstr "Impossível verificar se o TV %d está livre; use \"%s -f\" para forçar
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "tv %d em uso; comando abortado; use \"%s -f\" para forçar."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Impossível localizar o comando."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Impossível definir nova sessão"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "A usar o TV %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Impossível abrir %s leitura/escrita"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Impossível desalocar a consola %d"
> @@ -1479,11 +1484,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
> "repor a letra do ecrã e o mapa unicode para as pré-definições de arranque."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Demasiados ficheiros de entrada."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Impossível restaurar de ROM de carácter e de ficheiro. Letra inalterada."
> diff --git a/po/pt_BR.po b/po/pt_BR.po
> index f05f9c5..0c85677 100644
> --- a/po/pt_BR.po
> +++ b/po/pt_BR.po
> @@ -6,7 +6,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.2.90\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2020-06-03 07:52-0300\n"
> "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
> "Language-Team: Brazilian Portuguese <ldpbr-"
> @@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -501,7 +501,12 @@ msgstr "não é possível associar a tecla %d ao valor %d porque é grande demai
> msgid "Error writing map to file"
> msgstr "Erro ao escrever mapa para arquivo"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Não foi possível remover o item da tabela de diacríticos"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "impossível: não é meta?\n"
> @@ -584,12 +589,12 @@ msgstr "não foi possível obter símbolo por tipo incorreto: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "não foi possível obter símbolo do tipo %d por índice incorreto: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "presumindo %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "símbolo de tecla (keysym) desconhecido \"%s\""
> @@ -701,12 +706,12 @@ msgstr "loadkeys: não sei como compor para %s"
> msgid "'%s' is not a function key symbol"
> msgstr "\"%s\" não é um símbolo de tecla de função"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "número excessivo (%ld) de entradas em uma linha"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Carregando %s"
> @@ -780,12 +785,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Sem suporte\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -852,7 +857,7 @@ msgstr[0] "# %d entrada"
> msgstr[1] "# %d entradas"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1265,25 +1270,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "vt %d está em uso; comando abortado; use \"%s -f\" para forçar."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Não foi possível localizar comando."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Não foi possível definir uma nova sessão"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Usando o VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Não foi possível abrir %s para leitura/escrita"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Não foi possível desalocar o console %d"
> @@ -1477,11 +1482,11 @@ msgstr "Mapa Unicode anexado"
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Número excessivo de arquivos de entrada."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Não é possível restaurar a partir de ROM de caractere e de arquivo. Fonte "
> diff --git a/po/ro.po b/po/ro.po
> index e5f2e19..02b20e2 100644
> --- a/po/ro.po
> +++ b/po/ro.po
> @@ -25,7 +25,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-10-29 14:30+0100\n"
> "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
> "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
> @@ -79,7 +79,7 @@ msgstr "Nu sunt suficiente argumente."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -575,7 +575,12 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Eroare la scrierea schemei în fișier"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Nu se poate elimina elementul din tabla de diacritice"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "imposibil: non meta?\n"
> @@ -662,12 +667,12 @@ msgstr "nu se poate obține simbolul după tipul eronat: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "nu se poate obține simbolul de tip %d după indexul greșit: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "presupunând %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "simbol_tastă(keysym) „%s” necunoscut"
> @@ -792,12 +797,12 @@ msgstr "loadkeys: nu știu cum să compun pentru %s"
> msgid "'%s' is not a function key symbol"
> msgstr "„%s” nu este un simbol al unei taste funcționale"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "prea multe (%ld) intrări într-o singură linie"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Se încarcă %s"
> @@ -874,11 +879,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Consola nu este în modul text"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "fontul înalt nu este acceptat"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Nu se poate încărca un astfel de font cu această versiune de nucleu"
>
> @@ -951,7 +956,7 @@ msgstr[2] "# %d intrări"
> msgstr[3] "# %d de intrări"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1375,25 +1380,25 @@ msgstr ""
> "terminalul virtual(vt) %d este în uz; comanda a fost anulată; utilizați «%s "
> "-f» pentru a forța."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Nu se poate găsi comanda."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Nu se poate configura o nouă sesiune"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Se utilizează terminalul virtual(VT) %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Nu se poate deschide %s pentru citire/scriere"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Nu s-a putut elibera consola %d"
> @@ -1616,11 +1621,11 @@ msgstr ""
> "restabilește fontul ecranului, dimensiunea și harta unicode la valorile "
> "implicite de la pornire."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Prea multe fișiere de intrare."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Nu se poate restaura în același timp din ROM-ul de caractere, cât și din "
> diff --git a/po/ru.po b/po/ru.po
> index f707ecd..7ebf5a2 100644
> --- a/po/ru.po
> +++ b/po/ru.po
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.6-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2023-05-20 11:36+0300\n"
> "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
> "Language-Team: Russian <gnu@d07.ru>\n"
> @@ -62,7 +62,7 @@ msgstr "Недостаточно аргументов."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -498,7 +498,12 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Ошибка записи карты в файл"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Невозможно: не удалось получить элемент из диакритической таблицы"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "невозможно: не мета?\n"
> @@ -582,12 +587,12 @@ msgstr "невозможно получить символ по некоррек
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "невозможно получить символ с типом %d по некорректному индексу: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "предполагается %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "неизвестный keysym «%s»"
> @@ -703,12 +708,12 @@ msgstr "loadkeys: непонятно как выполнить составле
> msgid "'%s' is not a function key symbol"
> msgstr "«%s» не является символом функциональной клавиши"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "слишком много (%ld) элементов в одной строке"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Загружается %s"
> @@ -783,12 +788,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Не поддерживается\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -856,7 +861,7 @@ msgstr[1] "# %d элемент"
> msgstr[2] "# %d элементов"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1272,25 +1277,25 @@ msgstr ""
> "vt %d используется; команда прервана; используйте «%s -f» для "
> "принудительного запуска."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Не удалось найти команду."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Не удалось установить новый сеанс"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Используется VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Не удалось открыть %s на чтение/запись"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Не удалось освободить консоль %d"
> @@ -1486,11 +1491,11 @@ msgstr "Юникодная карта добавлена"
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Слишком много входных файлов."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Не удалось восстановить сразу из символьного ПЗУ и из файла. Шрифт не "
> @@ -1962,6 +1967,9 @@ msgstr "Данное устройство tty (%s) не является вир
> msgid "The entire console display cannot be locked.\n"
> msgstr "Экран консоли не может быть быть заблокирован целиком.\n"
>
> +#~ msgid "impossible: не удалось получить диакритический символ"
> +#~ msgstr "невозможно: "
> +
> #~ msgid "octal number too big"
> #~ msgstr "слишком большое восьмеричное число"
>
> diff --git a/po/sq.po b/po/sq.po
> index b1cdf27..a4fcd5e 100644
> --- a/po/sq.po
> +++ b/po/sq.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.6-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-10-26 18:56+0300\n"
> "Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
> "Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
> @@ -60,7 +60,7 @@ msgstr "S’ka argumente të mjaftueshëm."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -480,7 +480,12 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Gabim në shkrimin tabele te kartela"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "S’arrihet të hiqet objekt nga tabelë diakritikësh"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr ""
> @@ -563,12 +568,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr ""
> @@ -678,12 +683,12 @@ msgstr ""
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' s’është simbol tasti funksioni"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "shumë zëra (%ld) në një rresht"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Po ngarkohet %s"
> @@ -756,12 +761,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "Nuk mbulohet\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -822,7 +827,7 @@ msgstr[0] "# %d zë"
> msgstr[1] "# %d zëra"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1235,25 +1240,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "S’arrihet të gjendet urdhër."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "S’arrihet të ujdiset sesion i ri"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Po përdoret TV %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "S’hapet dot %s lexim/shkrim"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr ""
> @@ -1438,11 +1443,11 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Shumë kartela dhënie."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
>
> diff --git a/po/sr.po b/po/sr.po
> index 3012092..517414f 100644
> --- a/po/sr.po
> +++ b/po/sr.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd-2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-12-18 21:56+0100\n"
> "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
> "Language-Team: Serbian <(nothing)>\n"
> @@ -61,7 +61,7 @@ msgstr "Нема довољно аргумената."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -494,7 +494,12 @@ msgstr "не могу да свежем тастер %d на вредност %d
> msgid "Error writing map to file"
> msgstr "Грешка писања мапе у датотеку"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Не могу да уклоним ставку из дијакритичке табеле"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "немогуће: није мета?\n"
> @@ -577,12 +582,12 @@ msgstr "не могу да добавим симбол погршном врст
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "не могу да добавим симбол %d врсте погршним индексом: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "подразумевам „%s %s“"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "непозната сума тастера „%s“"
> @@ -697,12 +702,12 @@ msgstr "loadkeys: не знам како да саставим за „%s“"
> msgid "'%s' is not a function key symbol"
> msgstr "„%s“ није симбол тастера функције"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "превише (%ld) уноса у једном реду"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Учитавам „%s“"
> @@ -776,11 +781,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Конзола није у текстуалном режиму"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "високи словни ликови нису подржани"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Не могу да учитам такав словни лик са таквим издањем кернела"
>
> @@ -848,7 +853,7 @@ msgstr[1] "# %d уноса"
> msgstr[2] "# %d уноса"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1264,25 +1269,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr ""
> "вт %d је у употреби; наредба је прекинута; користите „%s -f“ за приморавање."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Не могу да нађем наредбу."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Не могу да подесим нову сесију"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Користим ВТ %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Не могу да отворим „%s“ ради писања/уписа"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Не могу да разместим конзолу %d"
> @@ -1493,11 +1498,11 @@ msgstr ""
> "поново поставља словни лик, величину и јуникод мапу екрана на подизне "
> "основности."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Превише улазних датотека."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Не могу да вратим и из РОМ-а знака и из датотеке. Словни лик није измењен."
> diff --git a/po/sv.po b/po/sv.po
> index 3acf482..2f2ee31 100644
> --- a/po/sv.po
> +++ b/po/sv.po
> @@ -11,7 +11,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-10-30 22:24+0100\n"
> "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
> "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
> @@ -63,7 +63,7 @@ msgstr "Inte tillräckligt med argument."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -502,7 +502,12 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Fel vid skrivning av avbildningen till en fil"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Kan inte ta bort ett element från tabellen över diakritiska tecken"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "omöjligt: inte meta?\n"
> @@ -585,12 +590,12 @@ msgstr "kan inte hämta symbol enligt fel typ: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "kan inte hämta symbol av typ %d enligt fel index: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "antar %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "okänd teckensymbol ”%s”"
> @@ -701,12 +706,12 @@ msgstr "loadkeys: vet inte hur man komponerar för %s"
> msgid "'%s' is not a function key symbol"
> msgstr "”%s” är inte en funktionstangentsymbol"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "för många (%ld) poster på en rad"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Laddar %s"
> @@ -780,11 +785,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Konsolen är inte i textläge"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "höga typsnitt stödjs ej"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Kan inte ladda ett sådant typsnitt med en sådan kärnversion"
>
> @@ -851,7 +856,7 @@ msgstr[0] "# %d post"
> msgstr[1] "# %d poster"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1263,25 +1268,25 @@ msgstr ""
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "vt %d används, kommandot avbrutet; använd ”%s -f” för att framtvinga."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Kunde inte hitta kommandot."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Kan inte sätta ny session"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Använder VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Kan inte öppna %s för läsning/skrivning"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Kunde inte avallokera konsol %d"
> @@ -1492,11 +1497,11 @@ msgstr ""
> "återställ skärmtypsnittet, storleken och unicode-avbildningen till "
> "startvärdena."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "För många indatafiler."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> "Kan inte både återställa från tecken-ROM och från fil. Typsnittet "
> diff --git a/po/tr.po b/po/tr.po
> index 3383695..90c6531 100644
> --- a/po/tr.po
> +++ b/po/tr.po
> @@ -5,7 +5,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 1.10\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2004-01-21 06:15+0300\n"
> "Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
> "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
> @@ -57,7 +57,7 @@ msgstr ""
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -491,7 +491,11 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "E$lem dosyaya yazilirken hata\n"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "imkansiz: meta degil?\n"
> @@ -574,12 +578,12 @@ msgstr ""
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr ""
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "iso-8859-1'deki %s oldugu varsayildi\n"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "'%s' sembolu bilinmiyor\n"
> @@ -687,12 +691,12 @@ msgstr ""
> msgid "'%s' is not a function key symbol"
> msgstr ""
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "Birle$tirilecek dosya sayisi cok fazla\n"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "%s okunurken hata\n"
> @@ -766,11 +770,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -837,7 +841,7 @@ msgstr[0] "girdi"
> msgstr[1] "girdi"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1271,26 +1275,26 @@ msgstr "openvt: sanal terminal (vt) %d serbest mi denetlenemiyor\n"
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "openvt: sanal terminal (vt) %d kullanimda; komut iptal edildi\n"
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr ""
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> #, fuzzy
> msgid "Unable to set new session"
> msgstr "openvt: yeni oturum (%s) ayarlanamiyor\n"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, fuzzy, c-format
> msgid "Using VT %s"
> msgstr "openvt: VT %s kullanarak\n"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, fuzzy, c-format
> msgid "Cannot open %s read/write"
> msgstr "openvt: %s oku/yaz kipinde acilamiyor (%s)\n"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, fuzzy, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "%s: %d konsolu kaldirilamadi\n"
> @@ -1497,12 +1501,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: cok fazla girdi dosyasi\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/uk.po b/po/uk.po
> index b05955c..7174ede 100644
> --- a/po/uk.po
> +++ b/po/uk.po
> @@ -7,7 +7,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.7-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2024-10-29 18:02+0200\n"
> "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
> "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
> @@ -63,7 +63,7 @@ msgstr "Недостатньо аргументів."
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -500,7 +500,12 @@ msgstr ""
> msgid "Error writing map to file"
> msgstr "Помилка запису у файл"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Не вдалося вилучити запис із таблиці діакритичних символів"
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "неможливо: не `meta'?\n"
> @@ -583,12 +588,12 @@ msgstr "не вдалося отримати символ за помилков
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "не вдалося отримати символ типу %d за помилковим індексом: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "припускаємо %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "невідомий символ клавіші «%s»"
> @@ -711,12 +716,12 @@ msgstr "loadkeys: невідомий спосіб створення сполу
> msgid "'%s' is not a function key symbol"
> msgstr "«%s» не є символом функціональної клавіші"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "занадто багато записів (%ld) в одному рядку"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "Завантажується «%s»"
> @@ -790,11 +795,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr "Консоль не перебуває у текстовому режимі"
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr "підтримки високих шрифтів не передбачено"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr "Не вдалося завантажити такий шрифт із такою версією ядра"
>
> @@ -863,7 +868,7 @@ msgstr[2] "# %d записів"
> msgstr[3] "# %d запис"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1278,25 +1283,25 @@ msgstr ""
> "vt %d вже використовується; виконання команди перервано; скористайтеся "
> "командою «%s -f» для встановлення у примусовому режимі."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Не вдалося знайти команду."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Не вдалося встановити новий сеанс"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Використовується ВТ %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "Не вдалося відкрити %s для читання або запису"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "не вдалося звільнити консоль %d"
> @@ -1509,11 +1514,11 @@ msgstr ""
> "відновити типові значення під час завантаження для шрифту екрана, розміру та "
> "схеми unicode."
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "Надто багато вхідних файлів."
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr "Не вдалося ставити шрифт одразу з ПЗУ, та з файла. Шрифт не змінено."
>
> diff --git a/po/vi.po b/po/vi.po
> index a4df83e..d149c02 100644
> --- a/po/vi.po
> +++ b/po/vi.po
> @@ -10,7 +10,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.0.4-rc1\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2016-12-28 13:46+0700\n"
> "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
> "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
> @@ -65,7 +65,7 @@ msgstr "Lỗi: không có đủ đối số.\n"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -510,7 +510,11 @@ msgstr "gặp lỗi khi tổ hợp phím %d với giá trị %d"
> msgid "Error writing map to file"
> msgstr "Lỗi ghi nhớ ánh xạ vào tập tin"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "không thể: không phải meta?\n"
> @@ -593,12 +597,12 @@ msgstr "không thể lấy ký hiệu bằng kiểu sai: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "không thể lấy ký hiệu của kiểu %d bằng chỉ số sai: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, fuzzy, c-format
> msgid "assuming %s %s"
> msgstr "coi là iso-8859-1 %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, fuzzy, c-format
> msgid "unknown keysym '%s'"
> msgstr "không rõ ký tự phím (keysym) “%s”\n"
> @@ -703,12 +707,12 @@ msgstr "loadkeys: không biết cách cấu tạo cho %s\n"
> msgid "'%s' is not a function key symbol"
> msgstr "“%s” không phải là một ký hiệu phím chức năng"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "quá nhiều (%d) mục nhập trên cùng một dòng"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, fuzzy, c-format
> msgid "Loading %s"
> msgstr "Đang nạp %s\n"
> @@ -782,11 +786,11 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> msgid "tall font not supported"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -854,7 +858,7 @@ msgid_plural "# %d entries"
> msgstr[0] "mục"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, fuzzy, c-format
> @@ -1297,25 +1301,25 @@ msgstr ""
> "vt %d đang được sử dụng; lệnh bị bãi bỏ; sử dụng “%s -f” để ép buộc thực "
> "hiện."
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "Không thể tìm thấy lệnh."
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "Không thể đặt phiên làm việc mới"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "Đang dùng VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "không thể mở %s để đọc/ghi"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "Không thể cấp phát lại console (thiết bị điều khiển) %d"
> @@ -1517,12 +1521,12 @@ msgstr ""
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> #, fuzzy
> msgid "Too many input files."
> msgstr "setfont: quá nhiều tập tin đầu vào\n"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr ""
> diff --git a/po/zh_CN.po b/po/zh_CN.po
> index 03127ad..bc1cfc9 100644
> --- a/po/zh_CN.po
> +++ b/po/zh_CN.po
> @@ -10,7 +10,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kbd 2.5-rc2\n"
> "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
> "PO-Revision-Date: 2022-06-30 11:35-0400\n"
> "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
> "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
> @@ -63,7 +63,7 @@ msgstr "参数不足。"
> #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
> #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
> #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
> #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
> #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
> #: src/totextmode.c:31
> @@ -492,7 +492,11 @@ msgstr "将键 %d 绑定到值 %d 失败"
> msgid "Error writing map to file"
> msgstr "将映射写入文件失败"
>
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
> #, c-format
> msgid "impossible: not meta?\n"
> msgstr "不可能:不是 meta 键?\n"
> @@ -575,12 +579,12 @@ msgstr "无法以错误的类型获取符号: %d"
> msgid "unable to get symbol of %d type by wrong index: %d"
> msgstr "无法以错误的索引获取 %d 类型的符号: %d"
>
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
> #, c-format
> msgid "assuming %s %s"
> msgstr "假定 %s %s"
>
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
> #, c-format
> msgid "unknown keysym '%s'"
> msgstr "未知的 keysym '%s'"
> @@ -685,12 +689,12 @@ msgstr "loadkeys: 不知道如何为 %s 进行组合\n"
> msgid "'%s' is not a function key symbol"
> msgstr "'%s' 不是一个功能键标志"
>
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
> #, fuzzy, c-format
> msgid "too many (%ld) entries on one line"
> msgstr "一行上存在太多的 ( %d 个) 条目"
>
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
> #, c-format
> msgid "Loading %s"
> msgstr "正在加载 %s"
> @@ -764,12 +768,12 @@ msgstr ""
> msgid "Console is not in text mode"
> msgstr ""
>
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
> #, fuzzy
> msgid "tall font not supported"
> msgstr "不支持\n"
>
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
> msgid "Unable to load such font with such kernel version"
> msgstr ""
>
> @@ -836,7 +840,7 @@ msgid_plural "# %d entries"
> msgstr[0] "个条目"
>
> #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
> #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
> #: src/psfxtable.c:143
> #, c-format
> @@ -1248,25 +1252,25 @@ msgstr "无法检查 VT %d 是否空闲;使用“%s -f”强制执行。"
> msgid "vt %d is in use; command aborted; use `%s -f' to force."
> msgstr "vt %d 正在使用中;命令已中止;使用“%s -f”强制执行。"
>
> -#: src/openvt.c:353
> +#: src/openvt.c:354
> msgid "Unable to find command."
> msgstr "无法找到命令。"
>
> -#: src/openvt.c:388
> +#: src/openvt.c:386
> msgid "Unable to set new session"
> msgstr "无法设置新的会话"
>
> -#: src/openvt.c:417
> +#: src/openvt.c:415
> #, c-format
> msgid "Using VT %s"
> msgstr "正在使用 VT %s"
>
> -#: src/openvt.c:423
> +#: src/openvt.c:421
> #, c-format
> msgid "Cannot open %s read/write"
> msgstr "无法打开 %s 以供读写"
>
> -#: src/openvt.c:470
> +#: src/openvt.c:468
> #, c-format
> msgid "Couldn't deallocate console %d"
> msgstr "无法回收控制台 %d"
> @@ -1459,11 +1463,11 @@ msgstr "Unicode 映射已附加\n"
> msgid "reset the screen font, size, and unicode map to the bootup defaults."
> msgstr ""
>
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
> msgid "Too many input files."
> msgstr "太多的输入文件。"
>
> -#: src/setfont.c:309
> +#: src/setfont.c:313
> #, fuzzy
> msgid "Cannot both restore from character ROM and from file. Font unchanged."
> msgstr "setfont: 无法既从字符 ROM 进行恢复又从文件进行恢复。字体不变。\n"
> diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c
> index 47df091..1a1050e 100644
> --- a/src/libkeymap/dump.c
> +++ b/src/libkeymap/dump.c
> @@ -223,6 +223,10 @@ int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd)
> unicode ? "uc" : "");
> for (i = 0; i < ctx->accent_table->count; i++) {
> kddiac = lk_array_get_ptr(ctx->accent_table, i);
> + if (!kddiac) {
> + ERR(ctx, _("impossible: unable to get item from the diacritical table"));
> + return -1;
> + }
>
> fprintf(fd, "\t{");
> outchar(fd, kddiac->diacr, 1);
> --
> 2.52.0
>
--
Rgrds, legion
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop
2026-02-14 23:08 ` Alexey Gladkov
@ 2026-02-15 8:04 ` Areg Krdyan
2026-02-15 17:49 ` Alexey Gladkov
0 siblings, 1 reply; 8+ messages in thread
From: Areg Krdyan @ 2026-02-15 8:04 UTC (permalink / raw)
To: Alexey Gladkov; +Cc: kbd
Thanks for the reply! All the changes that I made were done by myself.
I am currently undergoing an internship at Redsoft and my task is to
check the output of the static analyzer for kbd. I also wanted to fix
these static analyzer calls, some of them have already been fixed. Not
all of them are real errors, but they can help to detect the error
when changing the code.
Such checks are already in the project. Eg:
for (t = 0; t < MAX_NR_KEYMAPS; t++) { // libkeymap/kernel.c:24
if (t > UCHAR_MAX) {
ERR(ctx, _("table %d must be less than %d"), t, UCHAR_MAX);
return -1;
}
.....
}
With these constants, the error will never be triggered, since
MAX_NR_KEYMAPS = 256 and UCHAR_MAX = 255. But in the future, when
changing MAX_NR_KEYMAPS, it will be useful to have a check to detect
an error.
Please let me know if patches of this kind are not needed.
Thanks again for your time.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] libkeymap: prevent NULL dereference in parser
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
` (2 preceding siblings ...)
2026-02-14 17:27 ` [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop Krdyan Areg
@ 2026-02-15 17:34 ` Alexey Gladkov
3 siblings, 0 replies; 8+ messages in thread
From: Alexey Gladkov @ 2026-02-15 17:34 UTC (permalink / raw)
To: Krdyan Areg; +Cc: kbd
On Sat, Feb 14, 2026 at 08:27:30PM +0300, Krdyan Areg wrote:
> The parser accesses ctx->key_line array elements without checking if
> lk_array_get() returns NULL, which can lead to crashes.
>
> Add NULL checks before dereferencing array values.
>
> Signed-off-by: Krdyan Areg areg.krdian@gmail.com
> ---
> src/libkeymap/parser.y | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/libkeymap/parser.y b/src/libkeymap/parser.y
> index 2cd509f..a87fb54 100644
> --- a/src/libkeymap/parser.y
> +++ b/src/libkeymap/parser.y
> @@ -320,6 +320,9 @@ singleline : KEYCODE NUMBER EQUALS rvalue0 EOL
>
> if (i < ctx->key_line->count) {
> val = lk_array_get(ctx->key_line, i);
> + if (!val)
> + YYERROR;
> +
I do not think this change is needed right now. In these parser paths,
lk_array_get() is used with indices bounded by ctx->key_line->count, and
count is built only through lk_array_append().
I already fixed in master the real failure by checking lk_array_append()
and aborting on OOM.
So this patch mostly adds defensive checks for an internal-corruption
scenario, rather than fixing a practical bug in normal execution.
> keycode = *val;
> }
>
> @@ -338,7 +341,7 @@ singleline : KEYCODE NUMBER EQUALS rvalue0 EOL
> for (i = 0; i < ctx->key_line->count; i++) {
> val = lk_array_get(ctx->key_line, i);
>
> - if (lk_add_key(ctx, i, $2, *val) < 0)
> + if (!val || lk_add_key(ctx, i, $2, *val) < 0)
> YYERROR;
> }
> }
> --
> 2.52.0
>
--
Rgrds, legion
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop
2026-02-15 8:04 ` Areg Krdyan
@ 2026-02-15 17:49 ` Alexey Gladkov
0 siblings, 0 replies; 8+ messages in thread
From: Alexey Gladkov @ 2026-02-15 17:49 UTC (permalink / raw)
To: Areg Krdyan; +Cc: kbd
On Sun, Feb 15, 2026 at 11:04:05AM +0300, Areg Krdyan wrote:
> Thanks for the reply! All the changes that I made were done by myself.
>
> I am currently undergoing an internship at Redsoft and my task is to
> check the output of the static analyzer for kbd. I also wanted to fix
> these static analyzer calls, some of them have already been fixed. Not
> all of them are real errors, but they can help to detect the error
> when changing the code.
That's good, but the desire to satisfy the static analyzer should not be
the only reason for making changes. Especially if the analyzer clearly
does not fully understand the code.
> Such checks are already in the project. Eg:
> for (t = 0; t < MAX_NR_KEYMAPS; t++) { // libkeymap/kernel.c:24
> if (t > UCHAR_MAX) {
> ERR(ctx, _("table %d must be less than %d"), t, UCHAR_MAX);
> return -1;
> }
> .....
> }
> With these constants, the error will never be triggered, since
> MAX_NR_KEYMAPS = 256 and UCHAR_MAX = 255. But in the future, when
> changing MAX_NR_KEYMAPS, it will be useful to have a check to detect
> an error.
The check for UCHAR_MAX here is not because of MAX_NR_KEYMAPS, but because
KDGKBENT/KDSKBENT use struct kbentry, which defines kb_table as unsigned
char. This cannot be changed because it is part of the Linux kernel API.
>
> Please let me know if patches of this kind are not needed.
> Thanks again for your time.
>
--
Rgrds, legion
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-02-15 17:49 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
2026-02-14 17:27 ` [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname Krdyan Areg
2026-02-14 17:27 ` [PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup Krdyan Areg
2026-02-14 17:27 ` [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop Krdyan Areg
2026-02-14 23:08 ` Alexey Gladkov
2026-02-15 8:04 ` Areg Krdyan
2026-02-15 17:49 ` Alexey Gladkov
2026-02-15 17:34 ` [PATCH 1/4] libkeymap: prevent NULL dereference in parser Alexey Gladkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox