Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,21 @@ import {
ContextualbarDialog,
} from '../../../../components/Contextualbar';

let os = 'unknown';

if (navigator.userAgentData && navigator.userAgentData.platform) {
os = navigator.userAgentData.platform.toLowerCase();
} else {
// Fallback for Firefox, Safari, older browsers
const ua = navigator.userAgent.toLowerCase();

if (ua.includes("win")) os = "windows";
else if (ua.includes("mac")) os = "macos";
else if (ua.includes("linux")) os = "linux";
else if (ua.includes("android")) os = "android";
else if (ua.includes("iphone") || ua.includes("ipad")) os = "ios";
}

const KeyboardShortcuts = ({ handleClose }: { handleClose: () => void }): ReactElement => {
const { t } = useTranslation();

Expand All @@ -23,13 +38,13 @@ const KeyboardShortcuts = ({ handleClose }: { handleClose: () => void }): ReactE
{handleClose && <ContextualbarClose onClick={handleClose} />}
</ContextualbarHeader>
<ContextualbarScrollableContent>
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Open_Channel_Slash_User_Search')} command={t('Keyboard_Shortcuts_Keys_1')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Mark_all_as_read')} command={t('Keyboard_Shortcuts_Keys_8')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Open_Channel_Slash_User_Search')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_1_mac') : t('Keyboard_Shortcuts_Keys_1_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Mark_all_as_read')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_8_mac') : t('Keyboard_Shortcuts_Keys_8_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Edit_Previous_Message')} command={t('Keyboard_Shortcuts_Keys_2')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_Beginning_Of_Message')} command={t('Keyboard_Shortcuts_Keys_3')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_Beginning_Of_Message')} command={t('Keyboard_Shortcuts_Keys_4')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_End_Of_Message')} command={t('Keyboard_Shortcuts_Keys_5')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_End_Of_Message')} command={t('Keyboard_Shortcuts_Keys_6')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_Beginning_Of_Message')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_3_mac') : t('Keyboard_Shortcuts_Keys_3_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_Beginning_Of_Message')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_4_mac') : t('Keyboard_Shortcuts_Keys_4_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_End_Of_Message')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_5_mac') : t('Keyboard_Shortcuts_Keys_5_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_Move_To_End_Of_Message')} command={os === 'macos' || os === 'macintel' || os === 'macintosh' ? t('Keyboard_Shortcuts_Keys_6_mac') : t('Keyboard_Shortcuts_Keys_6_win')} />
<KeyboardShortcutSection title={t('Keyboard_Shortcuts_New_Line_In_Message')} command={t('Keyboard_Shortcuts_Keys_7')} />
</ContextualbarScrollableContent>
</ContextualbarDialog>
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/af.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1204,12 +1204,17 @@
"Katex_Parenthesis_Syntax_Description": "Laat die gebruik van \\ [katex block \\] en \\ (inline katex \\) sintaksis toe",
"Keep_default_user_settings": "Hou die verstek instellings",
"Keyboard_Shortcuts_Edit_Previous_Message": "Wysig vorige boodskap",
"Keyboard_Shortcuts_Keys_1": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_mac": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_2": "Boontoe arrow",
"Keyboard_Shortcuts_Keys_3": "Opdrag(of Alt) + Linkerpyltjie",
"Keyboard_Shortcuts_Keys_4": "Opdrag(of Alt) + Op Arrow",
"Keyboard_Shortcuts_Keys_5": "Opdrag(of Alt) + Regterpyltjie",
"Keyboard_Shortcuts_Keys_6": "Opdrag(of Alt) + Onderpyl",
"Keyboard_Shortcuts_Keys_3_mac": "Opdrag + Linkerpyltjie",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Linkerpyltjie",
"Keyboard_Shortcuts_Keys_4_mac": "Opdrag + Op Arrow",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Op Arrow",
"Keyboard_Shortcuts_Keys_5_mac": "Opdrag + Regterpyltjie",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Regterpyltjie",
"Keyboard_Shortcuts_Keys_6_mac": "Opdrag + Onderpyl",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Onderpyl",
"Keyboard_Shortcuts_Keys_7": "Skuif+ Gee",
Comment on lines +1207 to 1218
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Do not manually update non-English locale files—only en.i18n.json should be modified.

