Macrame/be/app/helper/translation-helper.go
2025-04-28 10:20:13 +02:00

107 lines
3.1 KiB
Go

package helper
import (
"strings"
)
func Translate(code string) string {
translations := map[string]string{
"ArrowUp": "up",
"ArrowDown": "down",
"ArrowRight": "right",
"ArrowLeft": "left",
"Meta": "cmd",
"MetaLeft": "lcmd",
"MetaRight": "rcmd",
"Alt": "alt",
"AltLeft": "lalt",
"AltRight": "ralt",
"Control": "ctrl",
"ControlLeft": "lctrl",
"ControlRight": "rctrl",
"Shift": "shift",
"ShiftLeft": "lshift",
"ShiftRight": "rshift",
"AudioVolumeMute": "audio_mute",
"AudioVolumeDown": "audio_vol_down",
"AudioVolumeUp": "audio_vol_up",
"MediaTrackPrevious": "audio_prev",
"MediaTrackNext": "audio_next",
"MediaPlayPause": "audio_play|audio_pause",
"Numpad0": "num0",
"Numpad1": "num1",
"Numpad2": "num2",
"Numpad3": "num3",
"Numpad4": "num4",
"Numpad5": "num5",
"Numpad6": "num6",
"Numpad7": "num7",
"Numpad8": "num8",
"Numpad9": "num9",
"NumLock": "num_lock",
"NumpadDecimal": "num.",
"NumpadAdd": "num+",
"NumpadSubtract": "num-",
"NumpadMultiply": "num*",
"NumpadDivide": "num/",
"NumpadEnter": "num_enter",
"Clear": "num_clear",
"BracketLeft": "[",
"BracketRight": "]",
"Quote": "'",
"Semicolon": ";",
"Backquote": "`",
"Backslash": "\\",
"IntlBackslash": "\\",
"Slash": "/",
"Comma": ",",
"Period": ".",
"Equal": "=",
"Minus": "-",
}
if translations[code] == "" {
return strings.ToLower(code)
}
return translations[code]
}
// Redundant translation because tolower can be used
// "Backspace": "backspace",
// "Delete": "delete",
// "Enter": "enter",
// "Tab": "tab",
// "Escape": "esc",
// "Home": "home",
// "End": "end",
// "PageUp": "pageup",
// "PageDown": "pagedown",
// "F1": "f1",
// "F2": "f2",
// "F3": "f3",
// "F4": "f4",
// "F5": "f5",
// "F6": "f6",
// "F7": "f7",
// "F8": "f8",
// "F9": "f9",
// "F10": "f10",
// "F11": "f11",
// "F12": "f12",
// "F13": "f13",
// "F14": "f14",
// "F15": "f15",
// "F16": "f16",
// "F17": "f17",
// "F18": "f18",
// "F19": "f19",
// "F20": "f20",
// "F21": "f21",
// "F22": "f22",
// "F23": "f23",
// "F24": "f24",
// "CapsLock": "capslock",
// "Space": "space",
// "PrintScreen": "printscreen",
// "Insert": "insert",