Как определить язык ввода с клавиатуры с помощью JQuery - PullRequest
3 голосов
/ 12 марта 2012

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

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

Ответы [ 3 ]

1 голос
/ 13 марта 2012

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

            var msgText =  entered message text;
            var textLength = msgText.length; // entered message length
            var isEnglish = true;
            for (var index = 0; index <= textLength; index = index + 1) {

                if (msgText.charCodeAt(index) > 160) {
                    //Not English 
                    isEnglish=false;
                    break;
                }
            }

в предыдущем примере это то, что мне нужно, если один символ арабский, весь текст должен быть проверен как арабский, поэтому я добавил переменную isEnglish = true по умолчанию и будет изменен только в том случае, если символ в строке не английский Я перебрал символы в строке, используя charCodeAt (index), который возвращает номер символа ISO Latin-1. используя таблицу на этой странице, я смог решить, что максимальное число в этом наборе, которое представляет английские символы, было 160 и

0 голосов
/ 12 марта 2012

Вы можете сделать это, используя API Google AJAX Language

var content = "your text";
google.language.detect(content, function(result) {
  if (!result.error) {
    var language = 'unknown';
    for (lang in google.language.Languages) {
      if (google.language.Languages[lang] == result.language) {
        language = lang;
        break;
      }
    }
    // Now use the variable `language`
  }
});
0 голосов
/ 12 марта 2012

Вы можете использовать ActiveXObject для отправки клавиши ввода, скажем, «a» и считывания ее значения Unicode / ASCII. Если его 97 его английский еще нет. Проверьте этот вопрос:

Получить текущий язык раскладки клавиатуры в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...