Per the repository workflow, new translation keys should only be added to packages/i18n/src/locales/en.i18n.json. Other locale files like Afrikaans (af.i18n.json) are populated via the external translation pipeline or fall back to English entries. Manually adding keys to non-English files circumvents this process and creates maintenance burden.

Recommended action: Remove all keyboard shortcut key additions from this file and ensure they exist only in en.i18n.json. The translation pipeline will propagate them to other locales.

Based on learnings: In this repository, new translation keys should be added to packages/i18n/src/locales/en.i18n.json only; other locale files are populated via the external translation pipeline and/or fall back to English.

🤖 Prompt for AI Agents
In packages/i18n/src/locales/af.i18n.json around lines 1207 to 1218, this
Afrikaans file contains manually added keyboard shortcut keys that should not be
edited directly; remove the newly added keys (the Keyboard_Shortcuts_Keys_*
entries) from this file so only en.i18n.json contains the new translation keys,
and ensure any corresponding entries are added to
packages/i18n/src/locales/en.i18n.json instead so the translation pipeline can
propagate them to other locales.

"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Skuif na die begin van die boodskap",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Skuif na die einde van die boodskap",
Expand Down
18 changes: 12 additions & 6 deletions packages/i18n/src/locales/ar.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -2004,14 +2004,20 @@
"Katex_Parenthesis_Syntax_Description": "السماح باستخدام صيغتَي \\[katex block\\] و\\(inline katex\\)",
"Keep_default_user_settings": "الاحتفاظ بالإعدادات الافتراضية",
"Keyboard_Shortcuts_Edit_Previous_Message": "تحرير الرسالة السابقة",
"Keyboard_Shortcuts_Keys_1": "أمر (أو Ctrl) + p أو أمر (أو Ctrl) + k",
"Keyboard_Shortcuts_Keys_1_mac": "أمر + p أو أمر + k",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl + p أو Ctrl + k",
"Keyboard_Shortcuts_Keys_2": "سهم لأعلى",
"Keyboard_Shortcuts_Keys_3": "أمر (أو Alt) + سهم لليسار",
"Keyboard_Shortcuts_Keys_4": "أمر (أو Alt) + سهم لأعلى",
"Keyboard_Shortcuts_Keys_5": "أمر (أو Alt) + سهم لليمين",
"Keyboard_Shortcuts_Keys_6": "أمر (أو Alt) + سهم لأسفل",
"Keyboard_Shortcuts_Keys_3_mac": "أمر + سهم لليسار",
"Keyboard_Shortcuts_Keys_3_win": "Alt + سهم لليسار",
"Keyboard_Shortcuts_Keys_4_mac": "أمر + سهم لأعلى",
"Keyboard_Shortcuts_Keys_4_win": "Alt + سهم لأعلى",
"Keyboard_Shortcuts_Keys_5_mac": "أمر + سهم لليمين",
"Keyboard_Shortcuts_Keys_5_win": "Alt + سهم لليمين",
"Keyboard_Shortcuts_Keys_6_mac": "أمر + سهم لأسفل",
"Keyboard_Shortcuts_Keys_6_win": "Alt + سهم لأسفل",
"Keyboard_Shortcuts_Keys_7": "Shift + Enter",
"Keyboard_Shortcuts_Keys_8": "Shift (أو Ctrl) + ESC",
"Keyboard_Shortcuts_Keys_8_mac": "Shift + ESC",
"Keyboard_Shortcuts_Keys_8_win": "Ctrl + ESC",
"Keyboard_Shortcuts_Mark_all_as_read": "وضع علامة على كل الرسائل (في كل القنوات) كمقروءة",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "الانتقال إلى بداية الرسالة",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "الانتقال إلى نهاية الرسالة",
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/az.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1204,12 +1204,17 @@
"Katex_Parenthesis_Syntax_Description": "\\ [Katex blok \\] və \\ (inline katex \\) sözdizimlərini istifadə etməyə icazə verin",
"Keep_default_user_settings": "Varsayılan parametrləri saxlayın",
"Keyboard_Shortcuts_Edit_Previous_Message": "Əvvəlki mesajı redaktə edin",
"Keyboard_Shortcuts_Keys_1": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_mac": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_2": "Yuxarı Ok",
"Keyboard_Shortcuts_Keys_3": "Komut(və ya Alt) + Sol Ok",
"Keyboard_Shortcuts_Keys_4": "Komut(və ya Alt) + Yuxarıdakı",
"Keyboard_Shortcuts_Keys_5": "Command(və ya Alt) + Sağ Ok",
"Keyboard_Shortcuts_Keys_6": "Komut(və ya Alt) + Aşağı Ok",
"Keyboard_Shortcuts_Keys_3_mac": "Komut + Sol Ok",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Sol Ok",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Inconsistent terminology for modifier keys: "Komut" vs "Command".

