Изменение языка ввода текста в JS

#javascript #html #angular #typescript

#javascript #HTML #angular #typescript

Вопрос:

Я пытаюсь изменить текст, который поступает на ввод. например. если я пишу на иностранном языке, но определенному атрибуту присвоено значение True (Angular4, но я хочу, чтобы это было на typescript) — ввод автоматически изменяется на английский без необходимости в службе, которая проверяет код ключа и изменяет его.

возможно ли это в рамках чистого JS или typescript или даже Angular?

Я уже создал сервис (util), который получает код ключа из keydown и изменяет его на заглавные буквы, но это затягивает и действительно неразумно.

 uppercase: {
    81: "Q",
    87: "W",
    69: "E",
    82: "R",
    84: "T",
    89: "Y",
    85: "U",
    73: "I",
    79: "O",
    80: "P",
    65: "A",
    83: "S",
    68: "D",
    70: "F",
    71: "G",
    72: "H",
    74: "J",
    75: "K",
    76: "L",
    90: "Z",
    88: "X",
    67: "C",
    86: "V",
    66: "B",
    78: "N",
    77: "M",
    188:",",
    190: "."
  },

  

допустим, у меня есть ввод, указанный ввод установлен на русский.
если я введу русскую букву, она автоматически изменится на английскую

Комментарии:

1. Я надеюсь, что вы осознаете тот факт, что: простое преобразование символов с использованием keyPress событий не будет хорошей практикой. По сути, вы пытаетесь переводить языки на английский, что не сработает, если вы преобразуете символ за символом. В предложении на русском языке может быть разное количество символов, чем в английском, плюс грамматика будет другой. Вам следует пересмотреть эту функцию, которую вы пытаетесь создать

2. я знаю, что не пытаюсь перевести, а просто изменяю выводимый код ключа во входных данных.