wikimedia/mediawiki-extensions-UniversalLanguageSelector

View on GitHub
lib/jquery.ime/rules/cyrl/cyrl-palochka.js

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * An input method for the Cyrillic alphabet with palochka, which is used by many languages in the
 * North Caucasus region. Most keyboard layouts don't support this letter, so people frequently type
 * other similarly looking characters instead, but this causes various problems, for example when
 * automatically converting from uppercase to lowercase and vice-versa.
 *
 * This layout assumes that the standard Russian keyboard layout is used. All the rules produce the
 * same character palochka, and the characters used are the same that are often used by the speakers
 * of these languages online:
 * 1. Latin small 'l'.
 * 2. Latin capital 'I'.
 * 3. Ukrainian capital 'І'.
 * 4. Alt-1 (the digit one).
 * 5. Alt-д (Cyrillic small 'de', on the same key as Latin 'l').
 * 6. Alt-ш (Cyrillic small 'sha', on the same key as Latin 'i').
 * 7. Alt-Ш (Cyrillic capital 'sha', on the same key as Latin 'I').
 */

( function ( $ ) {
    'use strict';

    var cyrlPalochka,
        // All the characters are very similar in appearance,
        // so it's better to give them names to avoid confusion.
        latinSmallL = 'l',
        latinCapitalI = 'I',
        ukrainianCapitalI = 'І',
        palochka = 'Ӏ',
        digitOne = '1';

    cyrlPalochka = {
        id: 'cyrl-palochka',
        name: 'Cyrillic Palochka',
        description: 'Palochka input method for Cyrillic',
        date: '2012-10-10',
        URL: 'http://github.com/wikimedia/jquery.ime',
        author: 'Amir E. Aharoni',
        license: 'GPLv3',
        version: '1.1',
        contextLength: 2,
        maxKeyLength: 3,
        patterns: [
            [ '~~' + digitOne, '~~', '~1' ],
            [ '~' + digitOne, palochka ],
            [ latinSmallL, palochka ],
            [ latinCapitalI, palochka ],
            [ ukrainianCapitalI, palochka ]
        ],
        patterns_x: [
            [ digitOne, palochka ],
            [ 'д', palochka ],
            [ 'ш', palochka ],
            [ 'Ш', palochka ]
        ]
    };

    $.ime.register( cyrlPalochka );

}( jQuery ) );