The translations use both "Komut" (Azerbaijani for Command) and "Command" (English) for the same modifier key. Line 1211 uses "Komut", line 1215 uses "Command", and line 1217 uses "Komut" again. This inconsistency breaks the localization quality. All should use the same Azerbaijani term.

Also applies to: 1215-1215, 1217-1217

🤖 Prompt for AI Agents
In packages/i18n/src/locales/az.i18n.json around lines 1211, 1215 and 1217, the
modifier key terminology is inconsistent (mixing "Komut" and "Command"); update
lines 1215 and any other entries nearby that use the English "Command" to the
Azerbaijani "Komut" so all modifier key labels consistently use "Komut" across
the file.

"Keyboard_Shortcuts_Keys_4_mac": "Komut + Yuxarıdakı",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Yuxarıdakı",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Incomplete translation text: missing key name suffix.

Line 1213 reads "Komut + Yuxarıdakı" but appears incomplete. Comparing with adjacent shortcuts (lines 1211, 1214, 1216, 1217), the pattern includes the key type suffix (e.g., "Ok" meaning arrow/key). Line 1213 should likely be "Komut + Yuxarı Ok" or similar for consistency.

🤖 Prompt for AI Agents
In packages/i18n/src/locales/az.i18n.json around line 1213, the translation
value is missing the key-type suffix and should match the pattern used by
adjacent entries; replace the incomplete "Alt + Yuxarıdakı"/"Komut + Yuxarıdakı"
text with the complete form "Komut + Yuxarı Ok" (ensure consistent spacing and
capitalization) so it aligns with nearby shortcut entries.

"Keyboard_Shortcuts_Keys_5_mac": "Command + Sağ Ok",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Sağ Ok",
"Keyboard_Shortcuts_Keys_6_mac": "Komut + Aşağı Ok",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Aşağı Ok",
"Keyboard_Shortcuts_Keys_7": "Shift+ Giriş",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Mesajın başlanğıcına keçin",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Mesajın sonuna keçin",
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/be-BY.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1221,12 +1221,17 @@
"Katex_Parenthesis_Syntax_Description": "Дазволіць выкарыстанне \\ [Katex блок \\] і \\ (убудаваны Katex \\) сінтаксісу",
"Keep_default_user_settings": "Пакіньце налады па змаўчанні",
"Keyboard_Shortcuts_Edit_Previous_Message": "Рэдагаваць папярэдняе паведамленне",
"Keyboard_Shortcuts_Keys_1": "Каманда (або CTRL ) + p АБО Каманда (або CTRL ) + k ",
"Keyboard_Shortcuts_Keys_1_mac": "Каманда + p АБО Каманда + k ",
"Keyboard_Shortcuts_Keys_1_win": "CTRL + p АБО CTRL + k ",
"Keyboard_Shortcuts_Keys_2": "Стрэлка ўверх",
"Keyboard_Shortcuts_Keys_3": "Каманда(ці Alt) + Стрэлка налева",
"Keyboard_Shortcuts_Keys_4": "Каманда(ці Alt) + Стрэлка ўверх",
"Keyboard_Shortcuts_Keys_5": "Каманда(ці Alt) + Стрэлка ўправа",
"Keyboard_Shortcuts_Keys_6": "Каманда(ці Alt) + Стрэлка ўніз",
"Keyboard_Shortcuts_Keys_3_mac": "Каманда + Стрэлка налева",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Стрэлка налева",
"Keyboard_Shortcuts_Keys_4_mac": "Каманда + Стрэлка ўверх",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Стрэлка ўверх",
"Keyboard_Shortcuts_Keys_5_mac": "Каманда + Стрэлка ўправа",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Стрэлка ўправа",
"Keyboard_Shortcuts_Keys_6_mac": "Каманда + Стрэлка ўніз",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Стрэлка ўніз",
"Keyboard_Shortcuts_Keys_7": "Зрух+ Enter",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Пераход да пачатку паведамлення",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Перамясціць у канец паведамлення",
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/bg.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1202,12 +1202,17 @@
"Katex_Parenthesis_Syntax_Description": "Позволете да използвате \\ [katex block \\] и \\ (inline katex \\) синтаксиси",
"Keep_default_user_settings": "Поддържайте настройките по подразбиране",
"Keyboard_Shortcuts_Edit_Previous_Message": "Редактиране на предишното съобщение",
"Keyboard_Shortcuts_Keys_1": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_mac": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_2": "Стрелка нагоре",
"Keyboard_Shortcuts_Keys_3": "Команда(или Alt) + Стрелка наляво",
"Keyboard_Shortcuts_Keys_4": "Команда(или Alt) + Стрелка нагоре",
"Keyboard_Shortcuts_Keys_5": "Команда(или Alt) + Стрелка надясно",
"Keyboard_Shortcuts_Keys_6": "Команда(или Alt) + Стрелка надолу",
"Keyboard_Shortcuts_Keys_3_mac": "Команда + Стрелка наляво",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Стрелка наляво",
"Keyboard_Shortcuts_Keys_4_mac": "Команда + Стрелка нагоре",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Стрелка нагоре",
"Keyboard_Shortcuts_Keys_5_mac": "Команда + Стрелка надясно",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Стрелка надясно",
"Keyboard_Shortcuts_Keys_6_mac": "Команда + Стрелка надолу",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Стрелка надолу",
"Keyboard_Shortcuts_Keys_7": "Shift+ Въведете",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Преместване в началото на съобщението",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Преместете се до края на съобщението",
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/bs.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1200,12 +1200,17 @@
"Katex_Parenthesis_Syntax_Description": "Dopusti korištenje \\[katex blokova\\] i \\(inline katex\\) sintakse",
"Keep_default_user_settings": "Zadržite zadane postavke",
"Keyboard_Shortcuts_Edit_Previous_Message": "Uredi prethodnu poruku",
"Keyboard_Shortcuts_Keys_1": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_mac": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_2": "strelica gore",
"Keyboard_Shortcuts_Keys_3": "Naredba(ili Alt) + Strelica lijevo",
"Keyboard_Shortcuts_Keys_4": "Naredba(ili Alt) + strelica gore",
"Keyboard_Shortcuts_Keys_5": "Naredba(ili Alt) + Desna strelica",
"Keyboard_Shortcuts_Keys_6": "Naredba(ili Alt) + strelica dolje",
"Keyboard_Shortcuts_Keys_3_mac": "Naredba + Strelica lijevo",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Strelica lijevo",
"Keyboard_Shortcuts_Keys_4_mac": "Naredba + strelica gore",
"Keyboard_Shortcuts_Keys_4_win": "Alt + strelica gore",
"Keyboard_Shortcuts_Keys_5_mac": "Naredba + Desna strelica",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Desna strelica",
"Keyboard_Shortcuts_Keys_6_mac": "Naredba + strelica dolje",
"Keyboard_Shortcuts_Keys_6_win": "Alt + strelica dolje",
"Keyboard_Shortcuts_Keys_7": "Shift+ Unesite",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Pomaknite se na početak poruke",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Pomaknite se do kraja poruke",
Expand Down
18 changes: 12 additions & 6 deletions packages/i18n/src/locales/ca.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1978,14 +1978,20 @@
"Katex_Parenthesis_Syntax_Description": "Permetre l'ús de \\ [bloc katex \\] \\ sintaxi i (en línia katex \\)",
"Keep_default_user_settings": "Manteniu la configuració predeterminada",
"Keyboard_Shortcuts_Edit_Previous_Message": "Edita missatge anterior",
"Keyboard_Shortcuts_Keys_1": "Comand (o Ctrl ) + p o Command (o Ctrl ) + k ",
"Keyboard_Shortcuts_Keys_1_mac": "Command + p o Command + k ",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl + p o Ctrl + k ",
"Keyboard_Shortcuts_Keys_2": "Fletxa amunt",
"Keyboard_Shortcuts_Keys_3": "Cmd (o Alt) + Fletxa esquerra",
"Keyboard_Shortcuts_Keys_4": "Cmd (o Alt) + Fletxa amunt",
"Keyboard_Shortcuts_Keys_5": "Cmd (o Alt) + Fletxa dreta",
"Keyboard_Shortcuts_Keys_6": "Cmd (o Alt) + Fletxa avall",
"Keyboard_Shortcuts_Keys_3_mac": "Cmd + Fletxa esquerra",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Fletxa esquerra",
"Keyboard_Shortcuts_Keys_4_mac": "Cmd + Fletxa amunt",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Fletxa amunt",
"Keyboard_Shortcuts_Keys_5_mac": "Cmd + Fletxa dreta",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Fletxa dreta",
"Keyboard_Shortcuts_Keys_6_mac": "Cmd + Fletxa avall",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Fletxa avall",
"Keyboard_Shortcuts_Keys_7": "Shift + Enter",
"Keyboard_Shortcuts_Keys_8": "Shift (or Ctrl) + ESC",
"Keyboard_Shortcuts_Keys_8_mac": "Shift + ESC",
"Keyboard_Shortcuts_Keys_8_win": "Ctrl + ESC",
"Keyboard_Shortcuts_Mark_all_as_read": "Marca tots els missatges (en tots els canals) com a llegits",
Comment on lines +1994 to 1995
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find KeyboardShortcuts component
fd -type f 'KeyboardShortcuts\.' --extension tsx --extension ts

Repository: RocketChat/Rocket.Chat

Length of output: 188


🏁 Script executed:

#!/bin/bash
# Search for Keys_8 references in the codebase
rg -n 'Keys_8' --type=ts --type=tsx --type=json

Repository: RocketChat/Rocket.Chat

Length of output: 188


🏁 Script executed:

#!/bin/bash
# Check casing patterns in the ca.i18n.json file around the problematic lines
sed -n '1990,2000p' packages/i18n/src/locales/ca.i18n.json

Repository: RocketChat/Rocket.Chat

Length of output: 188


🏁 Script executed:

#!/bin/bash
# Look for keyboard binding implementation and Esc/Escape handling
rg -n -C3 'Escape|ESC|Esc' packages/i18n/src/locales/ca.i18n.json | head -50

Repository: RocketChat/Rocket.Chat

Length of output: 188


🌐 Web query:

Ctrl+Esc Windows reserved keyboard shortcut

💡 Result:

Yes — Ctrl+Esc is a built‑in Windows shell shortcut that opens the Start menu / Start screen and is treated as a reserved/system key combination. (learn.microsoft.com)

Citations:


🌐 Web query:

Windows keyboard shortcuts Ctrl+Esc intercepted by OS

💡 Result:

Short answer: Ctrl+Esc is a predefined system (shell) key combination that Windows handles at a low level (so it’s normally intercepted by the OS before an app’s normal message queue). That’s why apps don’t reliably receive or block it. You can only override it with special mechanisms (low-level keyboard hooks are possible but time‑limited and discouraged; enterprise/OS features such as the Keyboard Filter / WEKF PredefinedKey API or policy can block predefined keys). [1][2][4][5]

Key points and sources:

  • Ctrl+Esc is a predefined shell key (opens Start) and is handled by the OS. Apps don’t get the normal thread messages for it. [1][4][5]
  • WH_KEYBOARD_LL (low-level hook) can see/consume such keys, but Windows enforces a timeout on low-level hooks and the system will ignore hooks that hang — so this is fragile and restricted. (See MSDN/MSDN‑magazine explanation). [2][5]
  • For managed blocking in kiosk/enterprise scenarios, Windows provides keyboard-filter / WEKF_PredefinedKey APIs (and related configuration) to disable predefined combinations like Ctrl+Esc. [1][4]

If you want, I can:

  • show a short example of a WH_KEYBOARD_LL hook and explain the timeout/registry setting (LowLevelHooksTimeout), or
  • show how to configure the WEKF_PredefinedKey / keyboard filter for kiosk/enterprise use.

Change "Ctrl + ESC" to a non-reserved keyboard combo on Windows.

Ctrl+Esc is a predefined Windows system shortcut that opens the Start menu. The OS intercepts this key combination at a low level before applications receive it, so users cannot reliably trigger this binding. Either choose a different key combination for Windows or standardize the casing to "Esc" if keeping the current binding. Also ensure consistent "Esc" casing across all key definitions in this locale file.

🤖 Prompt for AI Agents
In packages/i18n/src/locales/ca.i18n.json around lines 1994-1995, the Windows
binding "Ctrl + ESC" uses a reserved OS shortcut — replace it with a
non-reserved combo (for example "Ctrl + Shift + K" or another app-specific
combo) by updating the value for "Keyboard_Shortcuts_Keys_8_win", and normalize
the Esc casing to "Esc" (ensure all key definitions in this locale use the same
"Esc" capitalization) so the locale file is consistent and the shortcut is
reliably usable on Windows.

"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Moure's al principi del missatge",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Moure's al final del missatge",
Expand Down
18 changes: 12 additions & 6 deletions packages/i18n/src/locales/cs.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1702,14 +1702,20 @@
"Katex_Parenthesis_Syntax_Description": "Povolit použití \\[katex block\\] a \\(inline katex\\) syntaxi",
"Keep_default_user_settings": "Zachovat výchozí nastavení",
"Keyboard_Shortcuts_Edit_Previous_Message": "Upravit předchozí zprávu",
"Keyboard_Shortcuts_Keys_1": "Command (nebo Ctrl ) + p NEBO Command (nebo Ctrl ) + k ",
"Keyboard_Shortcuts_Keys_1_mac": "Command + p NEBO Command + k ",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl + p NEBO Ctrl + k ",
"Keyboard_Shortcuts_Keys_2": "Šipka nahoru",
"Keyboard_Shortcuts_Keys_3": "Command(nebo Alt) + šipka doleva",
"Keyboard_Shortcuts_Keys_4": "Command(nebo Alt) + šipka nahoru",
"Keyboard_Shortcuts_Keys_5": "Command(nebo Alt) + šipka doprava",
"Keyboard_Shortcuts_Keys_6": "Command(nebo Alt) + šipka dolů",
"Keyboard_Shortcuts_Keys_3_mac": "Command + šipka doleva",
"Keyboard_Shortcuts_Keys_3_win": "Alt + šipka doleva",
"Keyboard_Shortcuts_Keys_4_mac": "Command + šipka nahoru",
"Keyboard_Shortcuts_Keys_4_win": "Alt + šipka nahoru",
"Keyboard_Shortcuts_Keys_5_mac": "Command + šipka doprava",
"Keyboard_Shortcuts_Keys_5_win": "Alt + šipka doprava",
"Keyboard_Shortcuts_Keys_6_mac": "Command + šipka dolů",
"Keyboard_Shortcuts_Keys_6_win": "Alt + šipka dolů",
"Keyboard_Shortcuts_Keys_7": "Shift+Enter",
"Keyboard_Shortcuts_Keys_8": "Shift (nebo Ctrl) + ESC",
"Keyboard_Shortcuts_Keys_8_mac": "Shift + ESC",
"Keyboard_Shortcuts_Keys_8_win": "Ctrl + ESC",
"Keyboard_Shortcuts_Mark_all_as_read": "Označit všechny zprávy (na všech kanálech) jako přečtené",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Přesunout na začátek zprávy",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Přesunout na konec zprávy",
Expand Down
15 changes: 10 additions & 5 deletions packages/i18n/src/locales/cy.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1200,12 +1200,17 @@
"Katex_Parenthesis_Syntax_Description": "Caniatáu defnyddio cystrawen \\ [katex block] a \\ (inline katex \\)",
"Keep_default_user_settings": "Cadwch y gosodiadau diofyn",
"Keyboard_Shortcuts_Edit_Previous_Message": "Golygu neges flaenorol",
"Keyboard_Shortcuts_Keys_1": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_mac": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl+ p",
"Keyboard_Shortcuts_Keys_2": "Up Arrow",
"Keyboard_Shortcuts_Keys_3": "Command(neu Alt) + Left Left",
"Keyboard_Shortcuts_Keys_4": "Command(neu Alt) + Up Arrow",
"Keyboard_Shortcuts_Keys_5": "Command(neu Alt) + Right Arrow",
"Keyboard_Shortcuts_Keys_6": "Command(neu Alt) + Down Arrow",
"Keyboard_Shortcuts_Keys_3_mac": "Command + Left Left",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix duplicated "Left" text in arrow key shortcuts.

Lines 1206 and 1207 both contain "Left Left" which appears to be a copy-paste error:

  • "Command + Left Left" (Keys_3_mac)
  • "Alt + Left Left" (Keys_3_win)

These should likely be:

-  "Keyboard_Shortcuts_Keys_3_mac": "Command + Left Left",
+  "Keyboard_Shortcuts_Keys_3_mac": "Command + Left",
-  "Keyboard_Shortcuts_Keys_3_win": "Alt + Left Left",
+  "Keyboard_Shortcuts_Keys_3_win": "Alt + Left",

Or if the intention is to spell out "Arrow":

-  "Keyboard_Shortcuts_Keys_3_mac": "Command + Left Left",
+  "Keyboard_Shortcuts_Keys_3_mac": "Command + Left Arrow",

Also applies to: 1207-1207

🤖 Prompt for AI Agents
In packages/i18n/src/locales/cy.i18n.json around lines 1206-1207, both
"Keyboard_Shortcuts_Keys_3_mac" and "Keyboard_Shortcuts_Keys_3_win" contain a
duplicated "Left Left" token due to a copy/paste error; update those entries to
remove the duplicate so they read "Command + Left" for mac and "Alt + Left" for
win (or if the project prefers explicit naming use "Left Arrow" instead of
"Left"), keeping the rest of the string intact and preserving JSON formatting.

"Keyboard_Shortcuts_Keys_3_win": "Alt + Left Left",
"Keyboard_Shortcuts_Keys_4_mac": "Command + Up Arrow",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Up Arrow",
"Keyboard_Shortcuts_Keys_5_mac": "Command + Right Arrow",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Right Arrow",
"Keyboard_Shortcuts_Keys_6_mac": "Command + Down Arrow",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Down Arrow",
"Keyboard_Shortcuts_Keys_7": "Shift+ Rhowch",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Symudwch i ddechrau'r neges",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Symudwch i ddiwedd y neges",
Expand Down
18 changes: 12 additions & 6 deletions packages/i18n/src/locales/da.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1781,14 +1781,20 @@
"Katex_Parenthesis_Syntax_Description": "Tillad brug af \\[katex block\\] og \\(inline katex\\) syntakser",
"Keep_default_user_settings": "Behold standardindstillingerne",
"Keyboard_Shortcuts_Edit_Previous_Message": "Rediger tidligere besked",
"Keyboard_Shortcuts_Keys_1": "Command (eller Ctrl) + p ELLER Command (eller Ctrl) + k",
"Keyboard_Shortcuts_Keys_1_mac": "Command + p ELLER Command + k",
"Keyboard_Shortcuts_Keys_1_win": "Ctrl + p ELLER Ctrl + k",
"Keyboard_Shortcuts_Keys_2": "Pil op",
"Keyboard_Shortcuts_Keys_3": "Command(eller Alt) + Venstrepil",
"Keyboard_Shortcuts_Keys_4": "Command(eller Alt) + Pil op",
"Keyboard_Shortcuts_Keys_5": "Command(eller Alt) + Højre pil",
"Keyboard_Shortcuts_Keys_6": "Command(eller Alt) + Pil ned",
"Keyboard_Shortcuts_Keys_3_mac": "Command + Venstrepil",
"Keyboard_Shortcuts_Keys_3_win": "Alt + Venstrepil",
"Keyboard_Shortcuts_Keys_4_mac": "Command + Pil op",
"Keyboard_Shortcuts_Keys_4_win": "Alt + Pil op",
"Keyboard_Shortcuts_Keys_5_mac": "Command + Højre pil",
"Keyboard_Shortcuts_Keys_5_win": "Alt + Højre pil",
"Keyboard_Shortcuts_Keys_6_mac": "Command + Pil ned",
"Keyboard_Shortcuts_Keys_6_win": "Alt + Pil ned",
"Keyboard_Shortcuts_Keys_7": "Shift+ Enter",
"Keyboard_Shortcuts_Keys_8": "Shift (eller Ctrl) + ESC",
"Keyboard_Shortcuts_Keys_8_mac": "Shift + ESC",
"Keyboard_Shortcuts_Keys_8_win": "Ctrl + ESC",
"Keyboard_Shortcuts_Mark_all_as_read": "Markér alle beskeder (i alle kanaler) som læst",
"Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Flyt til begyndelsen af meddelelsen",
"Keyboard_Shortcuts_Move_To_End_Of_Message": "Flyt til slutningen af meddelelsen",
Expand Down
Loading