Input method integration with ULS

The file ext.uls.settingspanel.js is a draft for common
code in the different settings panels.

Change-Id: I057274f16b27b2c18d43d41c1d43f485a18ef0bf
This commit is contained in:
Santhosh Thottingal
2012-10-18 16:27:25 +05:30
parent 90de05cb97
commit f13e474e43
67 changed files with 8867 additions and 22 deletions

View File

@@ -92,6 +92,7 @@ $wgResourceModules['ext.uls.init'] = array(
'jquery.uls', 'jquery.uls',
'jquery.i18n', 'jquery.i18n',
'ext.uls.displaysettings', 'ext.uls.displaysettings',
'ext.uls.inputsettings',
), ),
'position' => 'top', 'position' => 'top',
); );
@@ -118,7 +119,7 @@ $wgResourceModules['ext.uls.languagesettings'] = array(
'styles' => 'resources/css/ext.uls.languagesettings.css', 'styles' => 'resources/css/ext.uls.languagesettings.css',
'localBasePath' => $dir, 'localBasePath' => $dir,
'remoteExtPath' => 'UniversalLanguageSelector', 'remoteExtPath' => 'UniversalLanguageSelector',
'dependencies' => array( 'dependencies' => array(
'ext.uls.preferences', 'ext.uls.preferences',
), ),
); );
@@ -130,8 +131,19 @@ $wgResourceModules['ext.uls.webfonts'] = array(
'dependencies' => array( 'dependencies' => array(
'jquery.webfonts', 'jquery.webfonts',
'ext.uls.webfonts.repository', 'ext.uls.webfonts.repository',
'ext.uls.preferences',
), ),
); );
$wgResourceModules['ext.uls.ime'] = array(
'scripts' => 'resources/js/ext.uls.ime.js',
'localBasePath' => $dir,
'remoteExtPath' => 'UniversalLanguageSelector',
'dependencies' => array(
'jquery.ime',
'ext.uls.preferences',
),
);
$wgResourceModules['ext.uls.displaysettings'] = array( $wgResourceModules['ext.uls.displaysettings'] = array(
'scripts' => 'resources/js/ext.uls.displaysettings.js', 'scripts' => 'resources/js/ext.uls.displaysettings.js',
@@ -145,6 +157,18 @@ $wgResourceModules['ext.uls.displaysettings'] = array(
'remoteExtPath' => 'UniversalLanguageSelector', 'remoteExtPath' => 'UniversalLanguageSelector',
); );
$wgResourceModules['ext.uls.inputsettings'] = array(
'scripts' => 'resources/js/ext.uls.inputsettings.js',
'styles' => 'resources/css/ext.uls.inputsettings.css',
'localBasePath' => $dir,
'dependencies' => array(
'ext.uls.languagesettings',
'ext.uls.ime',
'jquery.i18n',
),
'remoteExtPath' => 'UniversalLanguageSelector',
);
$wgResourceModules['jquery.uls'] = array( $wgResourceModules['jquery.uls'] = array(
'scripts' => array( 'scripts' => array(
'lib/jquery.uls/jquery.uls.js', 'lib/jquery.uls/jquery.uls.js',
@@ -177,3 +201,12 @@ $wgResourceModules['jquery.i18n'] = array(
'localBasePath' => $dir, 'localBasePath' => $dir,
'remoteExtPath' => 'UniversalLanguageSelector', 'remoteExtPath' => 'UniversalLanguageSelector',
); );
$wgResourceModules['jquery.ime'] = array(
'scripts' => 'lib/jquery.ime/jquery.ime.js',
'styles' => array(
'lib/jquery.ime/css/jquery.ime.css',
),
'localBasePath' => $dir,
'remoteExtPath' => 'UniversalLanguageSelector',
);

View File

@@ -20,5 +20,13 @@
"ext-uls-webfonts-select-for": "Select font for $1", "ext-uls-webfonts-select-for": "Select font for $1",
"ext-uls-webfonts-select-for-ui-info": "Font used for user interface", "ext-uls-webfonts-select-for-ui-info": "Font used for user interface",
"ext-uls-webfonts-select-for-content-info": "Font used for content", "ext-uls-webfonts-select-for-content-info": "Font used for content",
"ext-uls-back-to-display-settings": "Back to display settings" "ext-uls-back-to-display-settings": "Back to display settings",
"ext-uls-input-settings-title": "Input settings",
"ext-uls-input-settings-title-short": "Input",
"ext-uls-input-settings-desc": "Writing in a different language?",
"ext-uls-input-settings-ime-settings": "Input methods for $1",
"ext-uls-input-settings-ui-language": "Language used for writing",
"ext-uls-back-to-input-settings": "Back to input settings",
"ext-uls-disable-input-method": "Disable input method",
"ext-uls-disable-input-method-desc": "Use a regular keyboard"
} }

View File

@@ -0,0 +1,186 @@
div.imeselector {
position: absolute;
background: url('../images/ime-active.svg') no-repeat scroll left center
transparent;
background-size: 15px;
cursor: pointer;
height: 15px;
margin: 1px 0 0;
font-size: small;
padding-left: 20px;
margin-top: 0;
text-align: left;
font-family: 'sans';
white-space: nowrap;
}
div.imeselector a {
text-decoration: none;
outline: none;
color: #222222;
line-height: 1em;
padding-top: 4px;
padding-bottom: 4px;
}
.ime-disable-link span {
text-align: right;
margin-left: 10px;
color: #888;
font-size: smaller;
}
.ime-disable-link:hover span {
color: #eee;
}
.ime-list-title,
.ime-lang-title {
color: #39d;
border-bottom: solid 1px #39d;
text-align: left;
font-size: larger;
padding-bottom: 5px;
padding-left: 20px;
padding-top: 9px;
margin-bottom: 1px;
cursor: default;
}
.imeselector .caret {
margin-left: 2px;
margin-top: 8px;
}
.caret {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid #000000;
content: "";
display: inline-block;
height: 0;
vertical-align: top;
width: 0;
}
.imeselector-menu .sub-menu {
left: 100%;
position: absolute;
top: 0;
visibility: hidden;
margin-top: -1px;
}
.imeselector-menu li:hover .sub-menu {
visibility: visible;
display: block;
}
.imeselector-menu .checked a {
background: url(../images/tick.svg) 4px no-repeat;
background-size: 12px 12px;
}
ul.ime-language-list {
overflow: auto;
max-height: 150px;
width: 300px;
list-style: none;
padding: 0 0;
}
div.ime-language-list {
overflow: hidden;
width: 250px;
padding: 0 0;
}
.ime-language-list {
margin: 0;
}
.imeselector-menu {
position: absolute;
top: 14px;
right: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 0;
list-style: none;
border: 1px solid #888;
background-color: #FFFFFF;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
text-align: left;
}
/* The triangle shaped callout */
.imeselector-menu:before {
border-bottom: 7px solid #888;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
content: "";
display: inline-block;
right: 9px;
position: absolute;
top: -7px;
}
.imeselector-menu:after {
border-bottom: 6px solid #FFFFFF;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
content: "";
display: inline-block;
right: 10px;
position: absolute;
top: -6px;
}
.imeselector-menu .ime-help-link {
background-color: #f0f0f0;
border-radius: 0 0 5px 5px;
border-top: 1px solid #ddd;
margin-top: 6px;
padding: 2px 0 2px 0;
color: #444;
}
.imeselector-menu .ime-help-link>a:hover {
background-color: #f0f0f0;
color: #000;
}
.imeselector-menu a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
color: #333333;
outline: none;
white-space: nowrap;
}
.imeselector-menu li>a:hover {
text-decoration: none;
color: #ffffff;
background-color: #5089e8;
}
.open {
*z-index: 1000;
display: block;
}
.imeselector-menu li {
position: relative;
}

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="32px"
height="32px"
viewBox="0 0 32 32"
enable-background="new 0 0 32 32"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="WMF-Agora-Input_settings-000000.svg"><metadata
id="metadata7"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs5" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1024"
id="namedview3"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="22.627417"
inkscape:cx="23.331859"
inkscape:cy="8.3802289"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<path
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
d="M 14.40625 8.4375 C 14.40625 8.4375 14.31419 8.6657048 14.1875 8.9375 C 14.068538 9.1927223 13.844044 9.4558848 13.84375 9.46875 C 13.769164 9.4743863 13.468944 9.5751815 13.0625 9.59375 C 12.520575 9.618508 11.810484 9.59812 11.0625 9.5625 C 9.5665318 9.4912633 7.97186 9.3485738 6.90625 9.53125 L 6.875 9.53125 C 6.2309814 9.6511473 5.7732941 10.079762 5.4375 10.53125 C 5.0967523 10.989398 4.8501105 11.50885 4.6875 12 C 4.4387499 12.751327 4.3485455 13.329266 4.3125 13.625 L 0 13.625 L 0 32 L 32 32 L 32 13.625 L 5.84375 13.625 C 5.8929222 13.326517 5.9697935 12.937537 6.125 12.46875 C 6.2560186 12.073021 6.4309233 11.667193 6.625 11.40625 C 6.8190767 11.145307 7.0067168 11.030991 7.1875 11 C 7.7997705 10.895039 9.4445334 10.98992 10.96875 11.0625 C 11.730858 11.09879 12.486416 11.12292 13.125 11.09375 C 13.763584 11.06458 14.276111 11.09795 14.8125 10.65625 C 15.231457 10.311228 15.371009 9.9375316 15.53125 9.59375 C 15.691491 9.2499684 15.8125 8.9375 15.8125 8.9375 L 14.40625 8.4375 z M 3.03125 17.8125 L 5.5 17.8125 C 5.6541065 17.8125 5.78125 17.908394 5.78125 18.0625 L 5.78125 20.5625 C 5.78125 20.716606 5.6541065 20.84375 5.5 20.84375 L 3.03125 20.84375 C 2.8771435 20.84375 2.75 20.716606 2.75 20.5625 L 2.75 18.0625 C 2.75 17.908394 2.8771435 17.8125 3.03125 17.8125 z M 7.5625 17.8125 L 10.03125 17.8125 C 10.185356 17.8125 10.3125 17.908394 10.3125 18.0625 L 10.3125 20.5625 C 10.3125 20.716606 10.185356 20.84375 10.03125 20.84375 L 7.5625 20.84375 C 7.4083935 20.84375 7.28125 20.716606 7.28125 20.5625 L 7.28125 18.0625 C 7.28125 17.908394 7.4083935 17.8125 7.5625 17.8125 z M 12.09375 17.8125 L 14.5625 17.8125 C 14.716606 17.8125 14.84375 17.908394 14.84375 18.0625 L 14.84375 20.5625 C 14.84375 20.716606 14.716606 20.84375 14.5625 20.84375 L 12.09375 20.84375 C 11.939644 20.84375 11.8125 20.716606 11.8125 20.5625 L 11.8125 18.0625 C 11.8125 17.908394 11.939644 17.8125 12.09375 17.8125 z M 16.625 17.8125 L 19.09375 17.8125 C 19.247856 17.8125 19.375 17.908394 19.375 18.0625 L 19.375 20.5625 C 19.375 20.716606 19.247856 20.84375 19.09375 20.84375 L 16.625 20.84375 C 16.470894 20.84375 16.34375 20.716606 16.34375 20.5625 L 16.34375 18.0625 C 16.34375 17.908394 16.470894 17.8125 16.625 17.8125 z M 21.15625 17.8125 L 23.625 17.8125 C 23.779106 17.8125 23.90625 17.908394 23.90625 18.0625 L 23.90625 20.5625 C 23.90625 20.716606 23.779106 20.84375 23.625 20.84375 L 21.15625 20.84375 C 21.002144 20.84375 20.875 20.716606 20.875 20.5625 L 20.875 18.0625 C 20.875 17.908394 21.002144 17.8125 21.15625 17.8125 z M 25.6875 17.8125 L 28.15625 17.8125 C 28.310356 17.8125 28.4375 17.908394 28.4375 18.0625 L 28.4375 20.5625 C 28.4375 20.716606 28.310356 20.84375 28.15625 20.84375 L 25.6875 20.84375 C 25.533394 20.84375 25.40625 20.716606 25.40625 20.5625 L 25.40625 18.0625 C 25.40625 17.908394 25.533394 17.8125 25.6875 17.8125 z M 5.15625 22.625 L 7.625 22.625 C 7.7791065 22.625 7.90625 22.752144 7.90625 22.90625 L 7.90625 25.375 C 7.90625 25.529106 7.7791065 25.65625 7.625 25.65625 L 5.15625 25.65625 C 5.0021435 25.65625 4.875 25.529106 4.875 25.375 L 4.875 22.90625 C 4.875 22.752144 5.0021435 22.625 5.15625 22.625 z M 9.8125 22.625 L 12.28125 22.625 C 12.435356 22.625 12.5625 22.752144 12.5625 22.90625 L 12.5625 25.375 C 12.5625 25.529106 12.435356 25.65625 12.28125 25.65625 L 9.8125 25.65625 C 9.6583935 25.65625 9.53125 25.529106 9.53125 25.375 L 9.53125 22.90625 C 9.53125 22.752144 9.6583935 22.625 9.8125 22.625 z M 14.46875 22.625 L 16.96875 22.625 C 17.122856 22.625 17.25 22.752144 17.25 22.90625 L 17.25 25.375 C 17.25 25.529106 17.122856 25.65625 16.96875 25.65625 L 14.46875 25.65625 C 14.314644 25.65625 14.1875 25.529106 14.1875 25.375 L 14.1875 22.90625 C 14.1875 22.752144 14.314644 22.625 14.46875 22.625 z M 19.15625 22.625 L 21.625 22.625 C 21.779106 22.625 21.90625 22.752144 21.90625 22.90625 L 21.90625 25.375 C 21.90625 25.529106 21.779106 25.65625 21.625 25.65625 L 19.15625 25.65625 C 19.002144 25.65625 18.875 25.529106 18.875 25.375 L 18.875 22.90625 C 18.875 22.752144 19.002144 22.625 19.15625 22.625 z M 23.8125 22.625 L 26.28125 22.625 C 26.435356 22.625 26.5625 22.752144 26.5625 22.90625 L 26.5625 25.375 C 26.5625 25.529106 26.435356 25.65625 26.28125 25.65625 L 23.8125 25.65625 C 23.658394 25.65625 23.53125 25.529106 23.53125 25.375 L 23.53125 22.90625 C 23.53125 22.752144 23.658394 22.625 23.8125 22.625 z M 6.40625 28.3125 L 25.59375 28.3125 C 25.747856 28.3125 25.84375 28.439644 25.84375 28.59375 L 25.84375 29.875 C 25.84375 30.029106 25.747856 30.15625 25.59375 30.15625 L 6.40625 30.15625 C 6.2521435 30.15625 6.15625 30.029106 6.15625 29.875 L 6.15625 28.59375 C 6.15625 28.439644 6.2521435 28.3125 6.40625 28.3125 z "
id="path4443" /></svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="32"
height="32"
viewBox="0 0 32 32"
id="Layer_1"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="tick.svg"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1024"
id="namedview6"
showgrid="false"
inkscape:zoom="3.6875"
inkscape:cx="12.379932"
inkscape:cy="32.028115"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" /><metadata
id="metadata7"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs5" />
<path
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#222222;fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
d="M 26.579429,5.7431146 11.48439,20.451101 5.4205703,14.580808 2.5176783,17.548209 c 2.989202,2.902621 5.955731,5.828609 8.9667117,8.708676 C 17.447966,20.350568 23.477578,14.51056 29.482322,8.6460063 z"
id="path10791-42-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" /></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

1187
lib/jquery.ime/jquery.ime.js Normal file

File diff suppressed because it is too large Load Diff

103
lib/jquery.ime/rules/README Normal file
View File

@@ -0,0 +1,103 @@
jQuery.ime Input method specification
=====================================
Input methods are defined in javascript files. An input method is a javascript
object and it is passed to $.ime.register() method to register with jquery.ime
Eg: $.ime.register( hebrewStandardKeyboard );
Metadata fields
---------------
id: A mandatory unique identifier that represents the input method. Eg: "hindi-inscript"
name: A mandatory short name for the input method. Eg: Hindi InScript
description: An optional short description about the input method. Eg: "keyboard layout as per
inscript standard"
date: An optional string to represent when this input method was written. Format should be
yyyy-mm-dd
author: An optional string containing the authors name. Can contain email address as well. Eg:
"Santhosh Thottingal, <santhosh.thottingal@gmail.com>"
URL: An optional string containing URL for the original input method definition.
license: An optional string containing licence information. Eg: "CC-BY_SA" or "GPLv3"
version: An optional string containing version information
Input method definition
-----------------------
patterns: A regular expression table that maps the original inputs to the target
language
eg:
patterns: [
[ 'q', '/' ],
[ 'w', '\'' ],
[ 'e', 'ק' ],
[ 'r', 'ר' ],
[ 't', 'א' ],
[ 'y', 'ט' ],
[ 'u', 'ו' ],
[ 'i', 'ן' ],
[ 'o', 'ם' ],
[ 'p', 'פ' ]
...
// These characters are mirrored in RTL languages
[ '\\(', ')' ],
[ '\\)', '(' ],
[ '\\[', ']' ],
[ '\\]', '[' ]
]
Any valid regular expression is possible as first element of each array item.
More examples
[ '([ക-ഹ])a', '$1ാ' ]
[ '(([ൺ-ൿം])\u200c+)?I', '$2ഐ' ]
In the above example, $1, $1 etc are according to the normal regular expression replace syntax
The second member of pattern can be a function as well. For eg:
patterns: [ [ '[a-z]', function ( $1 ) {
return $1.toUpperCase();
} ] ]
This rule replace all key strokes to its upper case character
contextLength: Length of the context to remember. jquery.ime can replace the text
based on the previously typed characters. Eg:
[ 'ൿh', 'c', 'ച്' ]
Note that this pattern definition has 3 members, the middle one is the context.
This rule is interpreted as
The current key is h, previous key is c. For the previous key press c, we have
a transliteration ൿ. But if it is followed by h and ൿ is indeed from key press c,
replace ൿh with ച്
To make this work, we need to remember the previous key strokes. How many of them we
need to remember? contextLength should have that value.
This is optional field with default value 0.ie, we dont remember previous key strokes
by default.
maxKeyLength: While trying to find possible matches, we need to know how many characters
from the current typing location(cursor) should be used before giving up.
maxKeyLength defines it. Normally it is the length of largest regex sequence in the patterns.
This field is optional and default value is 1.
Examples
--------
For complete examples, please refer the existing input method definitions.

View File

@@ -0,0 +1,433 @@
( function ( $ ) {
'use strict';
var amTransliteration = {
id: 'am-transliteration',
name: 'Amharic Transliteration',
description: 'Amharic Transliteration',
date: '2012-09-09',
URL: 'http://am.wikipedia.org/wiki/%E1%8A%A5%E1%88%AD%E1%8B%B3%E1%89%B3:%E1%8A%A2%E1%89%B5%E1%8B%AE%E1%8D%92%E1%8A%AD_%E1%88%B4%E1%88%AB',
author: 'Elfalem [[User:Elfalem]])',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 2,
patterns: [
[ '\\\\([A-Za-z\\>\\<_~ ])', '\\\\', '$1' ], // include space also
[ '፼0', '፲፼' ], // 10000 and 0 becomes 10 10000
[ '፲፻0', '፼' ], // 10x100 and 0 becomes 10000
[ '፻0', '፲፻' ], // NUM_100 and 0 becomes 10 100
[ '፻0', '፲፻' ], // 1000
[ '፳0', '፪፻' ], // 200
[ '፴0', '፫፻' ], // 300
[ '፵0', '፬፻' ], // 400
[ '፶0', '፭፻' ], // 500
[ '፷0', '፮፻' ], // 600
[ '፸0', '፯፻' ], // 700
[ '፹0', '፰፻' ], // 800
[ '፺0', '፱፻' ], // 900
[ '፩0', '፲' ], // 10
[ '፪0', '፳' ], // 20
[ '፫0', '፴' ], // 30
[ '፬0', '፵' ], // 40
[ '፭0', '፶' ], // 50
[ '፮0', '፷' ], // 60
[ '፯0', '፸' ], // 70
[ '፰0', '፹' ], // 80
[ '፱0', '፺' ], // 90
[ '፲0', '፻' ], // 100
[ '1', '፩' ],
[ '2', '፪' ],
[ '3', '፫' ],
[ '4', '፬' ],
[ '5', '፭' ],
[ '6', '፮' ],
[ '7', '፯' ],
[ '8', '፰' ],
[ '9', '፱' ],
[ 'ህe', '' ],
[ 'ህu', 'ሁ' ],
[ 'ህi', 'ሂ' ],
[ 'ህa', 'ሃ' ],
[ '(e|ህE)', 'ሄ' ],
[ 'ህo', 'ሆ' ],
[ 'ህW', 'ኋ' ],
[ 'ልe', 'ለ' ],
[ 'ልu', 'ሉ' ],
[ 'ልi', 'ሊ' ],
[ 'ልa', 'ላ' ],
[ '(ለe|ልE)', 'ሌ' ],
[ 'ልo', 'ሎ' ],
[ 'ልW', 'ሏ' ],
[ 'ሕe', 'ሐ' ],
[ 'ሕu', 'ሑ' ],
[ 'ሕi', 'ሒ' ],
[ 'ሕa', 'ሓ' ],
[ '(ሐe|ሕE)', 'ሔ' ],
[ 'ሕo', 'ሖ' ],
[ 'ሕW', 'ሗ' ],
[ 'ምe', 'መ' ],
[ 'ምu', 'ሙ' ],
[ 'ምi', 'ሚ' ],
[ 'ምa', 'ማ' ],
[ '(መe|ምE)', 'ሜ' ],
[ 'ምo', 'ሞ' ],
[ 'ምW', 'ሟ' ],
[ 'ርe', 'ረ' ],
[ 'ርu', 'ሩ' ],
[ 'ርi', 'ሪ' ],
[ 'ርa', 'ራ' ],
[ '(ረe|ርE)', 'ሬ' ],
[ 'ርo', 'ሮ' ],
[ 'ርW', 'ሯ' ],
[ 'ስe', 'ሰ' ],
[ 'ስu', 'ሱ' ],
[ 'ስi', 'ሲ' ],
[ 'ስa', 'ሳ' ],
[ '(ሰe|ስE)', 'ሴ' ],
[ 'ስo', 'ሶ' ],
[ 'ስW', 'ሷ' ],
[ 'ሥe', 'ሠ' ],
[ 'ሥu', 'ሡ' ],
[ 'ሥi', 'ሢ' ],
[ 'ሥa', 'ሣ' ],
[ '(ሠe|ሥE)', 'ሤ' ],
[ 'ሥo', 'ሦ' ],
[ 'ሥW', 'ሧ' ],
[ 'ሽe', 'ሸ' ],
[ 'ሽu', 'ሹ' ],
[ 'ሽi', 'ሺ' ],
[ 'ሽa', 'ሻ' ],
[ '(ሸe|ሽE)', 'ሼ' ],
[ 'ሽo', 'ሾ' ],
[ 'ሽW', 'ሿ' ],
[ 'ቅe', 'ቀ' ],
[ 'ቅu', 'ቁ' ],
[ 'ቅi', 'ቂ' ],
[ 'ቅa', 'ቃ' ],
[ '(ቀe|ቅE)', 'ቄ' ],
[ 'ቅo', 'ቆ' ],
[ 'ቋe', 'ቈ' ],
[ '(ቋu|ቋW)', 'ቍ' ],
[ 'ቋi', 'ቊ' ],
[ 'ቋa', 'ቋ' ],
[ 'ቋo', 'ቌ' ],
[ 'ቕe', 'ቐ' ],
[ 'ቕu', 'ቑ' ],
[ 'ቕi', 'ቒ' ],
[ 'ቕa', 'ቓ' ],
[ '(ቐe|ቕE)', 'ቔ' ],
[ 'ቕo', 'ቖ' ],
[ 'ቕW', 'ቛ' ],
[ '(ቛe|ቛee)', 'ቜ' ], // the second pattern probably won't be invoked in any case
[ 'ቛu', 'ቘ' ],
[ 'ቛi', 'ቚ' ],
[ 'ቛa', 'ቝ' ],
[ 'ብe', 'በ' ],
[ 'ብu', 'ቡ' ],
[ 'ብi', 'ቢ' ],
[ 'ብa', 'ባ' ],
[ '(በe|ብE)', 'ቤ' ],
[ 'ብo', 'ቦ' ],
[ 'ብW', 'ቧ' ],
[ 'ቭe', 'ቨ' ],
[ 'ቭu', 'ቩ' ],
[ 'ቭi', 'ቪ' ],
[ 'ቭa', 'ቫ' ],
[ '(ቨe|ቭE)', 'ቬ' ],
[ 'ቭo', 'ቮ' ],
[ 'ቭW', 'ቯ' ],
[ 'ትe', 'ተ' ],
[ 'ትu', 'ቱ' ],
[ 'ትi', 'ቲ' ],
[ 'ትa', 'ታ' ],
[ '(ተe|ትE)', 'ቴ' ],
[ 'ትo', 'ቶ' ],
[ 'ትW', 'ቷ' ],
[ 'ችe', 'ቸ' ],
[ 'ችu', 'ቹ' ],
[ 'ችi', 'ቺ' ],
[ 'ችa', 'ቻ' ],
[ '(ቸe|ችE)', 'ቼ' ],
[ 'ችo', 'ቾ' ],
[ 'ችW', 'ቿ' ],
[ 'ንe', 'ነ' ],
[ 'ንu', 'ኑ' ],
[ 'ንi', 'ኒ' ],
[ 'ንa', 'ና' ],
[ '(ነe|ንE)', 'ኔ' ],
[ 'ንo', 'ኖ' ],
[ 'ንW', 'ኗ' ],
[ 'ኝe', 'ኘ' ],
[ 'ኝu', 'ኙ' ],
[ 'ኝi', 'ኚ' ],
[ 'ኝa', 'ኛ' ],
[ '(ኘe|ኝE)', 'ኜ' ],
[ 'ኝo', 'ኞ' ],
[ 'ኝW', 'ኟ' ],
[ 'ክe', 'ከ' ],
[ 'ክu', 'ኩ' ],
[ 'ክi', 'ኪ' ],
[ 'ክa', 'ካ' ],
[ '(ከe|ክE)', 'ኬ' ],
[ 'ክo', 'ኮ' ],
[ 'ክW', 'ኳ' ],
[ 'ኳe', 'ኰ' ],
[ '(ኳu|ኳ\')', 'ኵ' ],
[ 'ኳi', 'ኲ' ],
[ '(ኰe|ኳE)', 'ኴ' ],
[ 'ኽe', 'ኸ' ],
[ 'ኽu', 'ኹ' ],
[ 'ኽi', 'ኺ' ],
[ 'ኽa', 'ኻ' ],
[ '(ኸe|ኽE)', 'ኼ' ],
[ 'ኽo', 'ኾ' ],
[ 'ኽW', 'ዃ' ],
[ 'ዃe', 'ዀ' ],
[ '(ዃu|ዃ\')', 'ዅ' ],
[ 'ዃi', 'ዂ' ],
[ 'ዃE', 'ዄ' ],
[ 'ውe', 'ወ' ],
[ 'ውu', 'ዉ' ],
[ 'ውi', 'ዊ' ],
[ 'ውa', 'ዋ' ],
[ '(ወe|ውE)', 'ዌ' ],
[ 'ውo', 'ዎ' ],
[ 'ዝe', 'ዘ' ],
[ 'ዝu', 'ዙ' ],
[ 'ዝi', 'ዚ' ],
[ 'ዝa', 'ዛ' ],
[ '(ዘe|ዝE)', 'ዜ' ],
[ 'ዝo', 'ዞ' ],
[ 'ዝW', 'ዟ' ],
[ 'ዥe', 'ዠ' ],
[ 'ዥu', 'ዡ' ],
[ 'ዥi', 'ዢ' ],
[ 'ዥa', 'ዣ' ],
[ '(ዠe|ዥE)', 'ዤ' ],
[ 'ዥo', 'ዦ' ],
[ 'ዥW', 'ዧ' ],
[ 'ይe', 'የ' ],
[ 'ይu', 'ዩ' ],
[ 'ይi', 'ዪ' ],
[ 'ይa', 'ያ' ],
[ '(የe|ይE)', 'ዬ' ],
[ 'ይo', 'ዮ' ],
[ 'ድe', 'ደ' ],
[ 'ድu', 'ዱ' ],
[ 'ድi', 'ዲ' ],
[ 'ድa', 'ዳ' ],
[ '(ደe|ድE)', 'ዴ' ],
[ 'ድo', 'ዶ' ],
[ 'ድW', 'ዷ' ],
[ 'ዽe', 'ዸ' ],
[ 'ዽu', 'ዹ' ],
[ 'ዽi', 'ዺ' ],
[ 'ዽa', 'ዻ' ],
[ '(ዸe|ዽE)', 'ዼ' ],
[ 'ዽo', 'ዾ' ],
[ 'ዽW', 'ዿ' ],
[ 'ጅe', 'ጀ' ],
[ 'ጅu', 'ጁ' ],
[ 'ጅi', 'ጂ' ],
[ 'ጅa', 'ጃ' ],
[ '(ጀe|ጅE)', 'ጄ' ],
[ 'ጅo', 'ጆ' ],
[ 'ጅW', 'ጇ' ],
[ 'ግe', 'ገ' ],
[ 'ግu', 'ጉ' ],
[ 'ግi', 'ጊ' ],
[ 'ግa', 'ጋ' ],
[ '(ገe|ግE)', 'ጌ' ],
[ 'ግo', 'ጎ' ],
[ 'ጓe', 'ጐ' ],
[ '(ጓu|ጓ\')', 'ጕ' ],
[ 'ጓi', 'ጒ' ],
[ '(ጐe|ጓE)', 'ጔ' ],
[ 'ጝe', 'ጘ' ],
[ 'ጝu', 'ጙ' ],
[ 'ጝi', 'ጚ' ],
[ 'ጝa', 'ጛ' ],
[ '(ጘe|ጝE)', 'ጜ' ],
[ 'ጝo', 'ጞ' ],
[ 'ጥe', 'ጠ' ],
[ 'ጥu', 'ጡ' ],
[ 'ጥi', 'ጢ' ],
[ 'ጥa', 'ጣ' ],
[ '(ጠe|ጥE)', 'ጤ' ],
[ 'ጥo', 'ጦ' ],
[ 'ጥW', 'ጧ' ],
[ 'ጭe', 'ጨ' ],
[ 'ጭu', 'ጩ' ],
[ 'ጭi', 'ጪ' ],
[ 'ጭa', 'ጫ' ],
[ '(ጨe|ጭE)', 'ጬ' ],
[ 'ጭo', 'ጮ' ],
[ 'ጭW', 'ጯ' ],
[ 'ጵe', 'ጰ' ],
[ 'ጵu', 'ጱ' ],
[ 'ጵi', 'ጲ' ],
[ 'ጵa', 'ጳ' ],
[ '(ጰe|ጵE)', 'ጴ' ],
[ 'ጵo', 'ጶ' ],
[ 'ጵW', 'ጷ' ],
[ 'ጽe', 'ጸ' ],
[ 'ጽu', 'ጹ' ],
[ 'ጽi', 'ጺ' ],
[ 'ጽa', 'ጻ' ],
[ '(ጸe|ጽE)', 'ጼ' ],
[ 'ጽo', 'ጾ' ],
[ 'ጽW', 'ጿ' ],
[ 'ፅe', 'ፀ' ],
[ 'ፅu', 'ፁ' ],
[ 'ፅi', 'ፂ' ],
[ 'ፅa', 'ፃ' ],
[ '(ፀe|ፅE)', 'ፄ' ],
[ 'ፅo', 'ፆ' ],
[ 'ፍe', 'ፈ' ],
[ 'ፍu', 'ፉ' ],
[ 'ፍi', 'ፊ' ],
[ 'ፍa', 'ፋ' ],
[ '(ፈe|ፍE)', 'ፌ' ],
[ 'ፍo', 'ፎ' ],
[ 'ፍW', 'ፏ' ],
[ 'ፍY', 'ፚ' ],
[ 'ፕe', 'ፐ' ],
[ 'ፕu', 'ፑ' ],
[ 'ፕi', 'ፒ' ],
[ 'ፕa', 'ፓ' ],
[ '(ፐe|ፕE)', 'ፔ' ],
[ 'ፕo', 'ፖ' ],
[ 'ፕW', 'ፗ' ],
// the following mappings are not documented in Ethiopic sera
[ 'ኅu', 'ኁ' ],
[ 'ኅi', 'ኂ' ],
[ 'ኅa', 'ኃ' ],
[ 'ኅE', 'ኄ' ],
[ 'ኅo', 'ኆ' ],
[ 'ኅW', 'ኋ' ],
//end
[ 'ህh', 'ኅ' ],
[ 'h', 'ህ' ],
[ '(l|L)', 'ል' ],
[ 'H', 'ሕ' ],
[ '(m|M)', 'ም' ],
[ '(r|R)', 'ር' ],
[ 'ስs', 'ሥ' ],
[ 's', 'ስ' ],
[ '(x|X)', 'ሽ' ],
[ 'q', 'ቅ' ],
[ 'ቅW', 'ቋ' ],
[ 'Q', 'ቕ' ],
[ 'ቕW', 'ቛ' ],
[ '(b|B)', 'ብ' ],
[ '(v|V)', 'ቭ' ],
[ 't', 'ት' ],
[ 'c', 'ች' ],
[ 'n', 'ን' ],
[ 'N', 'ኝ' ],
[ 'k', 'ክ' ],
[ '(ክW|ኳa)', 'ኳ' ],
[ 'K', 'ኽ' ],
[ '(ኽW|ዃa)', 'ዃ' ],
[ 'z', 'ዝ' ],
[ 'Z', 'ዥ' ],
[ '(y|Y)', 'ይ' ],
[ 'd', 'ድ' ],
[ 'D', 'ዽ' ],
[ '(j|J)', 'ጅ' ],
[ 'g', 'ግ' ],
[ '(ግW|ጓa)', 'ጓ' ],
[ 'G', 'ጝ' ],
[ 'T', 'ጥ' ],
[ 'C', 'ጭ' ],
[ 'P', 'ጵ' ],
[ 'ጽS', 'ፅ' ],
[ 'S', 'ጽ' ],
[ '(f|F)', 'ፍ' ],
[ 'p', 'ፕ' ],
[ '(w|W)', 'ው' ],
// vowels
// the following mappings are not documented in Ethiopic sera
[ 'አa', 'ዓ' ],
[ 'A', 'ኣ' ],
[ 'አe', '' ],
[ 'ኡu', 'ዑ' ],
[ 'ኢi', 'ዒ' ],
[ 'ኤE', 'ዔ' ],
[ 'እe', 'ዕ' ],
[ 'ኦo', 'ዖ' ],
//end undocumented
[ 'እa', 'ኧ' ],
[ 'e', 'እ' ],
[ 'u', 'ኡ' ],
[ 'i', 'ኢ' ],
[ 'a', 'አ' ],
[ 'E', 'ኤ' ],
[ 'o', 'ኦ' ],
//end vowels
[ '\\<\\<', '«' ],
[ '\\>\\>', '»' ],
[ '\\?\\?', '፧' ],
[ '\\*\\*', '፨' ],
[ '\\;', '፤' ],
[ '፡\\:', '።' ],
[ ',', '፣' ],
[ '፡-', '፦' ],
[ '\\:', '፡' ]
]
};
$.ime.register( amTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,168 @@
( function ( $ ) {
'use strict';
var asAvro = {
id: 'as-avro',
name: 'Assamese Avro',
description: 'Assamese Avro layout based on Bengali Avro input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 2,
patterns: [
['([ক-হড়ঢ়য়ৰ])্?ৰৰi', '[^o`]', '$1ৃ'],
['ৰৰi', '[^o`]', 'ঋ'],
['(([ক-হড়ঢ়য়ৰ])|য়)o', '[^o`]', '$1'], // য় cannot be included in the range, why? everywhere else it is OK!
['([ক-হড়ঢ়য়ৰ])a', '[^o`]', '$1া'],
['([ক-হড়ঢ়য়ৰ])i', '[^o`]', '$1ি'],
['([ক-হড়ঢ়য়ৰ])I', '[^o`]', '$1ী'],
['([ক-হড়ঢ়য়ৰ])u', '[^o`]', '$1ু'],
['([ক-হড়ঢ়য়ৰ])U', '[^o`]', '$1ূ'],
['([ক-হড়ঢ়য়ৰ])o', '[o`]', '$1ু'],
['([ক-হড়ঢ়য়ৰ])e', '[^o`]', '$1ে'],
['([ক-হড়ঢ়য়ৰ])োI', '[^o`]', '$1ৈ'],
['([ক-হড়ঢ়য়ৰ])O', '[^o`]', '$1ো'],
['([ক-হড়ঢ়য়ৰ])োU', '[^o`]', '$1ৌ'],
//'চচh', '[^o`]', 'চ্চ'],
['([কঙলষস])(k|K)', '[^o`]', '$1্ক'],
['([ঙদল])(g|G)', '[^o`]', '$1্গ'],
['গg', '[^o`]', 'জ্ঞ'],
['([চশ])c', '[^o`]', '$1্চ'],
['([জঞব])j', '[^o`]', '$1্জ'],
['নj', '[^o`]', 'ঞ্জ'],
['([কটণনপলষস])T', '[^o`]', '$1্ট'],
['([ডণনল])D', '[^o`]', '$1্ড'],
['([গষহ])N', '[^o`]', '$1্ণ'],
['([কতনপশসহ])t', '[^o`]', '$1্ত'],
['([দনব])d', '[^o`]', '$1্দ'],
['([গঘণতধনপমশসহ])n', '[^o`]', '$1্ন'],
['([পমলস])p', '[^o`]', '$1্প'],
['([বমল])b', '[^o`]', '$1্ব'],
['([দম])(v|V)', '[^o`]', '$1্ভ'],
['([কগঙটণতদধনমলশষসহ])m', '[^o`]', '$1্ম'],
['([ক-ঘচ-ঝট-যলশ-হড়ঢ়য়])r', '[^o`]', '$1্ৰ'],
['([কগপ-বমলশসহ])l', '[^o`]', '$1্ল'],
['([কনপ])s', '[^o`]', '$1্স'],
['([ক-হড়ঢ়য়ৰ])w', '[^o`]', '$1্ব'],
['([ক-হড়ঢ়য়ৰ])y', '[^o`]', '$1্য'],
['নc', '[^o`]', 'ঞ্চ'],
['ত`', '`' , 'ৎ'],
['ক্ক(h|H)', '[^o`]', 'ক্ষ'],
['কশ(h|H)', '[^o`]', 'ক্ষ'],
//'([অ-ঔা-ৌ])ৰৰk', '[^o]', '$1র্ক'],
['ৰৰk', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ক'],
['ৰৰg', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্গ'],
['ৰৰc', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্চ'],
['ৰৰj', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্জ'],
['ৰৰT', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ট'],
['ৰৰD', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ড'],
['ৰৰN', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ণ'],
['ৰৰt', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ত'],
['ৰৰd', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্দ'],
['ৰৰn', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ন'],
['ৰৰp', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্প'],
['ৰৰf', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ফ'],
['ৰৰb', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ব'],
['ৰৰv', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ভ'],
['ৰৰm', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ম'],
['ৰৰz', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্য'],
['ৰৰl', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ল'],
['ৰৰS', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্শ'],
['ৰৰs', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্স'],
['ৰৰh', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্হ'],
['ৰৰR', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্ড়'],
['ৰৰ(y|Y)', '(o|a|i|I|u|U|e|O|OI|OU|rri)rr', 'র্য়'],
['শ(h|H)', 'S', 'ষ'],
['অo', '[^`]', 'উ'],
['এe', '[^o`]', 'ঈ'],
['কh', '[^o`]', 'খ'],
['গh', '[^o`]', 'ঘ'],
['ণg', '[^o`]', 'ঙ'],
['চh', '[^o`]', 'ছ'],
['জh', '[^o`]', 'ঝ'],
['ণG', '[^o`]', 'ঞ'],
['টh', '[^o`]', 'ঠ'],
['ডh', '[^o`]', 'ঢ'],
['তh', '[^o`]', 'থ'],
['দh', '[^o`]', 'ধ'],
['পh', '[^o`]', 'ফ'],
['বh', '[^o`]', 'ভ'],
['(সh)', '[^o`]', 'শ'],
['ড়h', '[^o`]', 'ঢ়'],
['ত্`', '[^o`]', 'ৎ'],
['নg', '[^o`]', 'ং'],
['ঃ`', '[^o`]', ':'],
['ৰৰi', '[^o`]', 'ঋ'],
['ওI', '[^o`]', 'ঐ'],
['ওU', '[^o`]', 'ঔ'],
['(k|K)', 'ক'],
['(g|G)', 'গ'],
['(c|C)', 'চ'],
['j', 'জ'],
['T', 'ট'],
['D', 'ড'],
['N', 'ণ'],
['t', 'ত'],
['d', 'দ'],
['n', 'ন'],
['(p|P)', 'প'],
['f', 'ফ'],
['(b|B)', 'ব'],
['(v|V)', 'ভ'],
['(m|M)', 'ম'],
['z', 'য'],
['r', 'ৰ'],
['(l|L)', 'ল'],
['S', 'শ'],
['s', 'স'],
['(h|H)', 'হ'],
['R', 'ড়'],
['(y|Y)', 'য়'],
['Z','্য'],
['o', 'অ'],
['(a|A)', 'আ'],
['i', 'ই'],
['I', 'ঈ'],
['u', 'উ'],
['U', 'ঊ'],
['e', 'এ'],
['O', 'ও'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['\\\\\\.', '.'],
[',,','্'],
['\\:','ঃ'],
['\\^','ঁ'],
['\\.', '।'],
['\\$', '৳'],
['ঃ`', ':'],
['`', '']]
};
$.ime.register( asAvro );
}( jQuery ) );

View File

@@ -0,0 +1,84 @@
( function ( $ ) {
'use strict';
var asBornona = {
id: 'as-bornona',
name: 'Assamese Bornona',
description: 'Bornona input method for Assamese',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['q', 'ং'],
['Q', 'ঙ'],
['w', 'ঢ'],
['W', 'ঠ'],
['e', 'ে'],
['E', 'ৈ'],
['r', 'ৰ'],
['R', 'ৃ'],
['t', 'ত'],
['T', 'ট'],
['y', 'ধ'],
['Y', 'থ'],
['u', 'ু'],
['U', 'ূ'],
['i', 'ি'],
['I', 'ী'],
['o', 'ো'],
['O', 'ৌ'],
['p', 'প'],
['P', '্ৰ'],
['\\|', 'র'],
['\\\\', 'ৱ'],
['a', 'া'],
['A', 'অ'],
['s', 'স'],
['S', 'শ'],
['d', 'দ'],
['D', 'ড'],
['f', 'ফ'],
['F', 'ৰ্ফ'],
['g', 'গ'],
['G', 'ঘ'],
['h', '্'],
['H', 'হ'],
['j', 'জ'],
['J', 'ঝ'],
['k', 'ক'],
['K', 'খ'],
['l', 'ল'],
['L', '।'],
['z', 'য'],
['Z', 'ড়'],
['x', 'ষ'],
['X', 'ঢ়'],
['c', 'চ'],
['C', 'ছ'],
['v', 'ভ'],
['V', '্য'],
['b', 'ব'],
['B', 'য়'],
['n', 'ন'],
['N', 'ণ'],
['m', 'ম'],
['M', 'ঞ'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['\\`', '\u200C']]
};
$.ime.register( asBornona );
}( jQuery ) );

View File

@@ -0,0 +1,124 @@
( function ( $ ) {
'use strict';
var asInScript = {
id: 'as-inscript',
name: 'Assamese InScript',
description: 'InScript input method for Assamese according to CDAC\'s Enhanced InScript Keyboard Layout 5.2',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['X', 'ঁ'],
['x', 'ং'],
['_', 'ঃ'],
['D', 'অ'],
['E', 'আ'],
['F', 'ই'],
['R', 'ঈ'],
['G', 'উ'],
['T', 'ঊ'],
['\\+', 'ঋ'],
['S', 'এ'],
['W', 'ঐ'],
['A', 'ও'],
['Q', 'ঔ'],
['k', 'ক'],
['K', 'খ'],
['i', 'গ'],
['I', 'ঘ'],
['U', 'ঙ'],
[';', 'চ'],
['\\:', 'ছ'],
['p', 'জ'],
['P', 'ঝ'],
['\\}', 'ঞ'],
['\'', 'ট'],
['\"', 'ঠ'],
['\\[', 'ড'],
['\\{', 'ঢ'],
['C', 'ণ'],
['l', 'ত'],
['L', 'থ'],
['o', 'দ'],
['O', 'ধ'],
['v', 'ন'],
['h', 'প'],
['H', 'ফ'],
['y', 'ব'],
['Y', 'ভ'],
['c', 'ম'],
['\\?', 'য'],
['j', '\u09F0'],
['J', 'ৎ'],
['n', 'ল'],
['M', 'শ'],
['\\<', 'ষ'],
['m', 'স'],
['u', 'হ'],
['\\]', '়'],
['e', 'া'],
['f', 'ি'],
['r', 'ী'],
['g', 'ু'],
['t', 'ূ'],
['\\=', 'ৃ'],
['s', 'ে'],
['w', 'ৈ'],
['a', 'ো'],
['q', 'ৌ'],
['d', '্'],
['/', 'য়'],
['\\>', '৤'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['z', 'ʼ'],
['\\!', 'অ্যা'],
['\\#', '্\u09F0'],
['\\$', '\u09F0্'],
['\\%', 'জ্ঞ'],
['\\^', 'ত্র'],
['\\&', 'ক্ষ'],
['\\*', 'শ্র'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', 'ঌ'],
['\\>', 'ঽ'],
['\\=', 'ৠ'],
['l', 'ৎ'],
['\\[', 'ড়'],
['\\{', 'ঢ়'],
['\\+', 'ৠ'],
['R', 'ৡ'],
['f', 'ৢ'],
['r', 'ৣ'],
['\\.', '৥'],
['x', '৺'],
['\\<', '৲'],
[',', '৳'],
['\\!', '৴'],
['\\@', '৵'],
['\\#', '৶'],
['\\$', '৷'],
['\\%', '৸'],
['\\^', '৹'],
['\\?', '৻'],
['4', '₹']]
};
$.ime.register( asInScript );
}( jQuery ) );

View File

@@ -0,0 +1,114 @@
( function ( $ ) {
'use strict';
var asTransliteration = {
id: 'as-transliteration',
name: 'Assamese Transliteration',
description: 'Assamese Transliteration input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 8,
maxKeyLength: 0,
patterns: [
['([ক-হড়-য়ৰৱ])(্ড়্ড়্i|্q)', '$1ৃ'], // <consonant>RRi or <consonant>q
['(ড়্ড়্i|q)', 'ঋ'], // RRi or q
['([ক-হড়-য়ৰৱ])্o', '$1'], // <consonant>o
['([ক-হড়-য়ৰৱ])্a', '$1া'], // <consonant>a
['([ক-হড়-য়ৰৱ])্i', '$1ি'], // <consonant>i
['([ক-হড়-য়ৰৱ])(িi|্I)', '$1ী'], // <consonant>ii or <consonant>I
['([ক-হড়-য়ৰৱ])্u', '$1ু'], // <consonant>u
['([ক-হড়-য়ৰৱ])(ুu|্U)', '$1ূ'], // <consonant>uu or <consonant>U
['([ক-হড়-য়ৰৱ])্e', '$1ে'], // <consonant>e
['([ক-হড়-য়ৰৱ])i', '$1ৈ'], // <consonant>oi
['([ক-হড়-য়ৰৱ])্O', '$1ো'], // <consonant>O
['([ক-হড়-য়ৰৱ])u', '$1ৌ'], // <consonant>ou
['(খ্y|c)', 'ক্ষ্'], // khy or c
['ইi', 'ঈ'], // ii
['উu', 'ঊ'], // uu
['অi', 'ঐ'], // oi
['অu', 'ঔ'], // ou
['ত্~', 'ৎ'], // t~
['ক্h', 'খ্'], // kh
['গ্h', 'ঘ্'], // gh
['ন্g', 'ঙ্'], // ng
['জ্h', 'ঝ্'], // jh
['(ন্~|Y)', 'ঞ্'], // n~ or Y
['ট্h', 'ঠ্'], // Th
['ড্h', 'ঢ্'], // Dh
['ত্h', 'থ্'], // th
['দ্h', 'ধ্'], // dh
['(প্h|f)', 'ফ্'], // ph or f
['(ব্h|v)', 'ভ্'], // bh or v
['শ্h', 'ষ্'], // Xh
['ড়্h', 'ঢ়্'], // Rh
['(M|ন্G)', 'ং'], // M or nG
['o', 'অ'],
['a', 'আ'],
['i', 'ই'],
['I', 'ঈ'],
['u', 'উ'],
['U', 'ঊ'],
['e', 'এ'],
['O', 'ও'],
['H', 'ঃ'],
['\\^', 'ঁ'],
['ণ্~', 'ঁ'], // N~
['C', '৺'],
['k', 'ক্'],
['g', 'গ্'],
['s', 'চ্'],
['S', 'ছ্'],
['j', 'জ্'],
['T', 'ট্'],
['D', 'ড্'],
['N', 'ণ্'],
['t', 'ত্'],
['d', 'দ্'],
['n', 'ন্'],
['p', 'প্'],
['b', 'ব্'],
['m', 'ম্'],
['z', 'য্'],
['r', 'ৰ্'],
['l', 'ল্'],
['w', 'ৱ্'],
['X', 'শ্'],
['x', 'স্'],
['h', 'হ্'],
['R', 'ড়্'],
['y', 'য়্'],
['\\\\\\.', '.'],
['।\\.', '॥'],
['\\.', '।'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['(\u200C)*_', '\u200C'],
['(\u200D)*`', '\u200D']]
};
$.ime.register( asTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,54 @@
( function ( $ ) {
'use strict';
var berTfng = {
id: 'ber-tfng',
name: 'Tifinagh Transliteration',
description: 'Transliteration input method for Tifinagh script',
date: '2012-10-10',
URL: 'http://www.ircam.ma/fr/index.php?soc=telec&rd=2',
author: '',
license: '',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['a', 'ⴰ'],
['b', 'ⴱ'],
['c', 'ⵛ'],
['d', 'ⴷ'],
['D', ''],
['e', 'ⴻ'],
['f', 'ⴼ'],
['F', 'ⴼⵯ'],
['g', 'ⴳ'],
['G', 'ⴳⵯ'],
['h', 'ⵀ'],
['i', 'ⵉ'],
['j', 'ⵊ'],
['k', 'ⴽ'],
['K', 'ⴽⵯ'],
['l', 'ⵍ'],
['m', 'ⵎ'],
['n', ''],
['o', 'ⵄ'],
['p', 'ⵃ'],
['q', 'ⵇ'],
['Q', 'ⵈ'],
['r', ''],
['R', ''],
['s', 'ⵙ'],
['S', 'ⵚ'],
['t', 'ⵜ'],
['T', 'ⵟ'],
['v', 'ⵖ'],
['u', 'ⵓ'],
['w', 'ⵡ'],
['y', 'ⵢ'],
['x', 'ⵅ'],
['z', 'ⵣ'],
['Z', 'ⵥ']]
};
$.ime.register( berTfng );
}( jQuery ) );

View File

@@ -0,0 +1,194 @@
( function ( $ ) {
'use strict';
var bnAvro = {
id: 'bn-avro',
name: 'Bengali Avro',
description: 'Bengali Avro input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLensgth: 4,
maxKeyLength: 5,
patterns: [
['([ক-হড়ঢ়য়])্?ররi','[^o`]', '$1ৃ'],
['ররi','[^o`]', 'ঋ'],
['ঙহo', 'ঙ্ঘ'],
['([ক-হড়ঢ়য়])াZ', '[^o`]', '$1্যা'],
['(([ক-হড়ঢ়য়])|য়)o','[^o`]', '$1'], // য় cannot be included in the range, why? everywhere else it is OK!
['([ক-হড়ঢ়য়])a','[^o`]', '$1া'],
['([ক-হড়ঢ়য়])i','[^o`]', '$1ি'],
['([ক-হড়ঢ়য়])(I|েe)','[^o`]', '$1ী'],
['([ক-হড়ঢ়য়])u','[^o`]', '$1ু'],
['([ক-হড়ঢ়য়])U','[^o`]', '$1ূ'],
['([ক-হড়ঢ়য়])o','[o`]', '$1ু'],
['([ক-হড়ঢ়য়])e','[^o`]', '$1ে'],
['([ক-হড়ঢ়য়])োI','[^o`]', '$1ৈ'],
['([ক-হড়ঢ়য়])O','[^o`]', '$1ো'],
['([ক-হড়ঢ়য়])োU','[^o`]', '$1ৌ'],
['([ক-হড়ঢ়য়][িুেো]|[এইওউ])a','[^o`]', '$1য়া'],
['([ক-হড়ঢ়য়][াে]|[আএ])o', '[^o`]', '$1ও'],
['([কঙলষস])(k|K)','[^o`]','$1্ক'],
['([ঙদল])(g|G)','[^o`]','$1্গ'],
['গg','[^o`]','জ্ঞ'],
['([চশ])c','[^o`]','$1্চ'],
['([জঞব])j','[^o`]','$1্জ'],
['নj','[^o`]','ঞ্জ'],
['([কটণনপলষস])T','[^o`]','$1্ট'],
['([ডণনল])D','[^o`]','$1্ড'],
['([গষহ])N','[^o`]','$1্ণ'],
['([কতনপশসহ])t','[^o`]','$1্ত'],
['([দনব])d','[^o`]','$1্দ'],
['([গঘণতধনপমশসহ])n','[^o`]','$1্ন'],
['([পমলষস])p','[^o`]','$1্প'],
['([স])f', '[^o`]', '$1্ফ'],
['([বমল])b','[^o`]','$1্ব'],
['([দম])(v|V)','[^o`]','$1্ভ'],
['([কগঙটণতদধনমলশষসহ])m','[^o`]','$1্ম'],
['([ক-ঘচ-ঝট-যলশ-হড়ঢ়য়])r','[^o`]','$1্র'],
['([কগপ-বমলশসহ])l','[^o`]','$1্ল'],
['([কনপ])s','[^o`]','$1্স'],
['([ক-হড়ঢ়য়])w','[^o`]','$1্ব'],
['([ক-হড়ঢ়য়])y','[^o`]','$1্য'],
['নc','[^o`]','ঞ্চ'],
['ত`','`' ,'ৎ'],
['ক্ক(h|H)','[^o`]','ক্ষ'],
['কশ(h|H)','[^o`]','ক্ষ'],
['ররk','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ক'],
['ররg','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্গ'],
['ররc','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্চ'],
['ররj','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্জ'],
['ররT','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ট'],
['ররD','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ড'],
['ররN','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ণ'],
['ররt','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ত'],
['ররd','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্দ'],
['ররn','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ন'],
['ররp','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্প'],
['ররf','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ফ'],
['ররb','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ব'],
['ররv','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ভ'],
['ররm','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ম'],
['ররz','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্য'],
['ররl','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ল'],
['ররS','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্শ'],
['ররs','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্স'],
['ররh','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্হ'],
['ররR','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্ড়'],
['রর(y|Y)','(o|a|i|I|u|U|e|O|OI|OU|rri)rr','র্য়'],
['ংo', 'ঙ্গ'],
['ংi', 'ঙ্গি'],
['ংI', 'ঙ্গী'],
['(ংu|ঙ্গo)', 'ঙ্গু'],
['ংU', 'ঙ্গূ'],
['ং', 'ঙ্গি'],
['ং', 'ঙ্গি'],
['শ(h|H)','S', 'ষ'],
['অo','[^`]', 'উ'],
['এe','[^o`]', 'ঈ'],
['ক(h|H)','[^o`]', 'খ'],
['গ(h|H)','[^o`]', 'ঘ'],
['ণg','[^o`]', 'ঙ'],
['চ(h|H)','[^o`]', 'ছ'],
['জ(h|H)','[^o`]', 'ঝ'],
['ণG','[^o`]', 'ঞ'],
['ট(h|H)','[^o`]', 'ঠ'],
['ড(h|H)','[^o`]', 'ঢ'],
['ত(h|H)','[^o`]', 'থ'],
['দ(h|H)','[^o`]', 'ধ'],
['প(h|H)','[^o`]', 'ফ'],
['ব(h|H)','[^o`]', 'ভ'],
['(স(h|H))','[^o`]', 'শ'],
['ড়(h|H)','[^o`]', 'ঢ়'],
['ত্`','[^o`]', 'ৎ'],
['নg','[^o`]', 'ং'],
['ঃ`','[^o`]', ':'],
['ররi','[^o`]', 'ঋ'],
['ওI','[^o`]', 'ঐ'],
['ওU','[^o`]', 'ঔ'],
['আ`', 'া'],
['ই`', 'ি'],
['ঈ`', 'ী'],
['উ`', 'ু'],
['ঊ`', 'ূ'],
['এ`', 'ে'],
['আ`', 'া'],
['আ`', 'া'],
['আ`', 'া'],
['আ`', 'া'],
['আ`', 'া'],
['আ`', 'া'],
['([kKqQ])', 'ক'],
['(g|G)', 'গ'],
['(c|C)', 'চ'],
['(j|J)', 'জ'],
['T', 'ট'],
['D', 'ড'],
['N', 'ণ'],
['t', 'ত'],
['d', 'দ'],
['n', 'ন'],
['(p|P)', 'প'],
['f', 'ফ'],
['(b|B)', 'ব'],
['(v|V)', 'ভ'],
['(m|M)', 'ম'],
['z', 'য'],
['r', 'র'],
['(l|L)', 'ল'],
['S', 'শ'],
['s', 'স'],
['(h|H)', 'হ'],
['R', 'ড়'],
['w', 'ও'],
['x', 'ক্স'],
['(y|Y)', 'য়'],
['Z', '্য'],
['o', 'অ'],
['(a|A)', 'আ'],
['i', 'ই'],
['I', 'ঈ'],
['u', 'উ'],
['U', 'ঊ'],
['(e|E)', 'এ'],
['O', 'ও'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['\\\\\\.', '.'],
[',,', '্'],
['\\:', 'ঃ'],
['\\^', 'ঁ'],
['\\.', '।'],
['\\$', '৳'],
['ঃ`', ':'],
['`', '']]
};
$.ime.register( bnAvro );
}( jQuery ) );

View File

@@ -0,0 +1,123 @@
( function ( $ ) {
'use strict';
var bnInScript = {
id: 'bn-inscript',
name: 'Bengali InScript',
description: 'Bengali InScript input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['X', 'ঁ'],
['x', 'ং'],
['_', 'ঃ'],
['D', 'অ'],
['E', 'আ'],
['F', 'ই'],
['R', 'ঈ'],
['G', 'উ'],
['T', 'ঊ'],
['\\+', 'ঋ'],
['S', 'এ'],
['W', 'ঐ'],
['A', 'ও'],
['Q', 'ঔ'],
['k', 'ক'],
['K', 'খ'],
['i', 'গ'],
['I', 'ঘ'],
['U', 'ঙ'],
[';', 'চ'],
['\\:', 'ছ'],
['p', 'জ'],
['P', 'ঝ'],
['\\}', 'ঞ'],
['\'', 'ট'],
['\"', 'ঠ'],
['\\[', 'ড'],
['\\{', 'ঢ'],
['C', 'ণ'],
['l', 'ত'],
['L', 'থ'],
['o', 'দ'],
['O', 'ধ'],
['v', 'ন'],
['h', 'প'],
['H', 'ফ'],
['y', 'ব'],
['Y', 'ভ'],
['c', 'ম'],
['\\?', 'য'],
['j', 'র'],
['J', 'ৎ'],
['n', 'ল'],
['M', 'শ'],
['\\<', 'ষ'],
['m', 'স'],
['u', 'হ'],
['\\]', '়'],
['e', 'া'],
['f', 'ি'],
['r', 'ী'],
['g', 'ু'],
['t', 'ূ'],
['\\=', 'ৃ'],
['s', 'ে'],
['w', 'ৈ'],
['a', 'ো'],
['q', 'ৌ'],
['d', '্'],
['/', 'য়'],
['\\>', '৤'],
['0', ''],
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['z', 'ʼ'],
['\\!', 'অ্যা'],
['\\#', '্র'],
['\\$', 'র্'],
['\\%', 'জ্ঞ'],
['\\^', 'ত্র'],
['\\&', 'ক্ষ'],
['\\*', 'শ্র'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', 'ঌ'],
['\\>', 'ঽ'],
['\\=', 'ৠ'],
['l', 'ৎ'],
['\\[', 'ড়'],
['\\{', 'ঢ়'],
['\\+', 'ৠ'],
['R', 'ৡ'],
['f', 'ৢ'],
['r', 'ৣ'],
['\\.', '৥'],
['x', '৺'],
['\\<', '৲'],
[',', '৳'],
['\\!', '৴'],
['\\@', '৵'],
['\\#', '৶'],
['\\$', '৷'],
['\\%', '৸'],
['\\^', '৹'],
['\\?', '৻'],
['4', '₹']]
};
$.ime.register( bnInScript );
}( jQuery ) );

View File

@@ -0,0 +1,133 @@
( function ( $ ) {
'use strict';
var bnNkb = {
id: 'bn-nkb',
name: 'National Keyboard',
description: 'Bengali National Keyboard input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['0', ''],
['q', 'ঙ'],
['w', 'য'],
['e', 'ড'],
['r', 'প'],
['t', 'ট'],
['y', 'চ'],
['u', 'জ'],
['i', 'হ'],
['o', 'গ'],
['p', 'ড়'],
['a', 'ৃ'],
['s', 'ু'],
['d', 'ি'],
['f', 'ব'],
['g', '্'],
['h', 'া'],
['j', 'ক'],
['k', 'ত'],
['l', 'দ'],
['z', 'ঁ'],
['x', 'ো'],
['c', 'ে'],
['v', 'র'],
['b', 'ন'],
['n', 'স'],
['m', 'ম'],
['Q', 'ং'],
['W', 'য়'],
['E', 'ঢ'],
['R', 'ফ'],
['T', 'ঠ'],
['Y', 'ছ'],
['U', 'ঝ'],
['I', 'ঞ'],
['O', 'ঘ'],
['P', 'ঢ়'],
['A', 'ৗ'],
['S', 'ূ'],
['D', 'ী'],
['F', 'ভ'],
['G', '।'],
['H', 'অ'],
['J', 'খ'],
['K', 'থ'],
['L', 'ধ'],
['Z', 'ঃ'],
['X', 'ৌ'],
['C', 'ৈ'],
['V', 'ল'],
['B', 'ণ'],
['N', 'ষ'],
['M', 'শ']],
patterns_x: [
['1', '৴'],
['2', '৵'],
['3', '৶'],
['4', '৳'],
['5', '৷'],
['6', '৸'],
['7', 'ं'],
['0', '৹'],
['\\-', '\u200C'],
['\\=', '\u200D'],
['q', 'ৢ'],
['w', '্য'],
['e', 'ৄ'],
['i', 'ঽ'],
['a', 'ঋ'],
['s', 'উ'],
['d', 'ই'],
['f', 'ৰ'],
['g', '॥'],
['h', 'আ'],
['j', '঱'],
['k', 'ঢ'],
['l', 'ঌ'],
['z', '৺'],
['x', 'ও'],
['c', 'এ'],
['v', '্র'],
['\\.', '়'],
['\\$', '৲'],
['\\^', '঳'],
['Q', 'ৣ'],
['A', 'ৠ'],
['S', 'ঊ'],
['D', 'ঈ'],
['F', 'ৱ'],
['L', 'ৡ'],
['X', 'ঔ'],
['C', 'ঐ']]
};
$.ime.register( bnNkb );
}( jQuery ) );

View File

@@ -0,0 +1,102 @@
( function ( $ ) {
'use strict';
var bnProbhat = {
id: 'bn-probhat',
name: 'Bengali Probhat',
description: 'Bengali Probhat input method for Assamese',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Nasir Khan Saikat',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['1', '১'],
['2', '২'],
['3', '৩'],
['4', ''],
['5', '৫'],
['6', '৬'],
['7', ''],
['8', '৮'],
['9', '৯'],
['0', ''],
['q', 'দ'],
['w', 'ূ'],
['e', 'ী'],
['r', 'র'],
['t', 'ট'],
['y', 'এ'],
['u', 'ু'],
['i', 'ি'],
['o', 'ও'],
['p', 'প'],
['a', 'া'],
['s', 'স'],
['d', 'ড'],
['f', 'ত'],
['g', 'গ'],
['h', 'হ'],
['j', 'জ'],
['k', 'ক'],
['l', 'ল'],
['z', 'য়'],
['x', 'শ'],
['c', 'চ'],
['v', 'আ'],
['b', 'ব'],
['n', 'ন'],
['m', 'ম'],
['Q', 'ধ'],
['W', 'ঊ'],
['E', 'ঈ'],
['R', 'ড়'],
['T', 'ঠ'],
['Y', 'ঐ'],
['U', 'উ'],
['I', 'ই'],
['O', 'ঔ'],
['P', 'ফ'],
['A', 'অ'],
['S', 'ষ'],
['D', 'ঢ'],
['F', 'থ'],
['G', 'ঘ'],
['H', 'ঃ'],
['J', 'ঝ'],
['K', 'খ'],
['L', 'ং'],
['Z', 'য'],
['X', 'ঢ়'],
['C', 'ছ'],
['V', 'ঋ'],
['B', 'ভ'],
['N', 'ণ'],
['M', 'ঙ'],
['`', '\u200D'],
['\\$', '৳'],
['\\&', 'ঞ'],
['\\*', 'ৎ'],
['\\[', 'ে'],
['\\]', 'ো'],
['\\{', 'ৈ'],
['\\}', 'ৌ'],
['\\|', '॥'],
['\\.', '।'],
['/', '্'],
['<', 'ৃ'],
['>', 'ঁ'],
['\\\\', '\u200C']]
};
$.ime.register( bnProbhat );
}( jQuery ) );

View File

@@ -0,0 +1,112 @@
( function ( $ ) {
'use strict';
var brxInscript = {
id: 'brx-inscript',
name: 'Bodo Inscript',
description: 'Bodo Inscript input method',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['X', '\u0901'],
['x', '\u0902'],
['_', '\u0903'],
['D', '\u0905'],
['E', '\u0906'],
['F', '\u0907'],
['R', '\u0908'],
['G', '\u0909'],
['T', '\u090A'],
['\\+', '\u090B'],
['S', '\u090F'],
['W', '\u0910'],
['A', '\u0913'],
['Q', '\u0914'],
['k', '\u0915'],
['K', '\u0916'],
['i', '\u0917'],
['I', '\u0918'],
['U', '\u0919'],
[';', '\u091A'],
['\\:', '\u091B'],
['p', '\u091C'],
['P', '\u091D'],
['\\}', '\u091E'],
['\'', '\u091F'],
['"', '\u0920'],
['\\[', '\u0921'],
['\\{', '\u0922'],
['C', '\u0923'],
['l', '\u0924'],
['L', '\u0925'],
['o', '\u0926'],
['O', '\u0927'],
['v', '\u0928'],
['h', '\u092A'],
['H', '\u092B'],
['y', '\u092C'],
['Y', '\u092D'],
['c', '\u092E'],
['/', '\u092F'],
['j', '\u0930'],
['n', '\u0932'],
['b', '\u0935'],
['M', '\u0936'],
['\\<', '\u0937'],
['m', '\u0938'],
['u', '\u0939'],
['\\]', '\u093C'],
['e', '\u093E'],
['f', '\u093F'],
['r', '\u0940'],
['g', '\u0941'],
['t', '\u0942'],
['\\=', '\u0943'],
['s', '\u0947'],
['w', '\u0948'],
['a', '\u094B'],
['q', '\u094C'],
['d', '\u094D'],
['\\>', '\u0964'],
['0', '\u0966'],
['1', '\u0967'],
['2', '\u0968'],
['3', '\u0969'],
['4', '\u096A'],
['5', '\u096B'],
['6', '\u096C'],
['7', '\u096D'],
['8', '\u096E'],
['9', '\u096F'],
['\\#', '\u094D\u0930'],
['\\$', '\u0930\u094D'],
['\\%', '\u091C\u094D\u091E'],
['\\^', '\u0924\u094D\u0930'],
['\\&', '\u0915\u094D\u0937'],
['\\*', '\u0936\u094D\u0930'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', '\u090C'],
['N', '\u0933'],
['\\>', '\u093D'],
['\\=', '\u0944'],
['X', '\u0950'],
['e', '\u0951'],
['d', '\u0952'],
['\\+', '\u0960'],
['R', '\u0961'],
['f', '\u0962'],
['r', '\u0963'],
['\\.', '\u0965'],
[',', '\u0970'],
['\\$', '\u20B9']]
};
$.ime.register( brxInscript );
}( jQuery ) );

View File

@@ -0,0 +1,51 @@
/**
* 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';
// All the characters are very similar in appearance,
// so it's better to give them names to avoid confusion.
var cyrlPalochka, palochka, latinSmallL, latinCapitalI, ukrainianCapitalI, digitOne;
palochka = 'c';
latinSmallL = 'l';
latinCapitalI = 'I';
ukrainianCapitalI = 'І';
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.0',
contextLength: 0,
maxKeyLength: 2,
patterns: [
[ latinSmallL, palochka ],
[ latinCapitalI, palochka ],
[ ukrainianCapitalI, palochka ] ],
patterns_x: [
[ digitOne, palochka ],
[ 'д', palochka ],
[ 'ш', palochka ],
[ 'Ш', palochka ] ]
};
$.ime.register( cyrlPalochka );
}( jQuery ) );

View File

@@ -0,0 +1,28 @@
( function ( $ ) {
'use strict';
var de = {
id: 'de',
name: 'Deutsch',
description: 'German input method',
date: '2012-11-20',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Erik Moeller',
license: 'Public domain',
version: '1.0',
contextLength: 1,
maxKeyLength: 1,
patterns: [
[ '~A', 'Ä' ],
[ '~O', 'Ö' ],
[ '~U', 'Ü' ],
[ '~a', 'ä' ],
[ '~o', 'ö' ],
[ '~u', 'ü' ],
[ '~s', 'ß' ],
[ '~S', 'ß' ] ]
};
$.ime.register( de );
}( jQuery ) );

View File

@@ -0,0 +1,20 @@
( function ( $ ) {
'use strict';
var capitalize = {
id: 'en-capitalize',
name: 'English Capitalize',
description: 'Capitalize all the letters',
date: '2012-10-03',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Santhosh Thottingal',
license: 'CC-BY-SA',
version: '1.0',
patterns: [ [ '[a-z]', function ( $1 ) {
return $1.toUpperCase();
} ] ]
};
$.ime.register( capitalize );
}( jQuery ) );

View File

@@ -0,0 +1,45 @@
( function ( $ ) {
'use strict';
function prepareRules () {
var rules= [], chars;
chars = {
C: 'Ĉ',
G: 'Ĝ',
H: 'Ĥ',
J: 'Ĵ',
S: 'Ŝ',
U: 'Ŭ',
c: 'ĉ',
g: 'ĝ',
h: 'ĥ',
j: 'ĵ',
s: 'ŝ',
u: 'ŭ'
};
$.each( chars, function ( ascii, accented ) {
rules.push( [ ascii + '[Xx]', ascii, accented ] );
rules.push( [ accented + '([Xx])', '[Xx]', ascii + '$1' ] );
} );
return rules;
}
var eoTransliteration = {
id: 'eo-transliteration',
name: 'Esperanto Transliteration',
description: 'Esperanto x-code transliteration',
date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Brion Vibber',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 1,
patterns: prepareRules()
};
$.ime.register( eoTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,113 @@
( function ( $ ) {
'use strict';
var guInscript = {
id: 'gu-inscript',
name: 'Gujarati Inscript',
description: 'Inscript keyboard for Gujarati script',
date: '2012-10-14',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
patterns: [
['X', '\u0A81'],
['x', '\u0A82'],
['_', '\u0A83'],
['D', '\u0A85'],
['E', '\u0A86'],
['F', '\u0A87'],
['R', '\u0A88'],
['G', '\u0A89'],
['T', '\u0A8A'],
['\\+', '\u0A8B'],
['!', '\u0A8D'],
['S', '\u0A8F'],
['W', '\u0A90'],
['\\|', '\u0A91'],
['A', '\u0A93'],
['Q', '\u0A94'],
['k', '\u0A95'],
['K', '\u0A96'],
['i', '\u0A97'],
['I', '\u0A98'],
['U', '\u0A99'],
[';', '\u0A9A'],
['\\:', '\u0A9B'],
['p', '\u0A9C'],
['P', '\u0A9D'],
['\\}', '\u0A9E'],
['\'', '\u0A9F'],
['\"', '\u0AA0'],
['\\[', '\u0AA1'],
['\\{', '\u0AA2'],
['C', '\u0AA3'],
['l', '\u0AA4'],
['L', '\u0AA5'],
['o', '\u0AA6'],
['O', '\u0AA7'],
['v', '\u0AA8'],
['h', '\u0AAA'],
['H', '\u0AAB'],
['y', '\u0AAC'],
['Y', '\u0AAD'],
['c', '\u0AAE'],
['/', '\u0AAF'],
['j', '\u0AB0'],
['n', '\u0AB2'],
['N', '\u0AB3'],
['b', '\u0AB5'],
['M', '\u0AB6'],
['\\<', '\u0AB7'],
['m', '\u0AB8'],
['u', '\u0AB9'],
['\\}', '\u0ABC'],
['e', '\u0ABE'],
['f', '\u0ABF'],
['r', '\u0AC0'],
['g', '\u0AC1'],
['t', '\u0AC2'],
['\\=', '\u0AC3'],
['\\@', '\u0AC5'],
['s', '\u0AC7'],
['w', '\u0AC8'],
['\\\\', '\u0AC9'],
['a', '\u0ACB'],
['q', '\u0ACC'],
['d', '\u0ACD'],
['\\>', '\u0AE4'],
['0', '\u0AE6'],
['1', '\u0AE7'],
['2', '\u0AE8'],
['3', '\u0AE9'],
['4', '\u0AEA'],
['5', '\u0AEB'],
['6', '\u0AEC'],
['7', '\u0AED'],
['8', '\u0AEE'],
['9', '\u0AEF'],
['\\#', '\u0ACD\u0AB0'],
['\\$', '\u0AB0\u0ACD'],
['\\%', '\u0A9C\u0ACD\u0A9E'],
['\\^', '\u0AA4\u0ACD\u0AB0'],
['\\&', '\u0A95\u0ACD\u0AB7'],
['\\*', '\u0AB6\u0ACD\u0AB0'],
['\\(', '\u200D'],
['\\)', '\u200C'] ],
patterns_x: [
['F', '\u0A8C'],
['\\>', '\u0ABD'],
['\\=', '\u0AC4'],
['X', '\u0AD0'],
['\\+', '\u0AE0'],
['R', '\u0AE1'],
['f', '\u0AE2'],
['r', '\u0AE3'],
['\\.', '\u0AE5'],
['\\<', '\u0AF1'],
['$', '\u20B9'] ]
};
$.ime.register( guInscript );
}( jQuery ) );

View File

@@ -0,0 +1,156 @@
( function ( $ ) {
'use strict';
var guTransliteration = {
id: 'gu-transliteration',
name: 'Gujarati Transliteration',
description: 'Gujarati transliteration',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Jaldeep R Vasavada ([[User:JaldeepVasavada]]) / Amir E. Aharoni ([[User:Amire80]])',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
['ક્h', 'c', 'ચ'],
['\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1'],
['([ક-હ]઼?)્a', '$1'],
['([ક-હ]઼?)્A', '$1ા'],
['([ક-હ]઼?)a', '$1ા'],
['([ક-હ]઼?)્i', '$1િ'],
['([ક-હ]઼?)(્I|િi|ેe)', '$1ી'],
['([ક-હ]઼?)્u', '$1ુ'],
['([ક-હ]઼?)(ુu|્U|ોo)', '$1ૂ'],
['([ક-હ]઼?)્R', '$1ૃ'],
['([ક-હ]઼?)ૃR', '$1ૄ'],
['([ક-હ]઼?)ે\\^', '$1ૅ'],
['([ક-હ]઼?)્e', '$1ે'],
['([ક-હ]઼?)્E', '$1ૅ'],
['([ક-હ]઼?)ો\\^', '$1ૉ'],
['([ક-હ]઼?)i', '$1ૈ'],
['([ક-હ]઼?)્o', '$1ો'],
['([ક-હ]઼?)્O', '$1ૉ'],
['([ક-હ]઼?)u', '$1ૌ'],
['([ક-હ]઼?)ૃa', '$1્ર'],
['([ક-હ]઼?)ૃA', '$1્રા'],
['([ક-હ]઼?)ૃi', '$1્રિ'],
['([ક-હ]઼?)ૃI', '$1્રી'],
['([ક-હ]઼?)ૃu', '$1્રુ'],
['([ક-હ]઼?)ૃU', '$1્રૂ'],
['([ક-હ]઼?)ૃ\\^', '$1્રૅ'],
['([ક-હ]઼?)ૃe', '$1્રે'],
['([ક-હ]઼?)ૃE', '$1્રૅ'],
['([ક-હ]઼?)ૃo', '$1્રો'],
['([ક-હ]઼?)ૃO', '$1્રો'],
['([ક-હ]઼?)ૃ\\~', '$1્ર્'],
['([ક-હ])્J', '$1઼્'],
['અa', 'આ'],
['(ઑo|ઉu)', 'ઊ'],
['ઍ\\^', 'એ'],
['અi', 'ઐ'],
['અ\\^', 'ઍ'],
['(ઇi|ઍe)', 'ઈ'],
['ઑ\\^', 'ઓ'],
['અu', 'ઔ'],
['ઋR', 'ૠ'],
['ળ્l', 'ઌ'],
['ઌl', 'ૡ'],
['ં\\^', 'ઁ'],
['ઑM', 'ૐ'],
['રY', 'ર્ય'],
['ક્h', 'ખ્'], // kh
['ગ્h', 'ઘ્'], // gh
['ન્g', 'ઙ્'], // ng
['ચ્h', 'છ્'], // chh
['જ્h', 'ઝ્'], // jh
['જ્n', 'જ્ઞ્'], // jn
['ન્j', 'ઞ્'], // ny
['ટ્h', 'ઠ્'], // Th
['ડ્h', 'ઢ્'], // Dh
['ત્h', 'થ્'], // th
['દ્h', 'ધ્'], // dh
['પ્h', 'ફ્'], // ph
['બ્h', 'ભ્'], // bh
['ઋa', 'ર'],
['ઋA', 'રા'],
['ઋi', 'રિ'],
['ઋI', 'રી'],
['ઋu', 'રુ'],
['ઋU', 'રૂ'],
['ઋ\\^', 'રૅ'],
['ઋe', 'રે'],
['ઋE', 'રૅ'],
['ઋo', 'રો'],
['ઋ\\~', 'ર્'],
['સ્h', 'શ્'],
['ક઼્h', 'ખ'],
['a', 'અ'],
['b', 'બ્'],
['c', 'ચ્'],
['d', 'દ્'],
['e', 'એ'],
['f', 'ફ્'],
['g', 'ગ્'],
['h', 'હ્'],
['i', 'ઇ'],
['j', 'જ્'],
['k', 'ક્'],
['l', 'લ્'],
['m', 'મ્'],
['n', 'ન્'],
['o', 'ઓ'],
['p', 'પ્'],
['r', 'ર્'],
['s', 'સ્'],
['t', 'ત્'],
['u', 'ઉ'],
['(v|w)', 'વ્'],
['x', 'ક્ષ્'],
['y', 'ય્'],
['(z|Z)', 'ઝ્'],
['A', 'આ'],
['D', 'ડ્'],
['E', 'ઍ'],
['F', 'ફ્'],
['H', ''],
['I', 'ઈ'],
['L', 'ળ્'],
['M', 'ં'],
['N', 'ણ્'],
['O', 'ઑ'],
['R', 'ઋ'],
['S', 'ષ્'],
['T', 'ટ્'],
['U', 'ઊ'],
['0', ''],
['1', '૧'],
['2', '૨'],
['3', '૩'],
['4', '૪'],
['5', '૫'],
['6', '૬'],
['7', '૭'],
['8', '૮'],
['9', '૯'],
// Danda characters are only needed in some text, so '.' is not mapped to it.
['।K', '॥'], // Double danda, must be before danda
['K', '।'], // Danda
['//', 'ઽ'],
['J', '઼'], // Nukta
['(\u200C)*`', '\u200C']] // ZWNJ
};
$.ime.register( guTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,65 @@
( function ( $ ) {
'use strict';
var heStandardExtOnly = {
id: 'he-standard-2012-extonly',
name: 'Hebrew 2012',
description: 'Hebrew keyboard according to Israeli Standard 1452',
date: '2012-10-15',
URL: 'http://www.lingnu.com/he/howto/78-si1452.html',
author: 'Amir E. Aharoni (אָמִיר אֱלִישָׁע אַהֲרוֹנִי, [[User:Amire80]])',
license: 'GPLv3',
version: '1.0',
patterns: [], //// Empty, because the assumption is that the user is using a Hebrew keyboard already
patterns_x: [
['\u05E9', 'ְ'], // Sheva, ש
['\u05E7', 'ָ'], // Qamats, ק
['\u05E8', 'ֳ'], // Hataf qamats, ר
['\u05E4', 'ַ'], // Patah, פ
['\\]', 'ֲ'], // Hataf patah, ]
['\u05E6', 'ֵ'], // Tsere, צ
['\u05E1', 'ֶ'], // Segol, ס
['\u05D1', 'ֱ'], // Hataf segol, ב
['\u05D7', 'ִ'], // Hiriq, ח
['\u05D5', 'ֹ'], // Holam, ו
['\\\\', 'ֻ'], // Qubuts, \
['\u05D3', 'ּ'], // Dagesh, ד
['/', 'ׂ'], // Sin dot
['\'', 'ׁ'], // Shin dot
['-', '\u05BE'], // Maqaf
['=', ''], // Qav mafrid - en dash
['\\[', 'ֿ'], // Rafe
['1', 'ֽ'], // Meteg
['3', '€'], // Euro sign
['4', '₪'], // Sheqel sign
['5', '°'], // Degree
['6', '֫'], // Ole
['8', '×'], // Multiplication
['\\.', '÷'], // Division
['\u05D8', 'װ'], // Double vav, ט
['\u05D9', 'ײ'], // Double yod, י
['\u05E2', 'ױ'], // Vav-yod, ע
// Some source code editors may show the next two lines
// in a weird way because of auto-directionality.
[';', '׳'], // Geresh, ;
[',', '״'], // Gershayim, ,
['\u05E3', '„'], // Opening double quote, ף
['\u05DA', '”'], // Closing double quote, ך
['\u05E5', ''], // Opening single quote, ץ
['\u05EA', ''] // Closing single quote, ת
]
};
$.ime.register( heStandardExtOnly );
}( jQuery ) );

View File

@@ -0,0 +1,115 @@
( function ( $ ) {
'use strict';
var heStandard = {
id: 'he-standard-2012',
name: 'Hebrew 2012 (from English)',
description: 'Hebrew keyboard according to Israeli Standard 1452',
date: '2012-10-15',
URL: 'http://www.lingnu.com/he/howto/78-si1452.html',
author: 'Amir E. Aharoni (אָמִיר אֱלִישָׁע אַהֲרוֹנִי, [[User:Amire80]])',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
[ 'q', '/' ],
[ 'w', '\'' ],
[ 'e', 'ק' ],
[ 'r', 'ר' ],
[ 't', 'א' ],
[ 'y', 'ט' ],
[ 'u', 'ו' ],
[ 'i', 'ן' ],
[ 'o', 'ם' ],
[ 'p', 'פ' ],
[ 'a', 'ש' ],
[ 's', 'ד' ],
[ 'd', 'ג' ],
[ 'f', 'כ' ],
[ 'g', 'ע' ],
[ 'h', 'י' ],
[ 'j', 'ח' ],
[ 'k', 'ל' ],
[ 'l', 'ך' ],
[ ';', 'ף' ],
[ '\'', ',' ],
[ 'z', 'ז' ],
[ 'x', 'ס' ],
[ 'c', 'ב' ],
[ 'v', 'ה' ],
[ 'b', 'נ' ],
[ 'n', 'מ' ],
[ 'm', 'צ' ],
[ ',', 'ת' ],
[ '\\.', 'ץ' ],
[ '/', '.' ],
[ '`', ';' ],
// These characters are mirrored in RTL languages
[ '\\(', ')' ],
[ '\\)', '(' ],
[ '\\[', ']' ],
[ '\\]', '[' ],
[ '{', '}' ],
[ '}', '{' ],
[ '<', '>' ],
[ '>', '<' ]
],
// Your text editor may show the resulting characters in
// the next lines as empty. These are diacritics.
patterns_x: [
[ 'a', 'ְ' ], // Sheva
[ 'e', 'ָ' ], // Qamats
[ 'r', 'ֳ' ], // Hataf qamats
[ 'p', 'ַ' ], // Patah
[ '\\[', 'ֲ' ], // Hataf patah
[ 'm', 'ֵ' ], // Tsere
[ 'x', 'ֶ' ], // Segol
[ 'c', 'ֱ' ], // Hataf segol
[ 'j', 'ִ' ], // Hiriq
[ 'u', 'ֹ' ], // Holam
[ '\\\\', 'ֻ' ], // Qubuts
[ 's', 'ּ' ], // Dagesh
[ 'q', 'ׂ' ], // Sin dot
[ 'w', 'ׁ' ], // Shin dot
[ '-', '־' ], // Maqaf
[ '=', '' ], // Qav mafrid - en dash
[ '\\]', 'ֿ' ], // Rafe
[ '1', 'ֽ' ], // Meteg
[ '3', '€' ], // Euro sign
[ '4', '₪' ], // Sheqel sign
[ '5', '°' ], // Degree
[ '6', '֫' ], // Ole
[ '8', '×' ], // Multiplication
[ '/', '÷' ], // Division
[ 'y', 'װ' ], // Double vav
[ 'h', 'ײ' ], // Double yod
[ 'H', 'ײַ' ], // Yod yod patah
[ 'g', 'ױ' ], // Vav-yod
[ '`', '׳' ], // Geresh
[ '\'', '״' ], // Gershayim
[ ';', '„' ], // Opening double quote
[ 'l', '”' ], // Closing double quote
[ '\\.', '' ], // Opening single quote
[ ',', '' ] // Closing single quote
]
};
$.ime.register( heStandard );
}( jQuery ) );

View File

@@ -0,0 +1,109 @@
( function ( $ ) {
'use strict';
var hiBolNagri = {
id: 'hi-bolnagri',
name: 'Hindi BolNagri',
description: 'BolNagri phonetic keymap for Devanagari script',
date: '2012-03-28',
URL: 'http://www.indlinux.org/wiki/index.php/BolNagri',
author: 'G Karunakar',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 1,
patterns: [
[ 'a', 'ा' ],
[ 'b', 'ब' ],
[ 'c', 'च' ],
[ 'd', 'द' ],
[ 'e', 'े' ],
[ 'f', 'ट' ],
[ 'g', 'ग' ],
[ 'h', 'ह' ],
[ 'i', 'ि' ],
[ 'j', 'ज' ],
[ 'k', 'क' ],
[ 'l', 'ल' ],
[ 'm', 'म' ],
[ 'n', 'न' ],
[ 'o', 'ो' ],
[ 'p', 'प' ],
[ 'q', '\u200C' ], // ZWNJ
[ 'r', 'र' ],
[ 's', 'स' ],
[ 't', 'त' ],
[ 'u', 'ु' ],
[ 'v', 'ड' ],
[ 'w', 'व' ],
[ 'x', '्' ], // Halant
[ 'y', 'य' ],
[ 'z', 'श' ],
[ 'A', 'आ' ],
[ 'B', 'भ' ],
[ 'C', 'छ' ],
[ 'D', 'ध' ],
[ 'E', 'ै' ],
[ 'F', 'ठ' ],
[ 'G', 'घ' ],
[ 'H', '' ], // Visarga
[ 'I', 'ी' ],
[ 'J', 'झ' ],
[ 'K', 'ख' ],
[ 'L', 'ळ' ],
[ 'M', 'ऽ' ],
[ 'N', 'ण' ],
[ 'O', 'ौ' ],
[ 'P', 'फ' ],
[ 'Q', '\u200D' ], // ZWJ
[ 'R', 'ृ' ],
[ 'S', 'ष' ],
[ 'T', 'थ' ],
[ 'U', 'ू' ],
[ 'V', 'ढ' ],
[ 'W', 'ॐ' ],
[ 'X', 'ॉ' ],
[ 'Y', 'ञ' ],
[ 'Z', 'ॅ' ],
[ '\\$', '₹' ],
[ '\\`', 'ं' ],
[ '\\~', 'ँ' ],
[ '\\\\', '।' ], // Danda
[ '\\|', '॥' ],
[ '\\.', '़' ],
[ '\\<', '॰' ] ],
patterns_x: [
[ 'a', 'अ' ],
[ 'A', 'आ' ],
[ 'i', 'इ' ],
[ 'I', 'ई' ],
[ 'u', 'उ' ],
[ 'U', 'ऊ' ], // altgr+U triggers file upload!
[ 'e', 'ए' ],
[ 'E', 'ऐ' ],
[ 'o', 'ओ' ],
[ 'O', 'औ' ],
[ 'r', 'ऱ' ],
[ 'R', 'ऋ' ],
[ 'Z', 'ऍ' ],
[ 'X', 'ऑ' ],
[ 'l', 'ॢ' ],
[ 'L', 'ऌ' ],
// Dev digits
[ '0', '' ],
[ '1', '१' ],
[ '2', '२' ],
[ '3', '३' ],
[ '4', '४' ],
[ '5', '५' ],
[ '6', '६' ],
[ '7', '७' ],
[ '8', '८' ],
[ '9', '९' ] ]
};
$.ime.register( hiBolNagri );
}( jQuery ) );

View File

@@ -0,0 +1,122 @@
( function ( $ ) {
'use strict';
var hiInScript = {
id: 'hi-inscript',
name: 'Devanagari InScript',
description: 'InScript keyboard for Devanagari script',
date: '2011-02-26',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 1,
patterns: [
[ 'X', '\u0901' ],
[ 'x', '\u0902' ],
[ '_', '\u0903' ],
[ 'D', '\u0905' ],
[ 'E', '\u0906' ],
[ 'F', '\u0907' ],
[ 'R', '\u0908' ],
[ 'G', '\u0909' ],
[ 'T', '\u090A' ],
[ '\\+', '\u090B' ],
[ '!', '\u090D' ],
[ 'S', '\u090F' ],
[ 'W', '\u0910' ],
[ '\\|', '\u0911' ],
[ 'A', '\u0913' ],
[ 'Q', '\u0914' ],
[ 'k', '\u0915' ],
[ 'K', '\u0916' ],
[ 'i', '\u0917' ],
[ 'I', '\u0918' ],
[ 'U', '\u0919' ],
[ ';', '\u091A' ],
[ '\\:', '\u091B' ],
[ 'p', '\u091C' ],
[ 'P', '\u091D' ],
[ '\\}', '\u091E' ],
[ '\'', '\u091F' ],
[ '\'', '\u0920' ],
[ '\\[', '\u0921' ],
[ '\\{', '\u0922' ],
[ 'C', '\u0923' ],
[ 'l', '\u0924' ],
[ 'L', '\u0925' ],
[ 'o', '\u0926' ],
[ 'O', '\u0927' ],
[ 'v', '\u0928' ],
[ 'h', '\u092A' ],
[ 'H', '\u092B' ],
[ 'y', '\u092C' ],
[ 'Y', '\u092D' ],
[ 'c', '\u092E' ],
[ '/', '\u092F' ],
[ 'j', '\u0930' ],
[ 'n', '\u0932' ],
[ 'b', '\u0935' ],
[ 'M', '\u0936' ],
[ '\\<', '\u0937' ],
[ 'm', '\u0938' ],
[ 'u', '\u0939' ],
[ '\\]', '\u093C' ],
[ 'e', '\u093E' ],
[ 'f', '\u093F' ],
[ 'r', '\u0940' ],
[ 'g', '\u0941' ],
[ 't', '\u0942' ],
[ '\\=', '\u0943' ],
[ '\\@', '\u0945' ],
[ 's', '\u0947' ],
[ 'w', '\u0948' ],
[ '\\\\', '\u0949' ],
[ 'a', '\u094B' ],
[ 'q', '\u094C' ],
[ 'd', '\u094D' ],
[ '\\>', '\u0964' ],
[ '0', '\u0966' ],
[ '1', '\u0967' ],
[ '2', '\u0968' ],
[ '3', '\u0969' ],
[ '4', '\u096A' ],
[ '5', '\u096B' ],
[ '6', '\u096C' ],
[ '7', '\u096D' ],
[ '8', '\u096E' ],
[ '9', '\u096F' ],
[ '\\#', '\u094D\u0930' ],
[ '\\$', '\u0930\u094D' ],
[ '\\%', '\u091C\u094D\u091E' ],
[ '\\^', '\u0924\u094D\u0930' ],
[ '\\&', '\u0915\u094D\u0937' ],
[ '\\*', '\u0936\u094D\u0930' ],
[ '\\(', '\u200D' ],
[ '\\)', '\u200C' ] ],
patterns_x: [
[ 'F', '\u090C' ],
[ 'N', '\u0933' ],
[ '\\>', '\u093D' ],
[ '\\=', '\u0944' ],
[ 'X', '\u0950' ],
[ 'e', '\u0951' ],
[ 'd', '\u0952' ],
[ 'k', '\u0958' ],
[ 'K', '\u0959' ],
[ 'i', '\u095A' ],
[ 'p', '\u095B' ],
[ '\\[', '\u095C' ],
[ '\\+', '\u0960' ],
[ 'R', '\u0961' ],
[ 'f', '\u0962' ],
[ 'r', '\u0963' ],
[ '\\.', '\u0965' ],
[ ',', '\u0970' ],
[ '\\$', '\u20B9' ] ]
};
$.ime.register( hiInScript );
}( jQuery ) );

View File

@@ -0,0 +1,198 @@
( function ( $ ) {
'use strict';
var hiTransliteration = {
id: 'hi-transliteration',
name: 'Devanagari Transliteration',
description: 'Transliteration keyboard for Devanagari script',
date: '2011-11-20',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 3,
patterns: [
[ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ],
[ '([क-ह]़?)्a', '$1' ],
// Bug 35990 - Schwa syncope rule in Devanagari transliteration
[ '([क-ह]़?)्\\~', '$1्' ],
// Translate full stop (.) to danda
[ '([क-ह]़?)्\\.', '\\~', '$1्।' ],
[ '([क-ह]़?)्\\.', '$1।' ],
// Translate digits
[ '([क-ह]़?)्0', '\\~', '$1्' ],
[ '([क-ह]़?)्1', '\\~', '$1्१' ],
[ '([क-ह]़?)्2', '\\~', '$1्२' ],
[ '([क-ह]़?)्3', '\\~', '$1्३' ],
[ '([क-ह]़?)्4', '\\~', '$1्४' ],
[ '([क-ह]़?)्5', '\\~', '$1्५' ],
[ '([क-ह]़?)्6', '\\~', '$1्६' ],
[ '([क-ह]़?)्7', '\\~', '$1्७' ],
[ '([क-ह]़?)्8', '\\~', '$1्८' ],
[ '([क-ह]़?)्9', '\\~', '$1्९' ],
[ '([क-ह]़?)्\\r', '\\~', '$1्\r' ],
[ '([क-ह]़?)्0', '$1' ],
[ '([क-ह]़?)्1', '$1१' ],
[ '([क-ह]़?)्2', '$1२' ],
[ '([क-ह]़?)्3', '$1३' ],
[ '([क-ह]़?)्4', '$1४' ],
[ '([क-ह]़?)्5', '$1५' ],
[ '([क-ह]़?)्6', '$1६' ],
[ '([क-ह]़?)्7', '$1७' ],
[ '([क-ह]़?)्8', '$1८' ],
[ '([क-ह]़?)्9', '$1९' ],
[ '([क-ह]़?)्\\r', '$1\r' ],
[ '([क-ह]़?)्A', '$1ा' ],
[ '([क-ह]़?)a', '$1ा' ],
[ '([क-ह]़?)्i', '$1ि' ],
[ '([क-ह]़?)(्I|िi|ेe)', '$1ी' ],
[ '([क-ह]़?)्u', '$1ु' ],
[ '([क-ह]़?)(ुu|्U|ोo)', '$1ू' ],
[ '([क-ह]़?)्R', '$1ृ' ],
[ '([क-ह]़?)ृR', '$1ॄ' ],
[ '([क-ह]़?)्ळ्l', '$1ॢ' ],
[ '([क-ह]़?)ॢl', '$1ॣ' ],
[ '([क-ह]़?)्e', '$1े' ],
[ '([क-ह]़?)्E', '$1ॅ' ],
[ '([क-ह]़?)i', '$1ै' ],
[ '([क-ह]़?)्o', '$1ो' ],
[ '([क-ह]़?)्O', '$1ॉ' ],
[ '([क-ह]़?)u', '$1ौ' ],
[ '([क-ह]़?)ृa', '$1्ऱ' ],
[ '([क-ह]़?)ृA', '$1्ऱा' ],
[ '([क-ह]़?)ृi', '$1्ऱि' ],
[ '([क-ह]़?)ृI', '$1्ऱी' ],
[ '([क-ह]़?)ृu', '$1्ऱु' ],
[ '([क-ह]़?)ृU', '$1्ऱू' ],
[ '([क-ह]़?)ृ\\^', '$1्ऱॅ' ],
[ '([क-ह]़?)ृe', '$1्ऱॆ' ],
[ '([क-ह]़?)ृE', '$1्ऱे' ],
[ '([क-ह]़?)ृo', '$1्ऱॊ' ],
[ '([क-ह]़?)ृO', '$1्ऱो' ],
[ '([क-ह]़?)ृ\\~', '$1्ऱ्' ],
[ '([अ-ह]़)(्?)\\`', '$1$2' ],
[ '([क-ह])(ा|ि|ी|ु|ू|े|ै|ॅ|ो|ौ|ॉ|ृ|्)\\`', '$1़$2' ],
[ 'अa', 'आ' ],
[ 'उu', 'ऊ' ],
[ 'अi', 'ऐ' ],
[ 'अ\\^', 'ॲ' ],
[ 'इi', 'ई' ],
[ 'अu', 'औ' ],
[ 'ऋR', 'ॠ' ],
[ 'ळ्l', 'ऌ' ],
[ 'ऌl', 'ॡ' ],
[ 'ं(m|M|\\^)', 'ँ' ], // Candrabindu
[ 'आऊM', 'ॐ' ], // AUM (OM)
[ 'क्h', 'ख्' ],
[ 'ग्h', 'घ्' ],
[ 'न्g', 'ङ्' ],
[ 'च्h', 'छ्' ],
[ 'ज्h', 'झ्' ],
[ 'न्j', 'ञ्' ],
[ 'ट्h', 'ठ्' ],
[ 'ड्h', 'ढ्' ],
[ 'त्h', 'थ्' ],
[ 'द्h', 'ध्' ],
[ 'प्h', 'फ्' ],
[ 'ब्h', 'भ्' ],
[ 'ऋa', 'ऱ' ],
[ 'ऋA', 'ऱा' ],
[ 'ऋi', 'ऱि' ],
[ 'ऋI', 'ऱी' ],
[ 'ऋu', 'ऱु' ],
[ 'ऋU', 'ऱू' ],
[ 'ऋ\\^', 'ऱॅ' ],
[ 'ऋe', 'ऱे' ],
[ 'ऋE', 'ऱे' ],
[ 'ऋo', 'ऱो' ],
[ 'ऋO', 'ऱो' ],
[ 'ऋ\\~', 'ऱ्' ],
[ 'स्h', 'श्' ],
[ 'श्h', 'ष्' ],
[ 'क़्h', 'ख़्' ],
[ 'ज़्h', 'ऴ्' ],
[ '।\\.', '॥' ], // Double danda
[ '([ग्|ज्]़?)्Y', 'ज्ञ्' ],
[ 'a', 'अ' ],
[ 'b', 'ब्' ],
[ 'c', 'च्' ],
[ 'd', 'द्' ],
[ 'e', 'ए' ],
[ 'f', 'फ्' ],
[ 'g', 'ग्' ],
[ 'h', 'ह्' ],
[ 'i', 'इ' ],
[ 'j', 'ज्' ],
[ 'k', 'क्' ],
[ 'l', 'ल्' ],
[ 'm', 'म्' ],
[ 'n', 'न्' ],
[ 'o', 'ओ' ],
[ 'p', 'प्' ],
[ 'q', 'क़्' ],
[ 'r', 'र्' ],
[ 's', 'स्' ],
[ 't', 'त्' ],
[ 'u', 'उ' ],
[ '(v|w)', 'व्' ],
[ 'x', 'क्ष्' ],
[ 'y', 'य्' ],
[ 'z', 'ज़्' ],
[ 'A', 'आ' ],
[ 'B', 'ब्ब्' ],
[ 'C', 'क्क्' ],
[ 'D', 'ड्' ],
[ 'E', 'ऍ' ],
[ 'F', 'फ़्' ],
[ 'G', 'ग्ग्' ],
[ 'H', '' ], // Visarga
[ 'I', 'ई' ],
[ 'J', 'ज्ज्' ],
[ 'K', 'क्क्' ],
[ 'L', 'ळ्' ],
[ 'M', 'ं' ],
[ 'N', 'ण्' ],
[ 'O', 'ऑ' ],
[ 'P', 'प्प्' ],
[ 'R', 'ऋ' ],
[ 'S', 'श्' ],
[ 'T', 'ट्' ],
[ 'U', 'ऊ' ],
[ '(V|W)', 'व्व्' ],
[ 'X', 'क्ष्' ],
[ 'Y', 'ञ्' ],
[ 'Z', '.' ],
[ '0', '' ],
[ '1', '१' ],
[ '2', '२' ],
[ '3', '३' ],
[ '4', '४' ],
[ '5', '५' ],
[ '6', '६' ],
[ '7', '७' ],
[ '8', '८' ],
[ '9', '९' ],
[ '~', '्' ], // Virama
[ '\\.', '।' ], // Danda
[ '//', 'ऽ' ],
[ '\\`', '़' ], // Nukta
// The last rules in the Schwa syncope rule section:
// If virama not added explicitly, catch all other characters from the US keyboard,
// remove virama and send the character itself ($2).
[ '([क-ह]़?)्(.)', '\\~', '$1्$2' ],
[ '([क-ह]़?)्(.)', '$1$2' ] ]
};
$.ime.register( hiTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,60 @@
( function ( $ ) {
'use strict';
var kaTransliteration = {
id: 'ka-transliteration',
name: 'Georgian Transliteration',
description: 'Georgian transliteration',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Ioseb Dzmanashvili (http://www.code.ge), [[User:Hooman]], Srikanth L',
license: 'MIT',
version: '1.0',
contextLength: 3,
maxKeyLength: 1,
patterns: [
['\\\\([A-Za-z|\\~|\\`])', '\\\\', '$1'],
['`', '„'],
['~', '“'],
['q', 'ქ'],
['w', 'წ'],
['e', 'ე'],
['r', 'რ'],
['t', 'ტ'],
['y', ''],
['u', 'უ'],
['i', 'ი'],
['o', 'ო'],
['p', 'პ'],
['a', 'ა'],
['s', 'ს'],
['d', 'დ'],
['f', 'ფ'],
['g', 'გ'],
['h', 'ჰ'],
['j', 'ჯ'],
['k', 'კ'],
['l', 'ლ'],
['z', 'ზ'],
['x', 'ხ'],
['c', 'ც'],
['v', 'ვ'],
['b', 'ბ'],
['n', 'ნ'],
['m', 'მ'],
['W', 'ჭ'],
['R', 'ღ'],
['T', 'თ'],
['S', 'შ'],
['J', 'ჟ'],
['Z', 'ძ'],
['C', 'ჩ']]
};
$.ime.register( kaTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,111 @@
( function ( $ ) {
'use strict';
var knInscript = {
id: 'kn-inscript',
name: 'Kannada Inscript',
description: 'Inscript keyboard for Kannada script',
date: '2012-10-14',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
patterns: [
['x', '\u0C82'],
['_', '\u0C83'],
['D', '\u0C85'],
['E', '\u0C86'],
['F', '\u0C87'],
['R', '\u0C88'],
['G', '\u0C89'],
['T', '\u0C8A'],
['\\+', '\u0C8B'],
['Z', '\u0C8E'],
['S', '\u0C8F'],
['W', '\u0C90'],
['~', '\u0C92'],
['A', '\u0C93'],
['Q', '\u0C94'],
['k', '\u0C95'],
['K', '\u0C96'],
['i', '\u0C97'],
['I', '\u0C98'],
['U', '\u0C99'],
[';', '\u0C9A'],
['\\:', '\u0C9B'],
['p', '\u0C9C'],
['P', '\u0C9D'],
['\\}', '\u0C9E'],
['\'', '', '\u0C9F'],
['\"', '\u0CA0'],
['\\[', '\u0CA1'],
['\\{', '\u0CA2'],
['C', '\u0CA3'],
['l', '\u0CA4'],
['L', '\u0CA5'],
['o', '\u0CA6'],
['O', '\u0CA7'],
['v', '\u0CA8'],
['h', '\u0CAA'],
['H', '\u0CAB'],
['y', '\u0CAC'],
['Y', '\u0CAD'],
['c', '\u0CAE'],
['/', '\u0CAF'],
['j', '\u0CB0'],
['J', '\u0CB1'],
['n', '\u0CB2'],
['N', '\u0CB3'],
['b', '\u0CB5'],
['M', '\u0CB6'],
[',', '\u0CB7'],
['m', '\u0CB8'],
['u', '\u0CB9'],
['\\]', '\u0CBC'],
['e', '\u0CBE'],
['f', '\u0CBF'],
['r', '\u0CC0'],
['g', '\u0CC1'],
['t', '\u0CC2'],
['\\=', '\u0CC3'],
['z', '\u0CC6'],
['s', '\u0CC7'],
['w', '\u0CC8'],
['`', '\u0CCA'],
['a', '\u0CCB'],
['q', '\u0CCC'],
['d', '\u0CCD'],
['t', '\u0CC2'],
['0', '\u0CE6'],
['1', '\u0CE7'],
['2', '\u0CE8'],
['3', '\u0CE9'],
['4', '\u0CEA'],
['5', '\u0CEB'],
['6', '\u0CEC'],
['7', '\u0CED'],
['8', '\u0CEE'],
['9', '\u0CEF'],
['\\#', '\u0CCD\u0CB0'],
['\\%', '\u0C9C\u0CCD\u0C9E'],
['\\^', '\u0CA4\u0CCD\u0CB0'],
['\\&', '\u0C95\u0CCD\u0CB0'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', '\uC88C'],
['\\>', '\u0CBD'],
['\\=', '\u0CC4'],
['H', '\u0CDE'],
['\\+', '\u0CE0'],
['R', '\u0CE1'],
['f', '\u0CE2'],
['r', '\u0CE3'],
['\\>', '\u0CE4'],
['\\.', '\u0CE5'],
['u', '\u0CF1'],
['j', '\u0CF2'],
['\\$', '\u20B9']]
};
$.ime.register( knInscript );
}( jQuery ) );

View File

@@ -0,0 +1,157 @@
( function ( $ ) {
'use strict';
var knTransliteration = {
id: 'kn-transliteration',
name: 'Kannada Transliteration',
description: 'Kannada transliteration',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'M G Harish, HP Nadig ',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
['ಕ್h','c','ಚ್'],
['\\\\([A-Za-z\\>_~\\.0-9])','\\\\','$1'],
// For users accustomed to Baraha
['ಜ್್j', 'ಜ್ಞ್'],
['([ಕ-ಹೞ]಼?)್a', '$1'],
['([ಕ-ಹೞ]಼?)್A', '$1ಾ'],
['([ಕ-ಹೞ]಼?)a', '$1ಾ'],
['([ಕ-ಹೞ]಼?)್i', '$1ಿ'],
['([ಕ-ಹೞ]಼?)(್I|ಿi|ೆe)', '$1ೀ'],
['([ಕ-ಹೞ]಼?)್u', '$1ು'],
['([ಕ-ಹೞ]಼?)(ುu|್U|ೊo)', '$1ೂ'],
['([ಕ-ಹೞ]಼?)್R', '$1ೃ'],
['([ಕ-ಹೞ]಼?)ೃR', '$1ೄ'],
['([ಕ-ಹೞ]಼?)್e', '$1ೆ'],
['([ಕ-ಹೞ]಼?)್E', '$1ೇ'],
['([ಕ-ಹೞ]಼?)i', '$1ೈ'],
['([ಕ-ಹೞ]಼?)್o', '$1ೊ'],
['([ಕ-ಹೞ]಼?)್O', '$1ೋ'],
['([ಕ-ಹೞ]಼?)u', '$1ೌ'],
['([ಕ-ಹೞ])್\\`', '$1़್'],
['([ಕ-ಹೞ]಼?)್W', '$1ೌ'],
['([ಕ-ಹೞ]಼?)್Y', '$1ೈ'],
['ಅa', 'ಆ'],
['(ಒo|ಉu)', 'ಊ'],
['ಅi', 'ಐ'],
['(ಇi|ಎe)', 'ಈ'],
['ಅu', 'ಔ'],
['ಋR', 'ೠ'],
['ಓ~M', 'ॐ'],
['~l', 'ೞ್'],
['~h', 'ಹ್'],
['~r', 'ಱ್'],
['q', 'ೞ್'],
['Q', 'ಱ್'],
['ಕ್h', 'ಖ್'],
['ಗ್h', 'ಘ್'],
['~g', 'ಙ್'],
['~N', 'ಙ್'],
['ಚ್h', 'ಛ್'],
['ಜ್h', 'ಝ್'],
['~j', 'ಞ್'],
['~n', 'ಞ್'],
['ಟ್h', 'ಠ್'],
['ಡ್h', 'ಢ್'],
['ತ್h', 'ಥ್'],
['ದ್h', 'ಧ್'],
['ಪ್h', 'ಫ್'],
['ಬ್h', 'ಭ್'],
['ಸ್h', 'ಶ್'],
['ಶ್h', 'ಷ್'],
['ಋa', 'ರ'],
['ಋA', 'ರಾ'],
['ಋi', 'ರಿ'],
['ಋI', 'ರೀ'],
['ಋu', 'ರು'],
['ಋU', 'ರೂ'],
['ಋe', 'ರೆ'],
['ಋE', 'ರೇ'],
['X', '\u200C'], // 0x200C Zero width non-joiner
['x', '\u200D'], // 0x200D Zero width joiner
['([ಕ-ಹೞ]಼?)ೃa', '$1್ರ'],
['([ಕ-ಹೞ]಼?)ೃA', '$1್ರಾ'],
['([ಕ-ಹೞ]಼?)ೃi', '$1್ರಿ'],
['([ಕ-ಹೞ]಼?)ೃI', '$1್ರೀ'],
['([ಕ-ಹೞ]಼?)ೃu', '$1್ರು'],
['([ಕ-ಹೞ]಼?)ೃU', '$1್ರೂ'],
['([ಕ-ಹೞ]಼?)ೃe', '$1್ರೆ'],
['([ಕ-ಹೞ]಼?)ೃE', '$1್ರೇ'],
['([ಕ-ಹೞ]಼?)ೃo', '$1್ರೊ'],
['([ಕ-ಹೞ]಼?)ೃO', '$1್ರೋ'],
['([ಕ-ಹೞ]಼?)ೃ\\~', '$1್ರ್'],
['।\\.', '॥'],
['a', 'ಅ'],
['b', 'ಬ್'],
['c', 'ಚ್'],
['d', 'ದ್'],
['e', 'ಎ'],
['g', 'ಗ್'],
['h', 'ಹ್'],
['i', 'ಇ'],
['j', 'ಜ್'],
['k', 'ಕ್'],
['l', 'ಲ್'],
['m', 'ಮ್'],
['n', 'ನ್'],
['o', 'ಒ'],
['p', 'ಪ್'],
['r', 'ರ್'],
['s', 'ಸ್'],
['t', 'ತ್'],
['u', 'ಉ'],
['(v|w)', 'ವ್'],
['y', 'ಯ್'],
['A', 'ಆ'],
['B', 'ಭ್'],
['C', 'ಛ್'],
['D', 'ಡ್'],
['E', 'ಏ'],
['G', 'ಘ್'],
['H', 'ಃ'],
['I', 'ಈ'],
['J', 'ಝ್'],
['K', 'ಖ್'],
['L', 'ಳ್'],
['M', ''],
['N', 'ಣ್'],
['O', 'ಓ'],
['P', 'ಫ್'],
['R', 'ಋ'],
['S', 'ಶ್'],
['T', 'ಟ್'],
['U', 'ಊ'],
['V', 'ವ್'],
['W','','ಔ'],
['Y', 'ಐ'],
['(z|Z)', 'ಜ಼್'],
['(f|F)', 'ಫ಼್'],
['0', ''],
['1', '೧'],
['2', '೨'],
['3', '೩'],
['4', '೪'],
['5', '೫'],
['6', '೬'],
['7', '೭'],
['8', '೮'],
['9', '೯'],
['//', 'ಽ']]
};
$.ime.register( knTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,23 @@
( function ( $ ) {
'use strict';
var hiInScript, maithiliPatterns, maithiliInScript;
hiInScript = $.ime.inputmethods['hi-inscript'];
maithiliPatterns = $.extend( hiInScript.patterns, [ [ 'z', '\u02BC' ] ] ); // apostrophe
maithiliInScript = {
id: 'mai-inscript',
name: 'Maithili InScript',
description: 'InScript keyboard for Maithili',
date: '2011-02-26',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 1,
patterns: maithiliPatterns,
patterns_x: hiInScript.patterns_x
};
$.ime.register( maithiliInScript );
}( jQuery ) );

View File

@@ -0,0 +1,91 @@
( function ( $ ) {
'use strict';
var inscript = {
id: 'ml-inscript',
name: 'Malayalam InScript',
description: 'Malayalam InScript',
date: '2012-10-03',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 2,
patterns: [
[ '`', 'ൊ' ],
[ '~', 'ഒ' ],
[ '_', 'ഃ' ],
[ '=', 'ൃ' ],
[ '\\+', 'ഋ' ],
[ '\\\\', '\u200C' ],
[ 'q', 'ൗ' ],
[ 'Q', 'ഔ' ],
[ 'w', 'ൈ' ],
[ 'W', 'ഐ' ],
[ 'e', 'ാ' ],
[ 'E', 'ആ' ],
[ 'r', 'ീ' ],
[ 'R', 'ഈ' ],
[ 't', 'ൂ' ],
[ 'T', 'ഊ' ],
[ 'y', 'ബ' ],
[ 'Y', 'ഭ' ],
[ 'u', 'ഹ' ],
[ 'U', 'ങ' ],
[ 'i', 'ഗ' ],
[ 'I', 'ഘ' ],
[ 'o', 'ദ' ],
[ 'O', 'ധ' ],
[ 'p', 'ജ' ],
[ 'P', 'ഝ' ],
[ '\\[', 'ഡ' ],
[ '\\{', 'ഢ' ],
[ 'ണ്\\]', 'ൺ' ],
[ 'ന്\\]', 'ൻ' ],
[ 'ര്\\]', 'ർ' ],
[ 'ല്\\]', 'ൽ' ],
[ 'ള്\\]', 'ൾ' ],
[ 'ക്\\]', 'ൿ' ],
[ '\\}', 'ഞ' ],
[ 'a', 'ോ' ],
[ 'A', 'ഓ' ],
[ 's', 'േ' ],
[ 'S', 'ഏ' ],
[ 'd', '്' ],
[ 'D', 'അ' ],
[ 'f', 'ി' ],
[ 'F', 'ഇ' ],
[ 'g', 'ു' ],
[ 'G', 'ഉ' ],
[ 'h', 'പ' ],
[ 'H', 'ഫ' ],
[ 'j', 'ര' ],
[ 'J', 'റ' ],
[ 'k', 'ക' ],
[ 'K', 'ഖ' ],
[ 'l', 'ത' ],
[ 'L', 'ഥ' ],
[ ';', 'ച' ],
[ ':', 'ഛ' ],
[ '\'', 'ട' ],
[ '\'', '' ],
[ 'z', 'െ' ],
[ 'Z', 'എ' ],
[ 'x', '' ],
[ 'c', 'മ' ],
[ 'C', 'ണ' ],
[ 'v', 'ന' ],
[ 'b', 'വ' ],
[ 'B', 'ഴ' ],
[ 'n', 'ല' ],
[ 'N', 'ള' ],
[ 'm', 'സ' ],
[ 'M', 'ശ' ],
[ '<', 'ഷ' ],
[ '/', 'യ' ] ]
};
$.ime.register( inscript );
}( jQuery ) );

View File

@@ -0,0 +1,337 @@
( function ( $ ) {
'use strict';
var mltransliteration = {
id: 'ml-transliteration',
name: 'Malayalam Transliteration',
description: 'Malayalam Transliteration based input method',
date: '2012-10-03',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 2,
maxKeyLength: 4,
patterns: [
[ '(\u200c)+a', 'അ' ],
[ '(\u200c)+A', 'ആ' ],
[ '(\u200c)+i', 'ഇ' ],
[ '(\u200c)+u', 'ഉ' ],
[ '(\u200c)+U', 'ഊ' ],
[ '(\u200c)+R', 'ഋ' ],
[ '(\u200c)+e', 'എ' ],
[ '(\u200c)+E', 'ഏ' ],
[ '(\u200c)+I', 'ഐ' ],
[ '(\u200c)+o', 'ഒ' ],
[ '(\u200c)+O', 'ഓ' ],
[ '(\u200c)+H', 'ഃ' ],
[ 'ൻൿh', 'nc', 'ഞ്ച്' ],
[ 'ൿh', 'c', 'ച്' ],
[ 'ക്ക്h', 'cc', 'ച്ച്' ],
[ 'ല്പ്p', 'lp', 'ൽപ്പ്' ],
[ '\\\\([A-Za-z\\>_~])', '\\\\', '$1' ],
[ '([ക-ഹ])്R', '$1ൃ' ],
[ 'ന്ന്j', 'ഞ്ഞ്' ],
[ 'ന്ന്g', 'ങ്ങ്' ],
[ 'റ്റ്h', 'ത്' ],
[ 'റ്റ്t', 'ട്ട്' ],
[ 'ന്റ്h', 'ന്ത്' ],
[ '([ക-ഹ])്ല്l', 'L', '$1\u0d62' ],
[ '([ക-ഹ])\u0d62l', '$1\u0d63' ],
[ '([അ-ഊഌഎ-ഐഒ-ഹ])([ഽ-ൂെ-ൌൗ])+R', '$1$2റ്' ],
[ '([ക-ഹ])ൃa', '$1്ര' ],
[ '([ക-ഹ])ൃA', '$1്രാ' ],
[ '([ക-ഹ])ൃi', '$1്രി' ],
[ '([ക-ഹ])ൃI', '$1്രീ' ],
[ '([ക-ഹ])ൃu', '$1്രു' ],
[ '([ക-ഹ])ൃU', '$1്രൂ' ],
[ '([ക-ഹ])ൃe', '$1്രെ' ],
[ '([ക-ഹ])ൃE', '$1്രേ' ],
[ '([ക-ഹ])ൃo', '$1്രൊ' ],
[ '([ക-ഹ])ൃO', '$1്രോ' ],
[ '([ക-ഹ])്(l|L)', '$1്ല്' ],
[ 'അa', 'ആ' ],
[ 'അi', 'ഐ' ],
[ 'അu', 'ഔ' ],
[ 'ഇi', 'ഈ' ],
[ 'ഉu', 'ഊ' ],
[ 'ഊo', 'ഊഊ' ],
[ 'ഋR', 'ൠ' ],
[ 'ഋa', 'റ' ],
[ 'ഋA', 'റാ' ],
[ 'ഋi', 'റി' ],
[ 'ഋI', 'റീ' ],
[ 'ഋu', 'റു' ],
[ 'ഋU', 'റൂ' ],
[ 'ഋe', 'റെ' ],
[ 'ഋE', 'റേ' ],
[ 'ഋo', 'റൊ' ],
[ 'ഋO', 'റോ' ],
[ 'ഋ~', 'റ്' ],
[ 'ഌl', 'ൡ' ],
[ 'എe', 'ഈ' ],
[ 'ഒo', 'ഊ' ],
[ 'ാa', 'ാാ' ],
[ 'ീi', 'ീീ' ],
[ 'ൂu', 'ൂൂ' ],
[ 'ൂo', 'ൂൂ' ],
[ 'ൄR', 'ൄൄ' ],
[ 'േE', 'േേ' ],
[ 'ോO', 'ോോ' ],
[ 'ൗu', 'ൗൗ' ],
[ '\u0d62\\^', '\u0d63' ],
[ '\u0d63\\^', '\u0d63\u0d63' ],
[ 'ക്h', 'ഖ്' ],
[ 'ഗ്h', 'ഘ്' ],
[ 'ൻg', 'ങ്' ],
[ 'ച്h', 'ഛ്' ],
[ 'ജ്h', 'ഝ്' ],
[ 'ട്h', 'ഠ്' ],
[ 'ഡ്h', 'ഢ്' ],
[ 'ത്h', 'ഥ്' ],
[ 'ദ്h', 'ധ്' ],
[ 'പ്h', 'ഫ്' ],
[ 'ബ്h', 'ഭ്' ],
[ 'a', 'മ' ],
[ 'A', 'മാ' ],
[ 'i', 'മി' ],
[ 'I', 'മീ' ],
[ 'u', 'മു' ],
[ 'U', 'മൂ' ],
[ 'R', 'മൃ' ],
[ 'e', 'മെ' ],
[ 'E', 'മേ' ],
[ 'o', 'മൊ' ],
[ 'O', 'മോ' ],
[ 'm', 'മ്മ്' ],
[ '([^സ])r', '$1മ്ര്' ],
[ 'p', 'മ്പ്' ],
[ '([^സ])(l|L)', '$1മ്ല്' ],
[ '~', 'മ്' ],
[ '([^സ])n', '$1മ്ന്' ],
[ '([^സ])y', '$1മ്യ്' ],
[ 'സ്h', 'ഷ്' ],
[ 'ശ്h', 'ഴ്' ],
[ 'ൺ\\\\\\\\', 'ണ്\u200d' ], // old style chillu N
[ 'ൺ~', 'ണ്' ],
[ 'ൺR', 'ണൃ' ],
[ 'ൺN', 'ണ്ണ്' ],
[ 'ൺT', 'ണ്ട്' ],
[ 'ൺD', 'ണ്ഡ്' ],
[ 'ൺy', 'ണ്യ്' ],
[ 'ൺv', 'ണ്വ്' ],
[ 'ൺm', 'ണ്മ്' ],
[ 'ൻ\\\\\\\\', 'ന്\u200d' ], // old style chillu n
[ 'ൻ~', 'ന്' ],
[ 'ൻr', 'ന്ര്' ],
[ 'ൻR', 'നൃ' ],
[ 'ൻk', 'ങ്ക്' ],
[ 'ൻj', 'ഞ്' ],
[ 'ൻn', 'ന്ന്' ],
[ 'ൻd', 'ന്ദ്' ],
[ 'ൻt', 'ന്റ്' ],
[ 'ൻm', 'ന്മ്' ],
[ 'ൻL', 'ന്ല്' ],
[ 'ൻv', 'ന്വ്' ],
[ 'ൻy', 'ന്യ്' ],
[ 'ർ\\\\\\\\', 'ര്\u200d' ], // old style chill r
[ 'ർ~', 'ര്' ],
[ 'ർr', 'റ്' ],
[ 'ർR', 'രൃ' ],
[ 'ർy', 'ര്യ്' ],
[ 'ൽ\\\\\\\\', 'ല്\u200d' ], // old style chillu l
[ 'ൽ~', 'ല്' ],
[ 'ൽR', 'ലൃ' ],
[ 'ൽ(l|L)', 'ല്ല്' ],
[ 'ൽp', 'ല്പ്' ],
[ 'ൽy', 'ല്യ്' ],
[ 'ൽv', 'ല്വ്' ],
[ 'ൾ\\\\\\\\', 'ള്\u200d' ], // old style chillu L
[ 'ൾ~', 'ള്' ],
[ 'ൾR', 'ളൃ' ],
[ 'ൾL', 'ള്ള്' ],
[ 'ൾy', 'ള്യ്' ],
[ 'ൾl', 'ഌ' ],
[ 'ൿ\\\\\\\\', 'ക്\u200d' ], // old style chillu k
[ 'ൿR', 'കൃ' ],
[ 'ൿy', 'ക്യ്' ],
[ 'ൿ(l|L)', 'ക്ല്' ],
[ 'ൿv', 'ക്വ്' ],
[ 'ൿ(k|c)', 'ക്ക്' ],
[ '([ക-ഹ])a', '$1ാ' ],
[ '([ക-ഹ])്a', '$1' ],
[ 'ൺa', 'ണ' ],
[ 'ൻa', 'ന' ],
[ 'ർa', 'ര' ],
[ 'ൽa', 'ല' ],
[ 'ൾa', 'ള' ],
[ 'ൿa', 'ക' ],
[ '([ക-ഹ])്A', '$1ാ' ],
[ 'ൺA', 'ണാ' ],
[ 'ൻA', 'നാ' ],
[ 'ർA', 'രാ' ],
[ 'ൽA', 'ലാ' ],
[ 'ൾA', 'ളാ' ],
[ 'ൿA', 'കാ' ],
[ '([ക-ഹ])്i', '$1ി' ],
[ 'ൺi', 'ണി' ],
[ 'ൻi', 'നി' ],
[ 'ർi', 'രി' ],
[ 'ൽi', 'ലി' ],
[ 'ൾi', 'ളി' ],
[ 'ൿi', 'കി' ],
[ '([ക-ഹ])്I', '$1ീ' ],
[ 'ൺI', 'ണീ' ],
[ 'ൻI', 'നീ' ],
[ 'ർI', 'രീ' ],
[ 'ൽI', 'ലീ' ],
[ 'ൾI', 'ളീ' ],
[ 'ൿI', 'കീ' ],
[ '([ക-ഹ])ിi', '$1ീ' ],
[ '([ക-ഹ])െe', '$1ീ' ],
[ '([ക-ഹ])്u', '$1ു' ],
[ 'ൺu', 'ണു' ],
[ 'ൻu', 'നു' ],
[ 'ർu', 'രു' ],
[ 'ൽu', 'ലു' ],
[ 'ൾu', 'ളു' ],
[ 'ൿu', 'കു' ],
[ '([ക-ഹ])്U', '$1ൂ' ],
[ '([ക-ഹ])ുu', '$1ൂ' ],
[ 'ൺU', 'ണൂ' ],
[ 'ൻU', 'നൂ' ],
[ 'ർU', 'രൂ' ],
[ 'ൽU', 'ലൂ' ],
[ 'ൾU', 'ളൂ' ],
[ 'ൿU', 'കൂ' ],
[ '([ക-ഹ])ൊo', '$1ൂ' ],
[ '([ക-ഹ])ൃR', '$1ൄ' ],
[ '([ക-ഹ])്e', '$1െ' ],
[ 'ൺe', 'ണെ' ],
[ 'ൻe', 'നെ' ],
[ 'ർe', 'രെ' ],
[ 'ൽe', 'ലെ' ],
[ 'ൾe', 'ളെ' ],
[ 'ൿe', 'കെ' ],
[ '([ക-ഹ])്E', '$1േ' ],
[ 'ൺE', 'ണേ' ],
[ 'ൻE', 'നേ' ],
[ 'ർE', 'രേ' ],
[ 'ൽE', 'ലേ' ],
[ 'ൾE', 'ളേ' ],
[ 'ൿE', 'കേ' ],
[ '([ക-ഹ])i', '$1ൈ' ],
[ '([ക-ഹ])്o', '$1ൊ' ],
[ 'ൺo', 'ണൊ' ],
[ 'ൻo', 'നൊ' ],
[ 'ർo', 'രൊ' ],
[ 'ൽo', 'ലൊ' ],
[ 'ൾo', 'ളൊ' ],
[ 'ൿo', 'കൊ' ],
[ '([ക-ഹ])്O', '$1ോ' ],
[ 'ൺO', 'ണോ' ],
[ 'ൻO', 'നോ' ],
[ 'ർO', 'രോ' ],
[ 'ൽO', 'ലോ' ],
[ 'ൾO', 'ളോ' ],
[ 'ൿO', 'കോ' ],
[ '([ക-ഹ])u', '$1ൗ' ],
[ '([ക-ഹ])U', '$1ൌ' ],
[ '([അ-്])m', '$1' ],
[ '\\\\0', '' ], // escape to ml digit 0 by \0
[ '\\\\1', '൧' ], // escape to ml digit 1 by \1
[ '\\\\2', '൨' ], // escape to ml digit 2 by \2
[ '\\\\3', '൩' ], // escape to ml digit 3 by \3
[ '\\\\4', '൪' ], // escape to ml digit 4 by \4
[ '\\\\5', '൫' ], // escape to ml digit 5 by \5
[ '\\\\6', '൬' ], // escape to ml digit 6 by \6
[ '\\\\7', '' ], // escape to ml digit 7 by \7
[ '\\\\8', '൮' ], // escape to ml digit 8 by \8
[ '\\\\9', '൯' ], // escape to ml digit 9 by \9
[ 'മ്\\\\', '' ],
[ 'ആ\\\\', 'ാ' ],
[ 'ഇ\\\\', 'ി' ],
[ 'ഈ\\\\', 'ീ' ],
[ 'ഉ\\\\', 'ു' ],
[ 'ഊ\\\\', 'ൂ' ],
[ 'ഋ\\\\', 'ൃ' ],
[ 'ൠ\\\\', 'ൄ' ],
[ 'എ\\\\', 'െ' ],
[ 'ഏ\\\\', 'േ' ],
[ 'ഐ\\\\', 'ൈ' ],
[ 'ഒ\\\\', 'ൊ' ],
[ 'ഓ\\\\', 'ോ' ],
[ 'ഔ\\\\', 'ൗ' ],
[ 'ൗ\\\\', 'ൌ' ],
[ 'ഌ\\\\', 'ൢ' ],
[ 'ൡ\\\\', 'ൣ' ],
[ '(([ൺ-ൿം])\u200c+)?A', '$2ആ' ],
[ '(([ൺ-ൿം])\u200c+)?B', '$2ബ്ബ്' ],
[ '(([ൺ-ൿം])\u200c+)?C', '$2ച്ച്' ],
[ '(([ൺ-ൿം])\u200c+)?D', '$2ഡ്' ],
[ '(([ൺ-ൿം])\u200c+)?E', '$2ഏ' ],
[ '(([ൺ-ൿം])\u200c+)?F', '$2ഫ്' ],
[ '(([ൺ-ൿം])\u200c+)?G', '$2ഗ്ഗ്' ],
[ '(([ൺ-ൿം])\u200c+)?H', '$2ഃ' ],
[ '(([ൺ-ൿം])\u200c+)?I', '$2ഐ' ],
[ '(([ൺ-ൿം])\u200c+)?J', '$2ജ്ജ്' ],
[ '(([ൺ-ൿം])\u200c+)?K', '$2ക്ക്' ],
[ '(([ൺ-ൿം])\u200c+)?L', '$2ൾ' ],
[ '(([ൺ-ൿം])\u200c+)?M', '$2മ്മ്' ],
[ '(([ൺ-ൿം])\u200c+)?N', '$2ൺ' ],
[ '(([ൺ-ൿം])\u200c+)?O', '$2ഓ' ],
[ '(([ൺ-ൿം])\u200c+)?P', '$2പ്പ്' ],
[ '(([ൺ-ൿം])\u200c+)?Q', '$2ക്യ്' ],
[ '(([ൺ-ൿം])\u200c+)?R', '$2ഋ' ],
[ '(([ൺ-ൿം])\u200c+)?(S|z)', '$2ശ്' ],
[ '(([ൺ-ൿം])\u200c+)?T', '$2ട്' ],
[ '(([ൺ-ൿം])\u200c+)?U', '$2ഊ' ],
[ '(([ൺ-ൿം])\u200c+)?(V|W)', '$2വ്വ്' ],
[ '(([ൺ-ൿം])\u200c+)?X', '$2ക്ഷ്' ],
[ '(([ൺ-ൿം])\u200c+)?Y', '$2യ്യ്' ],
[ '(([ൺ-ൿം])\u200c+)?Z', '$2ശ്ശ്' ],
[ '(([ൺ-ൿം])\u200c+)?a', '$2അ' ],
[ '(([ൺ-ൿം])\u200c+)?b', '$2ബ്' ],
[ '(([ൺ-ൿം])\u200c+)?c', '$2ൿ' ],
[ '(([ൺ-ൿം])\u200c+)?d', '$2ദ്' ],
[ '(([ൺ-ൿം])\u200c+)?e', '$2എ' ],
[ '(([ൺ-ൿം])\u200c+)?f', '$2ഫ്' ],
[ '(([ൺ-ൿം])\u200c+)?g', '$2ഗ്' ],
[ '(([ൺ-ൿം])\u200c+)?h', '$2ഹ്' ],
[ '(([ൺ-ൿം])\u200c+)?i', '$2ഇ' ],
[ '(([ൺ-ൿം])\u200c+)?j', '$2ജ്' ],
[ '(([ൺ-ൿം])\u200c+)?k', '$2ക്' ],
[ '(([ൺ-ൿം])\u200c+)?l', '$2ൽ' ],
[ '(([ൺ-ൿം])\u200c+)?m', '$2മ്' ],
[ '(([ൺ-ൿം])\u200c+)?n', '$2ൻ' ],
[ '(([ൺ-ൿം])\u200c+)?o', '$2ഒ' ],
[ '(([ൺ-ൿം])\u200c+)?p', '$2പ്' ],
[ '(([ൺ-ൿം])\u200c+)?q', '$2ക്ക്' ],
[ '(([ൺ-ൿം])\u200c+)?r', '$2ർ' ],
[ '(([ൺ-ൿം])\u200c+)?s', '$2സ്' ],
[ '(([ൺ-ൿം])\u200c+)?t', '$2റ്റ്' ], // tta according to 5.1
[ '(([ൺ-ൿം])\u200c+)?u', '$2ഉ' ],
[ '(([ൺ-ൿം])\u200c+)?(v|w)', '$2വ്' ],
[ '(([ൺ-ൿം])\u200c+)?x', '$2ക്ഷ്' ],
[ '(([ൺ-ൿം])\u200c+)?y', '$2യ്' ],
[ '(([ൺ-ൿം])\u200c+)?~', '$2്' ],
[ '(\u200C)*_', '\u200c' ],
[ '//', 'ऽ' ],
[ '1/4\\\\', '൳' ],
[ '1/2\\\\', '൴' ],
[ '3/4\\\\', '൵' ],
[ '10\\\\', '\u0D70' ],
[ '100\\\\', '\u0D71' ],
[ '1000\\\\', '\u0D72' ],
[ '\\-\\-\\-\\\\', '—' ], // em dash
[ '\\-\\-\\\\', '' ], // en dash
[ '\\\\\\-', '' ],
[ '\\\\\\*', '×' ],
[ '\\\\/', '÷' ] ]
};
$.ime.register( mltransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,115 @@
( function ( $ ) {
'use strict';
var mrInScript = {
id: 'mr-inscript',
name: 'Marathi InScript',
description: 'InScript keyboard for Marathi script',
date: '2012-10-14',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
patterns: [
['X', '\u0901'],
['x', '\u0902'],
['_', '\u0903'],
['D', '\u0905'],
['E', '\u0906'],
['F', '\u0907'],
['R', '\u0908'],
['G', '\u0909'],
['T', '\u090A'],
['\\+', '\u090B'],
['!', '\u090D'],
['S', '\u090F'],
['W', '\u0910'],
['\\|', '\u0911'],
['A', '\u0913'],
['Q', '\u0914'],
['k', '\u0915'],
['K', '\u0916'],
['i', '\u0917'],
['I', '\u0918'],
['U', '\u0919'],
[';', '\u091A'],
['\\:', '\u091B'],
['p', '\u091C'],
['P', '\u091D'],
['\\}', '\u091E'],
['\'', '', '\u091F'],
['\"', '\u0920'],
['\\[', '\u0921'],
['\\{', '\u0922'],
['C', '\u0923'],
['l', '\u0924'],
['L', '\u0925'],
['o', '\u0926'],
['O', '\u0927'],
['v', '\u0928'],
['h', '\u092A'],
['H', '\u092B'],
['y', '\u092C'],
['Y', '\u092D'],
['c', '\u092E'],
['/', '\u092F'],
['j', '\u0930'],
['J', '\u0931'],
['n', '\u0932'],
['N', '\u0933'],
['b', '\u0935'],
['M', '\u0936'],
['\\<', '\u0937'],
['m', '\u0938'],
['u', '\u0939'],
['\\]', '\u093C'],
['e', '\u093E'],
['f', '\u093F'],
['r', '\u0940'],
['g', '\u0941'],
['t', '\u0942'],
['\\=', '\u0943'],
['\\@', '\u0945'],
['s', '\u0947'],
['w', '\u0948'],
['\\\\', '\u0949'],
['a', '\u094B'],
['q', '\u094C'],
['d', '\u094D'],
['\\>', '\u0964'],
['0', '\u0966'],
['1', '\u0967'],
['2', '\u0968'],
['3', '\u0969'],
['4', '\u096A'],
['5', '\u096B'],
['6', '\u096C'],
['7', '\u096D'],
['8', '\u096E'],
['9', '\u096F'],
['\\!', '\u0972'],
['\\#', '\u094D\u0930'],
['\\$', '\u0930\u094D'],
['\\%', '\u091C\u094D\u091E'],
['\\^', '\u0924\u094D\u0930'],
['\\&', '\u0915\u094D\u0937'],
['\\*', '\u0936\u094D\u0930'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', '\u090C'],
['\\>', '\u093D'],
['\\=', '\u0944'],
['X', '\u0950'],
['e', '\u0951'],
['d', '\u0952'],
['\\+', '\u0960'],
['R', '\u0961'],
['f', '\u0962'],
['r', '\u0963'],
['\\.', '\u0965'],
[',', '\u0970'],
['\\$', '\u20B9']]
};
$.ime.register( mrInScript );
}( jQuery ) );

View File

@@ -0,0 +1,148 @@
( function ( $ ) {
'use strict';
var mrTransliteration = {
id: 'mr-transliteration',
name: 'Marathi Transliteration',
description: 'Transliteration keyboard for Marathi script',
date: '2012-10-14',
author: 'Pathak A B',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
['च्h', 'c', 'च्'], // ch
['च्h', 'ch', 'छ्'], // chh
['\\\\([A-Za-z\\>_~0-9])', '\\\\', '$1'],
['([क-ह]़?)्a', '$1'],
['([क-ह]़?)्A', '$1ा'],
['([क-ह]़?)a', '$1ा'],
['([क-ह]़?)्i', '$1ि'],
['([क-ह]़?)(्I|िi|ेe)', '$1ी'],
['([क-ह]़?)्u', '$1ु'],
['([क-ह]़?)(ुu|्U|ोo)', '$1ू'],
['([क-ह]़?)्R', '$1ृ'],
['([क-ह]़?)ृR', '$1ॄ'],
['([क-ह]़?)्ळ्l', '$1ॢ'],
['([क-ह]़?)ॢl', '$1ॣ'],
['([क-ह]़?)े\\^', '$1ॅ'],
['([क-ह]़?)्e', '$1े'],
['([क-ह]़?)्E', '$1ॅ'],
['([क-ह]़?)ो\\^', '$1ॉ'],
['([क-ह]़?)i', '$1ै'],
['([क-ह]़?)्o', '$1ो'],
['([क-ह]़?)्O', '$1ॉ'],
['([क-ह]़?)u', '$1ौ'],
['([क-ह])्\\`', '$1़्'],
['([क-ह])ॉM', '$1ाँ'],
['आऊM', 'ॐ'], // AUM (OM)
['(द्न्y|ग्ग्y|ज्ज्n)', 'ज्ञ्'], // dny, ggy or jjn
['र्र्y', 'ऱ्य्'], // rry
['र्र्h', 'ऱ्ह्'], // rrh
['अa', 'आ'],
['(ऒo|उu)', 'ऊ'],
['ए\\^', 'ऍ'],
['अi', 'ऐ'],
['(अ\\^|E)', 'ॲ'],
['(इi|एe)', 'ई'],
['ऒ\\^', 'ऑ'],
['अu', 'औ'],
['ऋR', 'ॠ'],
['ळ्l', 'ऌ'],
['ऌl', 'ॡ'],
['ंM', 'ँ'],
['र्Y', 'ऱ्य्'],
['क्h', 'ख्'], //kh
['ग्h', 'घ्'],
['न्g', 'ङ्'],
['ज्h', 'झ्'],
['न्j', 'ञ्'],
['ट्h', 'ठ्'],
['ड्h', 'ढ्'],
['त्h', 'थ्'],
['द्h', 'ध्'],
['(f|प्h)', 'फ्'],
['ब्h', 'भ्'],
['ऋi', 'ॠ'], // Ri
['ऋl', 'ॡ'], // Rl
['स्h', 'श्'],
['श्h', 'ष्'],
['क़्h', 'ख़्'],
['ज़्h', 'ऴ्'],
['।\\\\', '॥'],
['a', 'अ'],
['b', 'ब्'],
['c', 'च्'],
['d', 'द्'],
['e', 'ए'],
['g', 'ग्'],
['h', 'ह्'],
['i', 'इ'],
['j', 'ज्'],
['k', 'क्'],
['l', 'ल्'],
['m', 'म्'],
['n', 'न्'],
['o', 'ओ'],
['p', 'प्'],
['q', 'क़्'],
['r', 'र्'],
['s', 'स्'],
['t', 'त्'],
['u', 'उ'],
['(v|w)', 'व्'],
['x', 'क्ष्'],
['y', 'य्'],
['(z|Z)', 'झ्'],
['A', 'आ'],
['B', 'ब्ब्'],
['C', 'क्क्'],
['D', 'ड्'],
['G', 'ग्ग्'],
['H', ''],
['I', 'ई'],
['J', 'ज्ज्'],
['K', 'क्क्'],
['L', 'ळ्'],
['M', 'ं'],
['N', 'ण्'],
['O', 'ऑ'],
['P', 'प्प्'],
['R', 'ऋ'],
['S', 'श्'],
['T', 'ट्'],
['U', 'ऊ'],
['(V|W)', 'व्व्'],
['X', 'क्ष्'],
['Y', 'य्य्'],
['0', ''],
['1', '१'],
['2', '२'],
['3', '३'],
['4', '४'],
['5', '५'],
['6', '६'],
['7', '७'],
['8', '८'],
['9', '९'],
['~', '्'],
['\\\\.', '।'], // Danda
['//', 'ऽ'],
['\\`', '़'],
['(\u200C)*_', '\u200c']]
};
$.ime.register( mrTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,113 @@
( function ( $ ) {
'use strict';
var neInScript = {
id: 'ne-inscript',
name: 'Nepali InScript',
description: 'InScript keyboard for Nepali script',
date: '2012-10-14',
author: 'Bhawani Gautam',
license: 'GPLv3',
version: '1.0',
patterns: [
['X', 'ँ'],
['x', 'ं'],
['_', ''],
['D', 'अ'],
['E', 'आ'],
['F', 'इ'],
['R', 'ई'],
['G', 'उ'],
['T', 'ऊ'],
['\\+', 'ृ'],
['S', 'ए'],
['W', 'ऐ'],
['A', 'ओ'],
['Q', 'औ'],
['k', 'क'],
['K', 'ख'],
['i', 'ग'],
['I', 'घ'],
['U', 'ङ'],
['\\;', 'च'],
['\\:', 'छ'],
['p', 'ज'],
['P', 'झ'],
['\\}', 'ञ'],
['\'', 'ट'],
['\"', 'ठ'],
['\\[', '','ड'],
['\\{', '','ढ'],
['C', 'ण'],
['l', 'त'],
['L', 'थ'],
['o', 'द'],
['O', 'ध'],
['v', 'न'],
['h', 'प'],
['H', 'फ'],
['y', 'ब'],
['Y', 'भ'],
['c', 'म'],
['\\?', '','य'],
['j', 'र'],
['J', 'द्य'],
['n', 'ल'],
['N', 'ळ'],
['b', 'व'],
['M', 'श'],
['\\<', '','ष'],
['m', 'स'],
['u', 'ह'],
['\\]', '','़'],
['e', 'ा'],
['f', 'ि'],
['r', 'ी'],
['g', 'ु'],
['t', 'ू'],
['\\=', '','ृ'],
['\\\\', 'ॄ'],
['s', 'े'],
['w', 'ै'],
['a', 'ो'],
['q', 'ौ'],
['d', '्'],
['\\|', 'ॠ'],
['/', 'य'],
['\\>', '।'],
['0', '',''],
['1', '','१'],
['2', '२'],
['3', '३'],
['4', '४'],
['5', '५'],
['6', '६'],
['7', '७'],
['8', '८'],
['9', '९'],
['\\@', 'ॅ'],
['\\#', '','्र'],
['\\$', '','र्'],
['\\%', '','ज्ञ'],
['\\^', '','त्र'],
['\\&', 'क्ष'],
['\\*', 'श्र'],
['\\(', '\u200D'],
['\\)', '\u200C'] ],
patterns_x: [
['F', 'ऌ'],
['\\>', '','ऽ'],
['X', 'ॐ'],
['e', '\u0951'],
['d', '\u0952'],
['R', 'ॡ'],
['f', 'ॢ'],
['r', 'ॣ'],
['\\.', '॥'],
['\\@', '','ॅ'],
['4', '₹']]
};
$.ime.register( neInScript );
}( jQuery ) );

View File

@@ -0,0 +1,166 @@
( function ( $ ) {
'use strict';
var neTransliteration = {
id: 'ne-transliteration',
name: 'Nepali Transliteration',
description: 'Nepali transliteration',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V ([[user:Junaidpv]]) and Bhawani Gautam ([[user:Bhawani Gautam]])',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 1,
patterns: [
['क्h','c','च्'],
['\\\\([A-Za-z\\>_~\\.0-9])','\\\\','$1'],
['([क-ह]़?)्a','$1'],
['([क-ह]़?)्A','$1ा'],
['([क-ह]़?)a','$1ा'],
['([क-ह]़?)्i','$1ि'],
['([क-ह]़?)(्I|िi|ेe)','$1ी'],
['([क-ह]़?)्u','$1ु'],
['([क-ह]़?)(ुu|्U|ोo)','$1ू'],
['([क-ह]़?)्R','$1ृ'],
['([क-ह]़?)ृR','$1ॄ'],
['([क-ह]़?)्ळ्l','$1ॢ'],
['([क-ह]़?)ॢl','$1ॣ'],
['([क-ह]़?)ॆ\\^','$1ॅ'],
['([क-ह]़?)्e','$1े'],
['([क-ह]़?)्E','$1े'],
['([क-ह]़?)ॊ\\^','$1ॉ'],
['([क-ह]़?)i','$1ै'],
['([क-ह]़?)्o','$1ो'],
['([क-ह]़?)्O','$1ो'],
['([क-ह]़?)u','$1ौ'],
['([क-ह]़?)ृa','$1्ऱ'],
['([क-ह]़?)ृA','$1्ऱा'],
['([क-ह]़?)ृi','$1्ऱि'],
['([क-ह]़?)ृI','$1्ऱी'],
['([क-ह]़?)ृu','$1्ऱु'],
['([क-ह]़?)ृU','$1्ऱू'],
['([क-ह]़?)ृ\\^','$1्ऱॅ'],
['([क-ह]़?)ृe','$1्ऱे'],
['([क-ह]़?)ृE','$1्ऱे'],
['([क-ह]़?)ृo','$1्ऱो'],
['([क-ह]़?)ृO','$1्ऱो'],
['([क-ह]़?)ृ\\~','$1्ऱ्'],
['([क-ह])्\\`','$1़्'],
['अa','आ'],
['(ओo|उu)','ऊ'],
['ऎ\\^','ए'],
['अi','ऐ'],
['अ\\^','अ'],
['(इi|एe)','ई'],
['ऒ\\^','ओ'],
['अu','औ'],
['र्र्r','\u0930\u094D\u200D'],
['ड़्h','ढ्'],
['ऋR','ॠ'],
['ळ्l','ऌ'],
['ऌl','ॡ'],
['ं\\^','ँ'],
['ंM','ँ'],
['ओM','ॐ'],
['ड्D','ड्'],
['क्h','ख्'],
['ग्h','घ्'],
['G','ङ्'],
['च्h','छ्'],
['ज्h','झ्'],
['न्j','ञ्'],
['ट्h','ठ्'],
['ड्h','ढ्'],
['त्h','थ्'],
['द्h','ध्'],
['प्h','फ्'],
['ब्h','भ्'],
['ऋa','र'],
['ऋA','रा'],
['ऋi','रि'],
['ऋI','री'],
['ऋu','रु'],
['ऋU','रू'],
['ऋ\\^','ऋ'],
['ऋe','रे'],
['ऋE','रे'],
['ऋo','रो'],
['ऋO','रो'],
['ऋ\\~','र्'],
['स्h','श्'],
['श्h','ष्'],
['क़्h','ख्'],
['ज़्h','ऴ्'],
['।\\.','॥'],
['a','अ'],
['b','ब्'],
['c','क्'],
['d','द्'],
['e','ए'],
['(f|F)','फ्'],
['g','ग्'],
['h','ह्'],
['i','इ'],
['j','ज्'],
['k','क्'],
['l','ल्'],
['m','म्'],
['n','न्'],
['o','ओ'],
['p','प्'],
['q','क़्'],
['r','र्'],
['s','स्'],
['t','त्'],
['u','उ'],
['v','भ्'],
['w','व्'],
['x','क्ष्'],
['y','य्'],
['(z|Z)','ज़्'],
['A','आ'],
['B','ब्ब्'],
['C','क्क्'],
['D','ड्'],
['E','ए'],
['H',''],
['I','ई'],
['J','ज्ज्'],
['K','क्क्'],
['L','ळ्'],
['M','ं'],
['N','ण्'],
['O','ओ'],
['P','प्प्'],
['Q','अ'],
['R','ऋ'],
['S','श्'],
['T','ट्'],
['U','ऊ'],
['V','झ्'],
['W','औ'],
['X','क्ष्'],
['Y','य्य्'],
['0',''],
['1','१'],
['2','२'],
['3','३'],
['4','४'],
['5','५'],
['6','६'],
['7','७'],
['8','८'],
['9','९'],
['\\.','।'],
['//','ऽ'],
['\\`','्']]
};
$.ime.register( neTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,107 @@
( function ( $ ) {
'use strict';
var orInScript = {
id: 'or-inscript',
name: 'Odiya InScript',
description: 'InScript keyboard for Odiya script',
date: '2012-10-14',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
patterns: [
['X', '\u0B01'],
['x', '\u0B02'],
['_', '\u0B03'],
['D', '\u0B05'],
['E', '\u0B06'],
['F', '\u0B07'],
['R', '\u0B08'],
['G', '\u0B09'],
['T', '\u0B0A'],
['\\+', '\u0B0B'],
['S', '\u0B0F'],
['W', '\u0B10'],
['A', '\u0B13'],
['Q', '\u0B14'],
['k', '\u0B15'],
['K', '\u0B16'],
['i', '\u0B17'],
['I', '\u0B18'],
['U', '\u0B19'],
[';', '\u0B1A'],
['\\:', '\u0B1B'],
['p', '\u0B1C'],
['P', '\u0B1D'],
['\\}', '\u0B1E'],
['`', '\u0B1F'],
['~', '\u0B20'],
['\\[', '\u0B21'],
['\\{', '\u0B22'],
['C', '\u0B23'],
['l', '\u0B24'],
['L', '\u0B25'],
['o', '\u0B26'],
['O', '\u0B27'],
['v', '\u0B28'],
['h', '\u0B2A'],
['H', '\u0B2B'],
['y', '\u0B2C'],
['Y', '\u0B2D'],
['c', '\u0B2E'],
['\\?', '\u0B2F'],
['j', '\u0B30'],
['n', '\u0B32'],
['N', '\u0B33'],
['M', '\u0B36'],
['\\<', '\u0B37'],
['m', '\u0B38'],
['u', '\u0B39'],
['\\]', '\u0B3C'],
['e', '\u0B3E'],
['f', '\u0B3F'],
['r', '\u0B40'],
['g', '\u0B41'],
['t', '\u0B42'],
['\\=', '\u0B43'],
['s', '\u0B47'],
['w', '\u0B48'],
['a', '\u0B4B'],
['q', '\u0B4C'],
['d', '\u0B4D'],
['/', '\u0B5F'],
['\\>', '\u0B64'],
['0', '\u0B66'],
['1', '\u0B67'],
['2', '\u0B68'],
['3', '\u0B69'],
['4', '\u0B6A'],
['5', '\u0B6B'],
['6', '\u0B6C'],
['7', '\u0B6D'],
['8', '\u0B6E'],
['9', '\u0B6F'],
['b', '\u0B71'],
['\\(', '\u200D'],
['\\)', '\u200C']],
patterns_x: [
['F', '\u0B0C'],
['b', '\u0B35'],
['\\>', '\u0B3D'],
['\\=', '\u0B44'],
['\\[', '\u0B5C'],
['\\{', '\u0B5D'],
['\\+', '\u0B60'],
['R', '\u0B61'],
['f', '\u0B62'],
['r', '\u0B63'],
['\\.', '\u0B65'],
['x', '\u0B70'],
['\\$', '\u20B9']]
};
$.ime.register( orInScript );
}( jQuery ) );

View File

@@ -0,0 +1,156 @@
( function ( $ ) {
'use strict';
var orLekhani = {
id: 'or-lekhani',
name: 'Odiya Lekhani',
description: 'Odiya Lekhani phonetic input method',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V and Subhashish Panigrahi',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
['\\\\([A-Za-z\\>_~\\.0-9])', '\\\\','$1'],
['([କ-ହୟୱ])a', '$1ା'],
['([କ-ହୟୱ])i', '$1\u0b3f'],
['([କ-ହୟୱ])I', '$1ୀ'],
['([କ-ହୟୱ])u', '$1\u0b41'],
['([କ-ହୟୱ])(U|\u0b41u)', '$1\u0b42'],
['([କ-ହୟୱ])R', '$1\u0b43'],
['([କ-ହୟୱ])\u0b43R', '$1\u0b44'],
['([କ-ହୟୱ])୍ଳ୍l', '$1ୢ'],
['([କ-ହୟୱ])ୢl', '$1ୣ'],
['([କ-ହୟୱ])e', '$1େ'],
['([କ-ହୟୱ])ାi', '$1ୈ'],
['([କ-ହୟୱ])o', '$1ୋ'],
['([କ-ହୟୱ])(ାu|ୋu)', '$1ୌ'],
['([କ-ହୟୱ])E', '$1\u0B48'],
['([କ-ହୟୱ])y', '$1୍ୟ'], // <consonant>y
['ଅa', 'ଆ'],
['(ଅi|ଏe)', 'ଐ'],
['(ଅu|ଓo|ଓO)', 'ଔ'],
['ଋR', 'ୠ'], // RR
['ଳl', 'ଌ'], // Ll
['ଌl', 'ୡ'], // Lll
['ଞ୍ଚh', 'ଞ୍ଛ'], // nch
['ଞ୍ଜh', 'ଞ୍ଝ'], // njh
['ଙ୍କh', 'ଙ୍ଖ'], // nkh
['ଙ୍ଗh', 'ଙ୍ଘ'], // ngh
['ମ୍ବh', 'ମ୍ଭ'], // mbh or nbh
['ଜ୍ଜh', 'ଜ୍ଝ'], // jjh
['ଚ୍ଚh', 'ଚ୍ଛ'], // cch
['ଣG', 'ଙ'], // NG
['ଣg', 'ଞ'], // Ng
['କh', 'ଖ'], // kh
['ଗh', 'ଘ'], // gh
['ନc', 'ଞ୍ଚ'], // nc
['ନg', 'ଙ୍ଗ'], // ng
['ଚh', 'ଛ'], // ch
['ଜh', 'ଝ'], // jh
['ନj', 'ଞ୍ଜ'], // nj
['ନk', 'ଙ୍କ'], // nk
['ଟh', ''], // Th
['ଡh', 'ଢ'], // Dh
['ତh', 'ଥ'], // th
['ଦh', 'ଧ'], // dh
['(f|ପh)', 'ଫ'], // ph or f
['ବh', 'ଭ'], // bh
['ସh', 'ଷ'], // sh
['(ମb|ନb)', 'ମ୍ବ'], // mb or nb
['ଂM', 'ଁ'], // MM
['କk', 'କ୍କ'], // kk
['ଗg', 'ଗ୍ଗ'], // gg
['ଚc', 'ଚ୍ଚ'], // cc
['ଜj', 'ଜ୍ଜ'], // jj
['ଟT', 'ଟ୍ଟ'], // TT
['ଡD', 'ଡ୍ଡ'], // DD
['ତt', 'ତ୍ତ'], // tt
['ଆ\\\\', '\u0B3E'], // aa sign
['ଇ\\\\', '\u0B3F'], // i sign
['ଈ\\\\', '\u0B40'],// I sign
['ଉ\\\\', '\u0B41'], // u sign
['ଉ\\\\', '\u0B42'], // U sign
['ଋ\\\\', '\u0B43'], // R sign
['ୠ\\\\', '\u0B44'], // RR sign
['ଌ\\\\', '\u0B62'], // L sign
['ୡ\\\\', '\u0B63'], // LL sign
['ଏ\\\\', '\u0B47'], // e sign
['ଐ\\\\', '\u0B48'], // ai sign
['ଓ\\\\', '\u0B4B'], // o sign
['ଔ\\\\', '\u0B4C'], // au sign
['\u200c?a', 'ଅ'],
['b', 'ବ'],
['c','','ଚ'],
['d', 'ଦ'],
['\u200c?e', 'ଏ'],
['g', 'ଗ'],
['h', 'ହ'],
['\u200c?i', 'ଇ'],
['j', 'ଜ'],
['k', 'କ'],
['l', 'ଲ'],
['m', 'ମ'],
['n', 'ନ'],
['\u200c?o', 'ଓ'],
['p', 'ପ'],
['q', 'ଡ଼'],
['r', 'ର'],
['s', 'ସ'],
['t', 'ତ'],
['\u200c?u', 'ଉ'],
['[vwVW]', 'ୱ'],
['x', 'କ୍ଷ'],
['[yY]', 'ୟ'],
['z', '\u0B3C'],
['\u200c?A', 'ଆ'],
['B', 'ବ'],
['C', 'ଛ'],
['D', 'ଡ'],
['\u200c?E', 'ଐ'],
['F', 'ଫ'],
['G', 'ଗ'],
['H', ''],
['\u200c?I', 'ଈ'],
['J', 'ଯ'],
['K', 'କ୍କ'],
['L', 'ଳ'],
['M', 'ଂ'],
['N', 'ଣ'],
['\u200c?O', 'ଔ'],
['P', 'ପ୍ପ'],
['Q', 'ଢ଼'],
['R', 'ଋ'],
['S', 'ଶ'],
['T', 'ଟ'],
['\u200c?U', 'ଊ'],
['X', 'ଁ'],
['Z', 'ଜ୍ଞ'],
['\\~', '୍'],
['//', 'ଽ'],
['_', '\u200c'],
['0', ''],
['1', '୧'],
['2', ''],
['3', '୩'],
['4', '୪'],
['5', '୫'],
['6', '୬'],
['7', '୭'],
['8', '୮'],
['9', '୯']]
};
$.ime.register( orLekhani );
}( jQuery ) );

View File

@@ -0,0 +1,147 @@
( function ( $ ) {
'use strict';
var orTransliteration = {
id: 'or-transliteration',
name: 'Odiya Transliteration',
description: 'Odiya transliteration',
date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V and Subhashish Panigrahi',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
[ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ],
[ 'ଞ୍ଜ୍h', 'ଞ୍ଝ୍' ], // njh
[ 'ଙ୍ଗ୍h', 'ଙ୍ଘ୍' ], // ngh
[ '([କ-ହୟ])୍a', '$1' ],
[ '([କ-ହୟ])(a|୍A)', '$1ା' ],
[ '([କ-ହୟ])୍i', '$1\u0b3f' ],
[ '([କ-ହୟ])୍I', '$1ୀ' ],
[ '([କ-ହୟ])୍u', '$1\u0b41' ],
[ '([କ-ହୟ])(୍U|\u0b41u)', '$1\u0b42' ],
[ '([କ-ହୟ])୍R', '$1\u0b43' ],
[ '([କ-ହୟ])\u0b43R', '$1\u0b44' ],
[ '([କ-ହୟ])୍ଳ୍l', '$1ୢ' ],
[ '([କ-ହୟ])ୢl', '$1ୣ' ],
[ '([କ-ହୟ])୍e', '$1େ' ],
[ '([କ-ହୟ])i', '$1ୈ' ],
[ '([କ-ହୟ])୍o', '$1ୋ' ],
[ '([କ-ହୟ])ୋu', '$1ୌ' ],
[ '([କ-ହୟ])୍E', '$1\u0B48' ],
[ 'ଅa', 'ଆ' ],
[ '(ଅi|ଏe)', 'ଐ' ],
[ '(ଅu|ଓo|ଓO)', 'ଔ' ],
[ 'ଋR', 'ୠ' ],
[ 'ଳ୍l', 'ଌ' ],
[ 'ଌl', 'ୡ' ],
[ 'ଞ୍ଚ୍h', 'ଞ୍ଛ୍' ], // nch
[ 'ଣ୍G', 'ଙ୍' ], // NG
[ 'ଣ୍g', 'ଞ୍' ], // Ng
[ 'କ୍h', 'ଖ୍' ],
[ 'ଗ୍h', 'ଘ୍' ],
[ 'ନ୍c', 'ଞ୍ଚ୍' ], // nc
[ 'ନ୍g', 'ଙ୍ଗ୍' ], // ng
[ 'ଚ୍h', 'ଛ୍' ],
[ 'ଜ୍h', 'ଝ୍' ],
[ 'ନ୍j', 'ଞ୍ଜ୍' ], // nj
[ 'ନ୍k', 'ଙ୍କ୍' ], // nk
[ 'ଟ୍h', 'ଠ୍' ],
[ 'ଡ୍h', 'ଢ୍' ],
[ 'ତ୍h', 'ଥ୍' ],
[ 'ଦ୍h', 'ଧ୍' ],
[ 'ପ୍h', 'ଫ୍' ],
[ 'ବ୍h', 'ଭ୍' ],
[ 'ସ୍h', 'ଷ୍' ],
[ '।Z', '॥' ],
[ 'ଆ\\\\', '\u0B3E' ], // aa sign
[ 'ଇ\\\\', '\u0B3F' ], // i sign
[ 'ଈ\\\\', '\u0B40' ],// I sign
[ 'ଉ\\\\', '\u0B41' ], // u sign
[ 'ଉ\\\\', '\u0B42' ], // U sign
[ 'ଋ\\\\', '\u0B43' ], // R sign
[ 'ୠ\\\\', '\u0B44' ], // RR sign
[ 'ଌ\\\\', '\u0B62' ], // L sign
[ 'ୡ\\\\', '\u0B63' ], // LL sign
[ 'ଏ\\\\', '\u0B47' ], // e sign
[ 'ଐ\\\\', '\u0B48' ], // ai sign
[ 'ଓ\\\\', '\u0B4B' ], // o sign
[ 'ଔ\\\\', '\u0B4C' ], // au sign
[ '\u200c?a', 'ଅ' ],
[ 'b', 'ବ୍' ],
[ 'c', '', 'ଚ୍' ],
[ 'd', 'ଦ୍' ],
[ '\u200c?e', 'ଏ' ],
[ 'f', 'ଫ୍' ],
[ 'g', 'ଗ୍' ],
[ 'h', 'ହ୍' ],
[ '\u200c?i', 'ଇ' ],
[ 'j', 'ଜ୍' ],
[ 'k', 'କ୍' ],
[ 'l', 'ଲ୍' ],
[ 'm', 'ମ୍' ],
[ 'n', 'ନ୍' ],
[ '\u200c?o', 'ଓ' ],
[ 'p', 'ପ୍' ],
[ 'q', 'ଜ୍ଞ୍' ],
[ 'r', 'ର୍' ],
[ 's', 'ସ୍' ],
[ 't', 'ତ୍' ],
[ '\u200c?u', 'ଉ' ],
[ 'v', 'ୱ୍' ],
[ 'w', 'ଵ୍' ],
[ 'x', 'କ୍ଷ୍' ],
[ 'y', 'ୟ୍' ],
[ 'z', '\u0B3C' ],
[ '\u200c?A', 'ଆ' ],
[ 'B', 'ବ୍' ],
[ 'C', 'ଛ୍' ],
[ 'D', 'ଡ୍' ],
[ '\u200c?E', 'ଐ' ],
[ 'F', 'ଫ୍' ],
[ 'G', 'ଗ୍' ],
[ 'H', '', '' ],
[ '\u200c?I', 'ଈ' ],
[ 'J', 'ଝ୍' ],
[ 'K', 'କ୍' ],
[ 'L', 'ଳ୍' ],
[ 'M', '', 'ଂ' ],
[ 'N', 'ଣ୍' ],
[ '\u200c?O', 'ଔ' ],
[ 'P', 'ଫ୍' ],
[ 'Q', 'ଜ୍ଞ୍' ],
[ 'R', 'ଋ' ],
[ 'S', 'ଶ୍' ],
[ 'T', 'ଟ୍' ],
[ '\u200c?U', 'ଊ' ],
[ 'V', 'ଵ୍' ],
[ 'W', 'ଵ୍ଵ୍' ],
[ 'X', 'ଁ' ],
[ 'Y', 'ଯ୍' ],
[ 'Z', '।' ],
[ '\\~', '', '୍' ],
[ '//', 'ଽ' ],
[ '_', '\u200c' ],
[ '0', '' ],
[ '1', '୧' ],
[ '2', '' ],
[ '3', '୩' ],
[ '4', '୪' ],
[ '5', '୫' ],
[ '6', '୬' ],
[ '7', '୭' ],
[ '8', '୮' ],
[ '9', '୯' ] ]
};
$.ime.register( orTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,97 @@
( function ( $ ) {
'use strict';
var paInScript = {
id: 'pa-inscript',
name: 'Punjabi InScript',
description: 'InScript keyboard for Punjabi script',
date: '2012-10-16',
author: '',
license: '',
version: '1.0',
patterns: [
['1', ''],
['2', '੨'],
['3', '੩'],
['4', ''],
['5', '੫'],
['6', '੬'],
['7', '੭'],
['8', '੮'],
['9', '੯'],
['0', ''],
['\\_', '_'],
['\\-', '-'],
['\\+', '+'],
['\\=', '='],
['Q', 'ਔ'],
['q', 'ੌ'],
['W', 'ਐ'],
['w', 'ੈ'],
['E', 'ਆ'],
['e', 'ਾ'],
['R', 'ਈ'],
['r', 'ੀ'],
['T', 'ਊ'],
['t', 'ੂ'],
['Y', 'ਭ'],
['y', 'ਬ'],
['U', 'ਙ'],
['u', 'ਹ'],
['I', 'ਘ'],
['i', 'ਗ'],
['O', 'ਧ'],
['o', 'ਦ'],
['P', 'ਝ'],
['p', 'ਜ'],
['\\{', 'ਢ'],
['\\[', 'ਡ'],
['\\}', 'ਞ'],
['\\]', '਼'],
['A', 'ਓ'],
['a', 'ੋ'],
['S', 'ਏ'],
['s', 'ੇ'],
['D', 'ਅ'],
['d', '੍'],
['F', 'ਇ'],
['f', 'ਿ'],
['G', 'ਉ'],
['g', 'ੁ'],
['H', 'ਫ'],
['h', 'ਪ'],
['J', 'ੜ'],
['j', 'ਰ'],
['K', 'ਖ'],
['k', 'ਕ'],
['L', 'ਥ'],
['l', 'ਤ'],
['\\:', 'ਛ'],
['\\;', 'ਚ'],
['\\"', 'ਠ'],
['\'', 'ਟ'],
['Z', 'ੱ'],
['z', 'ੰ'],
['X', 'ਫ਼'],
['x', 'ਜ਼'],
['C', 'ਣ'],
['c', 'ਮ'],
['V', 'ਂ'],
['v', 'ਨ'],
['B', 'ਞ'],
['b', 'ਵ'],
['N', 'ਲ਼'],
['n', 'ਲ'],
['M', 'ਸ਼'],
['m', 'ਸ'],
['\\<', 'ੳ'],
[',', ','],
['\\>', 'ੲ'],
['\\.', '.'],
['\\?', '?'],
['/', 'ਯ']]
};
$.ime.register( paInScript );
}( jQuery ) );

View File

@@ -0,0 +1,100 @@
( function ( $ ) {
'use strict';
var paPhonetic = {
id: 'pa-phonetic',
name: 'Punjabi Phonetic',
description: 'Punjabi Phonetic',
date: '2012-10-16',
URL: 'http://fedoraproject.org/wiki/I18N/Indic/PunjabiKeyboardLayouts',
author: '',
license: '',
version: '1.0',
patterns: [
['!', ''],
['1', '1'],
['@', '੨'],
['2', '2'],
['#', '੩'],
['3', '3'],
['\\$', ''],
['4', '4'],
['5', '5'],
['6', '6'],
['7', '7'],
['8', '8'],
['\\)', '੯'],
['9', '9'],
['\\),', ''],
['0', '0'],
['Q', 'ਥ'],
['q', 'ਤ'],
['w', 'ਾ'],
['E', 'ਓ'],
['e', 'ੲ'],
['r', 'ਰ'],
['T', 'ਠ'],
['t', 'ਟ'],
['Y', 'ੈ'],
['y', 'ੇ'],
['U', 'ੂ'],
['u', 'ੁ'],
['I', 'ੀ'],
['i', 'ਿ'],
['O', 'ੌ'],
['o', 'ੋ'],
['P', 'ਫ'],
['p', 'ਪ'],
['\\{', '('],
['\\}', ')'],
['A', 'ਅ'],
['a', 'ੳ'],
['S', 'ਸ਼'],
['s', 'ਸ'],
['D', 'ਧ'],
['d', 'ਦ'],
['F', 'ਢ'],
['f', 'ਡ'],
['G', 'ਘ'],
['g', 'ਗ'],
['h', 'ਹ'],
['J', 'ਝ'],
['j', 'ਜ'],
['K', 'ਖ'],
['k', 'ਕ'],
['L', 'ਲ਼'],
['l', 'ਲ'],
['\\', 'ਙ'],
['\\~', '?ੱ'],
['\\`', '?੍ '],
['Z', 'ਗ਼'],
['z', 'ਜ਼'],
['X', 'ਯ'],
['x', 'ਣ'],
['C', 'ਛ'],
['c', 'ਚ'],
['V', 'ੜ'],
['v', 'ਵ'],
['B', 'ਭ'],
['b', 'ਬ'],
['N', 'ਂ'],
['n', 'ਨ'],
['M', 'ੰ'],
['m', 'ਮ'],
['\\<', 'ਖ਼'],
['\\>', 'ੴ'],
['\\.', '?਼'],
['\\?', '?'],
['\\/', 'ਞ'],
['%', '੫'],
['\\^', '੬'],
['&', '੭'],
['\\*', '੮'],
['R', '੍ਰ'],
['H', '੍ਹ'],
['W', 'ਾਂ']]
};
$.ime.register( paPhonetic );
}( jQuery ) );

View File

@@ -0,0 +1,120 @@
( function ( $ ) {
'use strict';
var paTransliteration = {
id: 'pa-transliteration',
name: 'Punjabi Transliteration',
description: 'Punjabi transliteration',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Amir E. Aharoni, inputs from Saurabh Choudhary and Surinder Wadhawan',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
/* Semi-automatically created from the Hindi transliteration mapping using
* the following Perl substitution:
* s{(?<deva_letter>[ऀ-ॿ])}{chr(ord($+{deva_letter}) + 0x100)}xmsge;
*/
patterns: [
['ਕ੍h', 'c', 'ਚ੍'],
['\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1'],
// ਕ-ਹ is the main range of Indic letters.
// ੜ is an additional unique Gurmukhi letter.
['([ਕ-ਹੜ]਼?)੍a', '$1'], // Short [a] after a consonant with virama removes the virama
['([ਕ-ਹੜ]਼?)੍A', '$1ਾ'], // Long [a] after a consonant with virama removes the virama and adds long [a]
['([ਕ-ਹੜ]਼?)a', '$1ਾ'], // 'aa' gives long [a] - short [a] after a consonant without virama adds long [a]
['([ਕ-ਹੜ]਼?)੍i', '$1ਿ'],
['([ਕ-ਹੜ]਼?)(ਿi|੍I|ੇe)', '$1ੀ'], // 'ii', 'I' and 'ee' give long [i].
['([ਕ-ਹੜ]਼?)੍u', '$1ੁ'],
['([ਕ-ਹੜ]਼?)(ੁu|੍U|ੋo)', '$1ੂ'], // 'uu', 'U' and 'oo' give long [u].
['([ਕ-ਹੜ]਼?)੍e', '$1ੇ'],
['([ਕ-ਹੜ]਼?)(i|੍E)', '$1ੈ'], // 'i' after a consonant without virama or 'E' after a consonant with Virama gives "ai"
['([ਕ-ਹੜ]਼?)੍[oO]', '$1ੋ'],
['([ਕ-ਹੜ]਼?)u', '$1ੌ'], // 'u' after a consonant without virama gives "au"
['([ਕ-ਹੜ])੍\\`', '$1਼੍'], // '`' (backtick) after a consonant with virama adds a nukta before the virama
['ਅa', 'ਆ'], // aa
['(ਓo|ਉu)', 'ਊ'], //oo, uu
['ਅi', 'ਐ'], // ai
['ਅ\\^', 'ੲ'], // a^ (iri - base for vowels)
['ਉ\\^', 'ੳ'], // u^ (ura - base for vowels)
['(ਏe|ਇi)', 'ਈ'], // ee, ii
['ਅu', 'ਔ'], // au
['ਂ[Mm^]', 'ਁ'], // bindi + 'm', 'M', or '^' -> Adak bindi
['ਣ੍N', 'ੰ'], // Tippi - nasalization
['ਕ੍h', 'ਖ੍'], // kh
['ਗ੍h', 'ਘ੍'], // gh
['ਨ੍g', 'ਙ੍'], // ng
['ਚ੍h', 'ਛ੍'], // ch
['ਜ੍h', 'ਝ੍'], // jh
['ਨ੍j', 'ਞ੍'], // nj
['ਟ੍h', 'ਠ੍'], // Th
['ਡ੍h', 'ਢ੍'], // Dh
['ਤ੍h', 'ਥ੍'], // th
['ਦ੍h', 'ਧ੍'], // dh
['ਪ੍h', 'ਫ੍'], // ph
['ਬ੍h', 'ਭ੍'], // bh
['ਸ੍h', 'ਸ਼੍'], // sh
['ਕ਼੍h', 'ਖ਼੍'], // k + nukta + h
['a', 'ਅ'],
['b', 'ਬ੍'],
['c', 'ਚ੍'],
['d', 'ਦ੍'],
['e', 'ਏ'],
['f', 'ਫ੍'],
['F', 'ਫ਼੍'], // With nukta
['g', 'ਗ੍'],
['h', 'ਹ੍'],
['i', 'ਇ'],
['j', 'ਜ੍'],
['k', 'ਕ੍'],
['l', 'ਲ੍'],
['m', 'ਮ੍'],
['n', 'ਨ੍'],
['o', 'ਓ'],
['p', 'ਪ੍'],
['q', 'ੑ'], // Udaat
['r', 'ਰ੍'],
['s', 'ਸ੍'],
['t', 'ਤ੍'],
['u', 'ਉ'],
['(v|w)', 'ਵ੍'],
['y', 'ਯ੍'],
['z', 'ੱ'], // Addak - gemination
['A', 'ਆ'],
['D', 'ਡ੍'],
['H', 'ਃ'], // Visarga
['I', 'ਈ'],
['M', 'ਂ'], // Bindi
['N', 'ਣ੍'],
['R', 'ੜ੍'], // Rra
['S', 'ਸ਼੍'],
['T', 'ਟ੍'],
['U', 'ਊ'],
['X', 'ੴ'], // Ek onkar
['Y', 'ੵ'], // Yakash
['0', ''],
['1', ''],
['2', '੨'],
['3', '੩'],
['4', ''],
['5', '੫'],
['6', '੬'],
['7', '੭'],
['8', '੮'],
['9', '੯'],
['~', '੍'], // Virama
['\\`', '਼'], // Nukta
['।\\.', '॥'], // Double danda, must be before single danda
['\\.', '।']] // Danda
};
$.ime.register( paTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,96 @@
( function ( $ ) {
'use strict';
var ruTransliteration = {
id: 'ru-transliteration',
name: 'Russian Transliteration',
description: 'Russian transliteration',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Amir (Алексей) Aharoni',
license: 'GPLv3',
version: '1.0',
patterns: [
['Q', 'Й'],
['W', 'Ц'],
['E', 'У'],
['R', 'К'],
['T', 'Е'],
['Y', 'Н'],
['U', 'Г'],
['I', 'Ш'],
['O', 'Щ'],
['P', 'З'],
['{', 'Х'],
['}', 'Ъ'],
['A', 'Ф'],
['S', 'Ы'],
['D', 'В'],
['F', 'А'],
['G', 'П'],
['H', 'Р'],
['J', 'О'],
['K', 'Л'],
['L', 'Д'],
[':', 'Ж'],
['"', 'Э'],
['Z', 'Я'],
['X', 'Ч'],
['C', 'С'],
['V', 'М'],
['B', 'И'],
['N', 'Т'],
['M', 'Ь'],
['<', 'Б'],
['>', 'Ю'],
['\\?', ','],
['q', 'й'],
['w', 'ц'],
['e', 'у'],
['r', 'к'],
['t', 'е'],
['y', 'н'],
['u', 'г'],
['i', 'ш'],
['o', 'щ'],
['p', 'з'],
['\\[', 'х'],
['\\]', 'ъ'],
['a', 'ф'],
['s', 'ы'],
['d', 'в'],
['f', 'а'],
['g', 'п'],
['h', 'р'],
['j', 'о'],
['k', 'л'],
['l', 'д'],
[';', 'ж'],
['\'', 'э'],
['z', 'я'],
['x', 'ч'],
['c', 'с'],
['v', 'м'],
['b', 'и'],
['n', 'т'],
['m', 'ь'],
[',', 'б'],
['\\.', 'ю'],
['/', '.'],
['`', 'ё'],
['~', 'Ё'],
// ! is the same // 1
['@', '"'], // 2
['#', '№'], // 3
['\\$', ';'], // 4
// '%' is the same // 5
['^', ':'], // 6
['&', '?']] // 7
// '*', '(' and ')' are the same // 8, 9, 0
};
$.ime.register( ruTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,113 @@
( function ( $ ) {
'use strict';
var saInScript = {
id: 'sa-inscript',
name: 'Sanskrit InScript',
description: 'Inscript keyboard for Sanskrit script',
date: '2012-10-16',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
patterns: [
['X', 'ँ'],
['x', 'ं'],
['_', ''],
['D', 'अ'],
['E', 'आ'],
['F', 'इ'],
['R', 'ई'],
['G', 'उ'],
['T', 'ऊ'],
['\\+', 'ृ'],
['S', 'ए'],
['W', 'ऐ'],
['A', 'ओ'],
['Q', 'औ'],
['k', 'क'],
['K', 'ख'],
['i', 'ग'],
['I', 'घ'],
['U', 'ङ'],
['\\;', 'च'],
['\\:', 'छ'],
['p', 'ज'],
['P', 'झ'],
['\\}', 'ञ'],
['\'', '', 'ट'],
['"', 'ठ'],
['\\[', '','ड'],
['\\{', '','ढ'],
['C', 'ण'],
['l', 'त'],
['L', 'थ'],
['o', 'द'],
['O', 'ध'],
['v', 'न'],
['h', 'प'],
['H', 'फ'],
['y', 'ब'],
['Y', 'भ'],
['c', 'म'],
['\\?', '','य'],
['j', 'र'],
['n', 'ल'],
['N', 'ळ'],
['b', 'व'],
['M', 'श'],
['\\<', '','ष'],
['m', 'स'],
['u', 'ह'],
['\\]', '','़'],
['e', 'ा'],
['f', 'ि'],
['r', 'ी'],
['g', 'ु'],
['t', 'ू'],
['\\=', '','ृ'],
['\\\\', 'ॄ'],
['s', 'े'],
['w', 'ै'],
['a', 'ो'],
['q', 'ौ'],
['d', '्'],
['\\|', 'ॠ'],
['/', 'य'],
['\\>', '।'],
['0', '',''],
['1', '','१'],
['2', '२'],
['3', '३'],
['4', '४'],
['5', '५'],
['6', '६'],
['7', '७'],
['8', '८'],
['9', '९'],
['\\@', 'ॅ'],
['\\#', '','्र'],
['\\$', '','र्'],
['\\%', '','ज्ञ'],
['\\^', '','त्र'],
['\\&', 'क्ष'],
['\\*', 'श्र'],
['\\(', '\u200D'],
['\\)', '\u200C'] ],
patterns_x: [
['F', 'ऌ'],
['\\>', 'ऽ'],
['X', 'ॐ'],
['e', '\u0951'],
['d', '\u0952'],
['R', 'ॡ'],
['f', 'ॢ'],
['r', 'ॣ'],
['\\.', '॥'],
['\\@', '','ॅ'],
['4', '₹']]
};
$.ime.register( saInScript );
}( jQuery ) );

View File

@@ -0,0 +1,166 @@
( function ( $ ) {
'use strict';
var saTransliteration = {
id: 'sa-transliteration',
name: 'Sanskrit Transliteration',
description: 'Sanskrit transliteration',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V and Naveen Shankar',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 2,
patterns: [
['क्h','c','च्'],
['\\\\([A-Za-z\\>_~\\.0-9])','\\\\','$1'],
['([क-ह]़?)्a','$1'],
['([क-ह]़?)्A','$1ा'],
['([क-ह]़?)a','$1ा'],
['([क-ह]़?)्i','$1ि'],
['([क-ह]़?)(्I|िi|ॆe)','$1ी'],
['([क-ह]़?)्u','$1ु'],
['([क-ह]़?)(ुu|्U|ॊo)','$1ू'],
['([क-ह]़?)्R','$1ृ'],
['([क-ह]़?)ृR','$1ॄ'],
['([क-ह]़?)्ळ्l','$1ॢ'],
['([क-ह]़?)ॢl','$1ॣ'],
['([क-ह]़?)ॆ\\^','$1ॅ'],
['([क-ह]़?)्e','$1ॆ'],
['([क-ह]़?)्E','$1े'],
['([क-ह]़?)ॊ\\^','$1ॉ'],
['([क-ह]़?)i','$1ै'],
['([क-ह]़?)्o','$1ॊ'],
['([क-ह]़?)्O','$1ो'],
['([क-ह]़?)u','$1ौ'],
['([क-ह]़?)ृa','$1्ऱ'],
['([क-ह]़?)ृA','$1्ऱा'],
['([क-ह]़?)ृi','$1्ऱि'],
['([क-ह]़?)ृI','$1्ऱी'],
['([क-ह]़?)ृu','$1्ऱु'],
['([क-ह]़?)ृU','$1्ऱू'],
['([क-ह]़?)ृ\\^','$1्ऱॅ'],
['([क-ह]़?)ृe','$1्ऱॆ'],
['([क-ह]़?)ृE','$1्ऱे'],
['([क-ह]़?)ृo','$1्ऱॊ'],
['([क-ह]़?)ृO','$1्ऱो'],
['([क-ह]़?)ृ\\~','$1्ऱ्'],
['([क-ह])्\\`','$1़्'],
['अa','आ'],
['(ऒo|उu)','ऊ'],
['ऎ\\^','ऍ'],
['अi','ऐ'],
['अ\\^','ॲ'],
['(इi|ऎe)','ई'],
['ऒ\\^','ऑ'],
['अu','औ'],
['ऋR','ॠ'],
['ळ्l','ऌ'],
['ऌl','ॡ'],
['ं\\^','ँ'],
['ंm','ँ'],
['ओM','ॐ'],
['क्h','ख्'],
['ग्h','घ्'],
['न्g','ङ्'],
['च्h','छ्'],
['ज्h','झ्'],
['न्j','ञ्'],
['ट्h','ठ्'],
['ड्h','ढ्'],
['त्h','थ्'],
['द्h','ध्'],
['प्h','फ्'],
['ब्h','भ्'],
['ऋa','ऱ'],
['ऋA','ऱा'],
['ऋi','ऱि'],
['ऋI','ऱी'],
['ऋu','ऱु'],
['ऋU','ऱू'],
['ऋ\\^','ऱॅ'],
['ऋe','ऱॆ'],
['ऋE','ऱे'],
['ऋo','ऱॊ'],
['ऋO','ऱो'],
['ऋ\\~','ऱ्'],
['स्h','ष्'],
['क़्h','ख़्'],
['ज़्h','ऴ्'],
['।\\.','॥'],
['a','अ'],
['b','ब्'],
['c','क्'],
['d','द्'],
['e','ऎ'],
['(f|F)','फ़्'],
['g','ग्'],
['h','ह्'],
['i','इ'],
['j','ज्'],
['k','क्'],
['l','ल्'],
['m','म्'],
['n','न्'],
['o','ऒ'],
['p','प्'],
['q','क़्'],
['r','र्'],
['s','स्'],
['t','त्'],
['u','उ'],
['(v|w)','व्'],
['x','क्ष्'],
['y','य्'],
['(z|Z)','ज़्'],
['A','आ'],
['B','ब्ब्'],
['C','क्क्'],
['D','ड्'],
['E','ए'],
//'F','फ्'],
['G','ग्ग्'],
['H',''],
['I','ई'],
['J','ज्ज्'],
['K','क्क्'],
['L','ळ्'],
['M','ं'],
['N','ण्'],
['O','ओ'],
['P','प्प्'],
//'Q','अ'],
['R','ऋ'],
['S','श्'],
['T','ट्'],
['U','ऊ'],
['(V|W)','व्व्'],
['X','क्ष्'],
['Y','य्य्'],
//'z','अ'
['0',''],
['1','१'],
['2','२'],
['3','३'],
['4','४'],
['5','५'],
['6','६'],
['7','७'],
['8','८'],
['9','९'],
['~','्'],
['\\.','।'],
['//','ऽ'],
['\\`','़'],
['(\u200C)*_', '\u200c']]
};
$.ime.register( saTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,104 @@
( function ( $ ) {
'use strict';
var sahTransliteration = {
id: 'sah-transliteration',
name: 'Sakha Transliteration',
description: 'Sakha transliteration',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Amir (Алексей) Aharoni',
license: 'GPLv3',
version: '1.0',
patterns: [
['Q', 'Й'],
['W', 'Ц'],
['E', 'У'],
['R', 'К'],
['T', 'Е'],
['Y', 'Н'],
['U', 'Г'],
['I', 'Ш'],
['O', 'Щ'],
['P', 'З'],
['{', 'Х'],
['}', 'Ъ'],
['A', 'Ф'],
['S', 'Ы'],
['D', 'В'],
['F', 'А'],
['G', 'П'],
['H', 'Р'],
['J', 'О'],
['K', 'Л'],
['L', 'Д'],
[':', 'Ж'],
['"', 'Э'],
['Z', 'Я'],
['X', 'Ч'],
['C', 'С'],
['V', 'М'],
['B', 'И'],
['N', 'Т'],
['M', 'Ь'],
['<', 'Б'],
['>', 'Ю'],
['\\?', ','],
['q', 'й'],
['w', 'ц'],
['e', 'у'],
['r', 'к'],
['t', 'е'],
['y', 'н'],
['u', 'г'],
['i', 'ш'],
['o', 'щ'],
['p', 'з'],
['\\[', 'х'],
['\\]', 'ъ'],
['a', 'ф'],
['s', 'ы'],
['d', 'в'],
['f', 'а'],
['g', 'п'],
['h', 'р'],
['j', 'о'],
['k', 'л'],
['l', 'д'],
[';', 'ж'],
['\'', 'э'],
['z', 'я'],
['x', 'ч'],
['c', 'с'],
['v', 'м'],
['b', 'и'],
['n', 'т'],
['m', 'ь'],
[',', 'б'],
['\\.', 'ю'],
['/', '.'],
['`', '"'],
['~', '№'],
['1', '!'], // 1
['!', '?'], // 1
// 2, 3 - ?
['4', 'ҥ'], // 4
['\\$', 'Ҥ'], // 4
['5', 'ҕ'], // 5
['%', 'Ҕ'], // 5
['6', 'ө'], // 6
['\\^', 'Ө'], // 6
['7', 'һ'], // 7
['&', 'Һ'], // 7
['8', 'ү'], // 8
['\\*', 'Ү'], // 8
['9', ';'], // 9
['0', ':']] // 0
};
$.ime.register( sahTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,111 @@
( function ( $ ) {
'use strict';
var siSinglish = {
id: 'si-singlish',
name: 'Sinhalese Singlish',
description: 'Singlish',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V and Nishantha Anuruddha',
license: 'GPLv3',
version: '1.0',
contextLength: 5,
maxKeyLength: 2,
patterns: [
//['ඬ්හ්a', 'ඳ'], // nndha
['ඬ්h', 'ඳ්'], // nndh
['න්න්d', 'ඬ්'], // nnd
['න්න්g', 'ඟ්'],// nng
['\\u0DC1\\u0DCA\\u200D\\u0DBB\\u0DD2i', '\u0DC1\u0DCA\u200D\u0DBB\u0DD3'],// shrii
['\\u0DC1\\u0DCA\\u200D\\u0DBBi', '\u0DC1\u0DCA\u200D\u0DBB\u0DD2'],// shri
['ශ්r', '\u0DC1\u0DCA\u200D\u0DBB'], // shr
['([\\u0D9A-\\u0DC6])්\\u200Dර්u', '$1ෘ'], // <consonant>ru
['([\\u0D9A-\\u0DC6])ෘu', '$1ෲ'], // <consonant>ruu
['([\\u0D9A-\\u0DC6])්a', '$1'], // <consonant>a
['([\\u0D9A-\\u0DC6])a', '$1ා'], // <consonant>aa
['([\\u0D9A-\\u0DC6])්A', '$1ැ'], // <consonant>A
['([\\u0D9A-\\u0DC6])ැa', '$1ෑ'], // <consonant>Aa
['([\\u0D9A-\\u0DC6])්i', '$1ි'], // <consonant>i
['([\\u0D9A-\\u0DC6])ි[ei]', '$1ී'], // <consonant>ie
['([\\u0D9A-\\u0DC6])්u', '$1ු'], // <consonant>u
['([\\u0D9A-\\u0DC6])ුu', '$1ූ'], // <consonant>u
['([\\u0D9A-\\u0DC6])්e', '$1ෙ'], // <consonant>e
['([\\u0D9A-\\u0DC6])ෙ[ai]', '$1ේ'], // <consonant>ei
['([\\u0D9A-\\u0DC6])්o', '$1ො'], // <consonant>o
['([\\u0D9A-\\u0DC6])ොe', '$1ෝ'], // <consonant>oe
['([\\u0D9A-\\u0DC6])u', '$1ෞ'], // <consonant>au
['([\\u0D9A-\\u0DC6])්I', '$1ෛ'], // <consonant>I
['([\\u0D9A-\\u0DC6]්)r', '$1\u200Dර්'], // <consonant>r
['ළුu', 'ළුු'], // Luu
['(ක්h|K)', 'ඛ්'], // kh K
['(ග්h|G)', 'ඝ්'], // gh G
['ස්h', 'ශ්'], // sh
['ch', 'ච්'],
['Ch', 'ඡ්'],
['Sh', 'ෂ්'],
['ඝ්N', 'ඥ්'], // GN
['ඨ්h', 'ථ්'], // Th
['ඛ්N', 'ඤ්'], // KN
['ට්h', 'ත්'], // th
['ඪ්h', 'ධ්'], // Dh
['ඩ්h', 'ද්'], // dh
['(ප්h|P)', 'ඵ්'], // ph P
['ළ්u', 'ළු'], // Lu
['බ්h', 'භ්'], // bh
['(\\\\r|R)', '\u0DBB\u0DCA\u200D'], // \r R
['(\\\\y|Y)', '\u200D\u0DBA\u0DCA'], // \y Y
['අ(a|\\))', 'ආ'], // aa a)
['ඇ(a|\\))', 'ඈ'], // Aa A) ae
['(ඉ[i\\)e]|එe)', 'ඊ'], // ii i) ie ee
['එ[a\\)i]', 'ඒ'], // ea e) ei
['ඔ[e\\)]', 'ඕ'], // oe o)
['(උ[u\\)]|ඔo)', 'ඌ'], // uu u) oo
['අu', 'ඖ'], // au
['\\\\n', ''],
['\\\\h', 'ඃ'],
['\\\\N', 'ඞ'],
['\\\\R', 'ඍ'],
['a', 'අ'],
['A', 'ඇ'],
['i', 'ඉ'],
['e', 'එ'],
['o', 'ඔ'],
['u', 'උ'],
['k', 'ක්'],
['b', 'බ්'],
['B', 'ඹ්'],
['g', 'ග්'],
['m', 'ම්'],
['y', 'ය්'],
['j', 'ජ්'],
['r', 'ර්'],
['T', 'ඨ්'],
['f', 'ෆ්'],
['t', 'ට්'],
['l', 'ල්'],
['D', 'ඪ්'],
['d', 'ඩ්'],
['(w|v)', 'ව්'],
['s', 'ස්'],
['q', 'ඣ්'],
['h', 'හ්'],
['n', 'න්'],
['N', 'ණ්'],
['p', 'ප්'],
['L', 'ළ්']]
};
$.ime.register( siSinglish );
}( jQuery ) );

View File

@@ -0,0 +1,106 @@
( function ( $ ) {
'use strict';
var siWijesekara = {
id: 'si-wijesekara',
name: 'Sinhalese Wijesekara',
description: 'Wijesekara layout for Sinhalese',
date: '2012-10-16',
URL: 'http://www.ucsc.lk/ltrl/services/layout/',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 2,
maxKeyLength: 0,
patterns: [
['`', '\u0DCA\u200D\u0DBB'],
['~', '\u0DBB\u0DCA\u200D'],
['q', 'ු'],
['w', 'අ'],
['අe', 'ඇ'],
['e', 'ැ'],
['r', 'ර'],
['ෙt', 'ඓ'],
['t', 'එ'],
['y', 'හ'],
['u', 'ම'],
['i', 'ස'],
['o', 'ද'],
['p', 'ච'],
['\\[', 'ඤ'],
['\\]', ';'],
['එa', 'ඒ'],
['ඔa', 'ඕ'],
['a', '්'],
['s', 'ි'],
['අd', 'ආ'],
['d', 'ා'],
['f', 'ෙ'],
['g', 'ට'],
['h', 'ය'],
['j', 'ව'],
['k', 'න'],
['l', 'ක'],
[';', 'ත'],
['\'', '.'],
['z', '\''],
['x', ''],
['c', 'ජ'],
['v', 'ඩ'],
['b', 'ඉ'],
['n', 'බ'],
['m', 'ප'],
['\\,', 'ල'],
['\\.', 'ග'],
['Q', 'ූ'],
['W', 'උ'],
['අE', 'ඈ'],
['E', 'ෑ'],
['R', 'ඍ'],
['T', 'ඔ'],
['Y', 'ශ'],
['U', 'ඹ'],
['I', 'ෂ'],
['O', 'ධ'],
['P', 'ඡ'],
['\\{', 'ඥ'],
['\\}', ':'],
['උA', 'ඌ'],
['ඏA', 'ඐ'],
['ඔA', 'ඖ'],
['A', 'ෟ'],
['S', 'ී'],
['ඍD', 'ඎ'],
['ෘD', 'ෲ'],
['D', 'ෘ'],
['F', 'ෆ'],
['G', 'ඨ'],
['H', 'ය'],
['J', 'ළ'],
['K', 'ණ'],
['L', 'ඛ'],
['\\:', 'ථ'],
['\"', ','],
['Z', '"'],
['X', 'ඃ'],
['C', 'ඣ'],
['V', 'ඪ'],
['B', 'ඊ'],
['N', 'භ'],
['M', 'ඵ'],
['\\<', 'ළ'],
['\\>', 'ඝ']],
patterns_x: [
['o', 'ඳ'],
['v', 'ඬ'],
['\'', '෴'],
['a', 'ෳ'],
['\\.', 'ඟ'],
['x', 'ඦ'],
[',', 'ඏ']]
};
$.ime.register( siWijesekara );
}( jQuery ) );

View File

@@ -0,0 +1,194 @@
( function ( $ ) {
'use strict';
var ta99 = {
id: 'ta-99',
name: 'Tamil 99',
description: 'Tamil 99 Keyboard',
date: '2012-11-20',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 4,
patterns: [
[ '([க-ஹ])h', 'a', '$1க' ],
[ '([க-ஹ])b', 'a', '$1ங' ],
[ '([க-ஹ])\\[', 'a', '$1ச' ],
[ '([க-ஹ])E', 'a', '$1ஜ' ],
[ '([க-ஹ])\\]', 'a', '$1ஞ' ],
[ '([க-ஹ])o', 'a', '$1ட' ],
[ '([க-ஹ])p', 'a', '$1ண' ],
[ '([க-ஹ])l', 'a', '$1த' ],
[ '([க-ஹ]);', 'a', '$1ந' ],
[ '([க-ஹ])i', 'a', '$1ன' ],
[ '([க-ஹ])j', 'a', '$1ப' ],
[ '([க-ஹ])k', 'a', '$1ம' ],
[ '([க-ஹ])\'', 'a', '$1ய' ],
[ '([க-ஹ])m', 'a', '$1ர' ],
[ '([க-ஹ])u', 'a', '$1ற' ],
[ '([க-ஹ])n', 'a', '$1ல' ],
[ '([க-ஹ])y', 'a', '$1ள' ],
[ '([க-ஹ])/', 'a', '$1ழ' ],
[ '([க-ஹ])v', 'a', '$1வ' ],
// void
[ '([க-ஹ])W', 'a', '$1ஷ' ],
[ '([க-ஹ])Q', 'a', '$1ஸ' ],
[ '([க-ஹ])R', 'a', '$1ஹ' ],
[ 'க்கh', 'க்கக' ],
[ 'ங்ஙb', 'ங்ஙங' ],
[ 'ச்ச\\[', 'ச்சச' ],
[ 'ஜ்ஜE', 'ஜ்ஜஜ' ],
[ 'ஞ்ஞ\\]', 'ஞ்ஞஞ' ],
[ 'ட்டo', 'ட்டட' ],
[ 'ண்ணp', 'ண்ணண' ],
[ 'த்தl', 'த்தத' ],
[ 'ந்ந;', 'ந்நந' ],
[ 'ன்னi', 'ன்னன' ],
[ 'ப்பj', 'ப்பப' ],
[ 'ம்மk', 'ம்மம' ],
[ 'ய்ய\'', 'ய்யய' ],
[ 'ர்ரm', 'ர்ரர' ],
[ 'ற்றu', 'ற்றற' ],
[ 'ல்லn', 'ல்லல' ],
[ 'ள்ளy', 'ள்ளள' ],
[ 'ழ்ழ/', 'ழ்ழழ' ],
[ 'வ்வv', 'வ்வவ' ],
// void
[ 'ஷ்ஷW', 'ஷ்ஷஷ' ],
[ 'ஸ்ஸQ', 'ஸ்ஸஸ' ],
[ 'ஹ்ஹR', 'ஹ்ஹஹ' ],
[ '([க-ஹ])q', '$1ா' ],
[ '([க-ஹ])s', '$1ி' ],
[ '([க-ஹ])w', '$1ீ' ],
[ '([க-ஹ])d', '$1ு' ],
[ '([க-ஹ])e', '$1ூ' ],
[ '([க-ஹ])g', '$1ெ' ],
[ '([க-ஹ])t', '$1ே' ],
[ '([க-ஹ])r', '$1ை' ],
[ '([க-ஹ])c', '$1ொ' ],
[ '([க-ஹ])x', '$1ோ' ],
[ '([க-ஹ])z', '$1ௌ' ],
[ '([க-ஹ])a', '$1' ],
[ 'கh', 'க்க' ],
[ 'ஙb', 'ங்ங' ],
[ 'ச\\[', 'ச்ச' ],
[ 'ஜE', 'ஜ்ஜ' ],
[ 'ஞ\\]', 'ஞ்ஞ' ],
[ 'டo', 'ட்ட' ],
[ 'ணp', 'ண்ண' ],
[ 'தl', 'த்த' ],
[ 'ந;', 'ந்ந' ],
[ 'னi', 'ன்ன' ],
[ 'பj', 'ப்ப' ],
[ 'மk', 'ம்ம' ],
[ 'ய\'', 'ய்ய' ],
[ 'ரm', 'ர்ர' ],
[ 'றu', 'ற்ற' ],
[ 'லn', 'ல்ல' ],
[ 'ளy', 'ள்ள' ],
[ 'ழ/', 'ழ்ழ' ],
[ 'வv', 'வ்வ' ],
// void
[ 'ஷW', 'ஷ்ஷ' ],
[ 'ஸQ', 'ஸ்ஸ' ],
[ 'ஹR', 'ஹ்ஹ' ],
[ 'நl', 'ந்த' ],
[ 'ஙh', 'ங்க' ],
[ 'னu', 'ன்ற' ],
[ 'ணo', 'ண்ட' ],
[ 'ஞ\\[', 'ஞ்ச' ],
[ 'மj', 'ம்ப' ],
[ 'q', 'ஆ' ],
[ 'w', 'ஈ' ],
[ 'e', 'ஊ' ],
[ 'r', 'ஐ' ],
[ 't', 'ஏ' ],
[ 'y', 'ள' ],
[ 'u', 'ற' ],
[ 'i', 'ன' ],
[ 'o', 'ட' ],
[ 'p', 'ண' ],
[ '\\[', 'ச' ],
[ '\\]', 'ஞ' ],
[ 'a', 'அ' ],
[ 's', 'இ' ],
[ 'd', 'உ' ],
[ 'f', '்' ],
[ 'g', 'எ' ],
[ 'h', 'க' ],
[ 'j', 'ப' ],
[ 'k', 'ம' ],
[ 'l', 'த' ],
[ ';', 'ந' ],
[ '\'', 'ய' ],
[ 'z', 'ஔ' ],
[ 'x', 'ஓ' ],
[ 'c', 'ஒ' ],
[ 'v', 'வ' ],
[ 'b', 'ங' ],
[ 'n', 'ல' ],
[ 'm', 'ர' ],
// ',', 'ஆ'],
// '\\.', 'ஆ'],
[ '/', 'ழ' ],
// ksha in non-conjunct form with ZWNJ.
[ 'க்W', 'க்\u200Cஷ' ],
[ 'Q', 'ஸ' ],
[ 'W', 'ஷ' ],
[ 'E', 'ஜ' ],
[ 'R', 'ஹ' ],
[ 'T', 'க்ஷ' ],
[ 'Y', 'ஸ்ரீ' ],
[ 'U', 'ற' ],
[ 'I', 'ன' ],
[ 'O', '[' ],
[ 'P', ']' ],
// '\\{', 'ஆ'],
// '\\}', 'ஆ'],
[ 'A', '௹' ],
[ 'S', '௺' ],
[ 'D', '௸' ],
[ 'F', 'ஃ' ],
[ 'G', 'எ' ],
[ 'H', 'க' ],
[ 'J', 'ப' ],
[ 'K', '\'' ],
[ 'L', ':' ],
[ '\\:', ';' ],
[ '\'', '\'' ],
[ 'Z', '௳' ],
[ 'X', '௴' ],
[ 'C', '௵' ],
[ 'V', '௶' ],
[ 'B', '௷' ],
[ 'N', 'ல' ],
[ 'M', '/' ],
[ '\\\\0', '\u0be6' ],
[ '\\\\1', '௧' ],
[ '\\\\2', '௨' ],
[ '\\\\3', '௩' ],
[ '\\\\4', '௪' ],
[ '\\\\5', '௫' ],
[ '\\\\6', '௬' ],
[ '\\\\7', '௭' ],
[ '\\\\8', '௮' ],
[ '\\\\9', '௯' ] ]
};
$.ime.register( ta99 );
}( jQuery ) );

View File

@@ -0,0 +1,91 @@
( function ( $ ) {
'use strict';
var taBamini = {
id: 'ta-bamini',
name: 'Tamil Bamini',
description: 'Tamil Bamini input method',
date: '2012-10-03',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 2,
patterns: [
[ '`', 'ஹ' ],
[ 'q', 'ங' ],
[ 'w', 'ற' ],
[ 'e', 'ந' ],
[ 'r', 'ச' ],
[ 't', 'வ' ],
[ 'y', 'ல' ],
[ 'u', 'ர' ],
[ 'i', 'ை' ],
[ 'o', 'ழ' ],
[ 'p', 'ி' ],
[ '\\[', 'ஜ' ],
[ '\\]', 'ஸ' ],
[ '\\\\', 'ஷ' ],
[ 'a', 'ய' ],
[ 's', 'ள' ],
[ 'd', 'ன' ],
[ 'f', 'க' ],
[ 'g', 'ப' ],
[ 'h', 'ா' ],
[ 'j', 'த' ],
[ 'k', 'ம' ],
[ 'l', 'ட' ],
[ ';', '்' ],
[ 'z', 'ண' ],
[ 'x', 'ஒ' ],
[ 'c', 'உ' ],
[ 'v', 'எ' ],
[ 'b', 'டி' ],
[ 'n', 'ெ' ],
[ 'N', 'ே' ],
[ 'm', 'அ' ],
[ ',', 'இ' ],
[ '/', 'ஃ' ],
[ '@', ';' ],
[ '#', 'சூ' ],
[ '\\$', 'கூ' ],
[ '%', 'மூ' ],
[ '\\^', 'டூ' ],
[ '&', 'ரூ' ],
[ '\\*', 'ழூ' ],
[ '=', 'ஸ்ரீ' ],
[ 'Q', 'ஞ' ],
[ 'W', 'று' ],
[ 'E', 'நு' ],
[ 'R', 'சு' ],
[ 'T', 'வு' ],
[ 'Y', 'லு' ],
[ 'U', 'ரு' ],
[ 'I', 'ஐ' ],
[ 'O', 'ழு' ],
[ 'P', 'ீ' ],
[ '\\|', '\'' ],
[ 'A', 'யு' ],
[ 'S', 'ளு' ],
[ 'D', 'னு' ],
[ 'F', 'கு' ],
[ 'G', 'பு' ],
[ 'H', 'ர்' ],
[ 'J', 'து' ],
[ 'K', 'மு' ],
[ 'L', 'டு' ],
[ 'Z', 'ணு' ],
[ 'X', 'ஓ' ],
[ 'C', 'ஊ' ],
[ 'V', 'ஏ' ],
[ 'B', 'டீ' ],
[ 'M', 'ஆ' ],
[ '\\<', 'ஈ' ],
[ '\\>', ',' ],
[ '([ஜஷஸஹ])\\{', '$1ு' ],
[ '([ஜஷஸஹ])\\_', '$1ூ' ] ]
};
$.ime.register( taBamini );
}( jQuery ) );

View File

@@ -0,0 +1,104 @@
( function ( $ ) {
'use strict';
var taInScript = {
id: 'ta-inscript',
name: 'Tamil InScript',
description: 'Tamil InScript Keyboard',
date: '2012-11-20',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 4,
patterns: [
[ '`', 'ொ' ],
[ '~', 'ஒ' ],
[ '&', 'க்ஷ' ],
[ '\\*', 'ஷ்ர' ],
// ['\\(', '\u200D'], // ZWJ is not used in Tamil.
[ '\\)', '\u200C' ], // ZWNJ
[ '_', 'ஃ' ],
[ 'q', 'ௌ' ],
[ 'Q', 'ஔ' ],
[ 'w', 'ை' ],
[ 'W', 'ஐ' ],
[ 'e', 'ா' ],
[ 'E', 'ஆ' ],
[ 'r', 'ீ' ],
[ 'R', 'ஈ' ],
[ 't', 'ூ' ],
[ 'T', 'ஊ' ],
[ 'u', 'ஹ' ],
[ 'U', 'ங' ],
[ 'p', 'ஜ' ],
[ '\\}', 'ஞ' ],
[ 'a', 'ோ' ],
[ 'A', 'ஓ' ],
[ 's', 'ே' ],
[ 'S', 'ஏ' ],
[ 'd', '்' ],
[ 'D', 'அ' ],
[ 'f', 'ி' ],
[ 'F', 'இ' ],
[ 'g', 'ு' ],
[ 'G', 'உ' ],
[ 'h', 'ப' ],
[ 'j', 'ர' ],
[ 'J', 'ற' ],
[ 'k', 'க' ],
[ 'l', 'த' ],
[ ';', 'ச' ],
[ '\'', 'ட' ],
[ 'z', 'ெ' ],
[ 'Z', 'எ' ],
// ['x', 'ஂ'], -- Anusvara is not used in Tamil.
[ 'c', 'ம' ],
[ 'C', 'ண' ],
[ 'v', 'ந' ],
[ 'V', 'ன' ],
[ 'b', 'வ' ],
[ 'B', 'ழ' ],
[ 'n', 'ல' ],
[ 'N', 'ள' ],
[ 'm', 'ஸ' ],
[ 'M', 'ஶ' ],
[ '<', 'ஷ' ],
[ '/', 'ய' ],
[ '1', '௧' ],
[ '2', '௨' ],
[ '3', '௩' ],
[ '4', '௪' ],
[ '5', '௫' ],
[ '6', '௬' ],
[ '7', '௭' ],
[ '8', '௮' ],
[ '9', '௯' ],
[ '0', '' ] ],
patterns_x: [
[ 'X', 'ௐ' ],
[ '\\)', '௰' ],
[ '-', '௱' ],
[ '=', '௲' ],
[ 'n', '௳' ],
[ 'c', '௴' ],
[ 'b', '௵' ],
[ 'h', '௶' ],
[ 'y', '௷' ],
[ 'C', '௸' ],
[ ',', '௹' ],
[ 'V', '௺' ],
[ '4', '₹' ] ]
};
$.ime.register( taInScript );
}( jQuery ) );

View File

@@ -0,0 +1,121 @@
( function ( $ ) {
'use strict';
var taTransliteration = {
id: 'ta-transliteration',
name: 'Tamil Transliteration',
description: 'Tamil Transliteration based input method',
date: '2012-10-03',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
maxKeyLength: 4,
patterns: [
[ 'ச்h', 'h', 'ச்ஹ்' ],
[ 'ழ்h', 'h', 'ழ்ஹ்' ],
// '(ஸ்ரிi|ஸ்ர்I)',
[ 'ஸ்ர்i', 'ஸ்ரீ' ],
[ 'க்(ச்|ஸ்)h', 'க்\u200Cஷ்' ], // with ZWNJ
[ 'க்(ச்|ஸ்)H', 'க்ஷ்' ],
[ '([க-ஹ])்a', '$1' ],
[ '([க-ஹ])(்A|a)', '$1ா' ],
[ '([க-ஹ])்i', '$1ி' ],
[ '([க-ஹ])(்I|ிi)', '$1ீ' ],
[ '([க-ஹ])்u', '$1ு' ],
[ '([க-ஹ])(்U|ுu)', '$1ூ' ],
[ '([க-ஹ])்e', '$1ெ' ],
[ '([க-ஹ])(்E|ெe)', '$1ே' ],
[ '([க-ஹ])i', '$1ை' ],
[ '([க-ஹ])்o', '$1ொ' ],
[ '([க-ஹ])(்O|ொo)', '$1ோ' ],
[ '([க-ஹ])u', '$1ௌ' ],
[ '([அ-ஹ][ெ-்]?)n', '$1ன்' ],
[ 'அa', 'ஆ' ],
[ 'இi', 'ஈ' ],
[ 'உu', 'ஊ' ],
[ 'எe', 'ஏ' ],
[ 'அi', 'ஐ' ],
[ 'ஒo', 'ஓ' ],
[ 'அu', 'ஔ' ],
[ '(ந்|ன்)g', 'ங்' ],
[ '(ந்|ன்)j', 'ஞ்' ],
[ 'ச்h', 'ஷ்' ],
[ 'ழ்h', 'ழ்' ],
[ 'ட்h', 'த்' ],
[ 'ஸ்h', 'ஷ்' ],
[ 'a', 'அ' ],
[ 'b', 'ப்' ],
[ 'c', 'ச்' ],
[ 'd', 'ட்' ],
[ 'e', 'எ' ],
[ 'f', 'ஃப்' ],
[ 'g', 'க்' ],
[ 'h', 'ஹ்' ],
[ 'i', 'இ' ],
[ 'j', 'ஜ்' ],
[ 'k', 'க்' ],
[ 'l', 'ல்' ],
[ 'm', 'ம்' ],
[ 'n', 'ன்' ],
[ 'o', 'ஒ' ],
[ 'p', 'ப்' ],
[ 'q', 'ஃ' ],
[ 'r', 'ர்' ],
[ 's', 'ச்' ],
[ 't', 'ட்' ],
[ 'u', 'உ' ],
[ 'v', 'வ்' ],
[ 'w', 'ந்' ],
[ 'y', 'ய்' ],
[ 'z', 'ழ்' ],
[ 'A', 'ஆ' ],
[ 'B', 'ப்' ],
[ 'C', 'க்க்' ],
[ 'E', 'ஏ' ],
[ 'F', 'ஃப்' ],
[ 'G', 'க்' ],
[ 'H', 'ஃ' ],
[ 'I', 'ஈ' ],
[ 'J', 'ஜ்ஜ்' ],
[ 'K', 'க்' ],
[ 'L', 'ள்' ],
[ 'M', 'ம்ம்' ],
[ 'N', 'ண்' ],
[ 'O', 'ஓ' ],
[ 'P', 'ப்ப்' ],
[ 'Q', 'ஃ' ],
[ 'R', 'ற்' ],
[ 'S', 'ஸ்' ],
[ 'T', 'ட்' ],
[ 'U', 'ஊ' ],
[ '(V|W)', 'வ்வ்' ],
[ 'Y', 'ய்ய்' ],
[ 'Z', 'ஶ்' ],
[ '\\\\0', '\u0be6' ],
[ '\\\\1', '௧' ],
[ '\\\\2', '௨' ],
[ '\\\\3', '௩' ],
[ '\\\\4', '௪' ],
[ '\\\\5', '௫' ],
[ '\\\\6', '௬' ],
[ '\\\\7', '௭' ],
[ '\\\\8', '௮' ],
[ '\\\\9', '௯' ],
[ '10\\\\', '\u0BF0' ],
[ '100\\\\', '\u0BF1' ],
[ '1000\\\\', '\u0BF2' ] ]
};
$.ime.register( taTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,124 @@
( function ( $ ) {
'use strict';
var teInScript = {
id: 'te-inscript',
name: 'Telugu InScript',
description: 'Inscript keyboard for Telugu script',
date: '2012-10-16',
author: 'Veeven',
license: 'GPLv3',
version: '1.0',
patterns: [
['D', 'అ'],
['E', 'ఆ'],
['F', 'ఇ'],
['R', 'ఈ'],
['G', 'ఉ'],
['T', 'ఊ'],
['\\+', 'ఋ'],
['Z', 'ఎ'],
['S', 'ఏ'],
['W', 'ఐ'],
['~', 'ఒ'],
['A', 'ఓ'],
['Q', 'ఔ'],
['k', 'క'],
['K', 'ఖ'],
['i', 'గ'],
['I', 'ఘ'],
['U', 'ఙ'],
['\\;', 'చ'],
['\\:', 'ఛ'],
['p', 'జ'],
['P', 'ఝ'],
['\\}', 'ఞ'],
['\'', 'ట'],
['"', 'ఠ'],
['\\[', '','డ'],
['\\{', '','ఢ'],
['C', 'ణ'],
['l', 'త'],
['L', 'థ'],
['o', 'ద'],
['O', 'ధ'],
['v', 'న'],
['h', 'ప'],
['H', 'ఫ'],
['y', 'బ'],
['Y', 'భ'],
['c', 'మ'],
['/', 'య'],
['j', 'ర'],
['J', 'ఱ'],
['n', 'ల'],
['N', 'ళ'],
['b', 'వ'],
['M', 'శ'],
['\\<', '','ష'],
['m', 'స'],
['u', 'హ'],
['e', 'ా'],
['f', 'ి'],
['r', 'ీ'],
['g', 'ు'],
['t', 'ూ'],
['\\=', 'ృ'],
['z', 'ె'],
['s', 'ే'],
['w', 'ై'],
['`', 'ొ'],
['a', 'ో'],
['q', 'ౌ'],
['x', ''],
['\\-', 'ః'],
['X', 'ఁ'],
['d', '్'],
['0', '',''],
['1', '','౧'],
['2', '౨'],
['3', '౩'],
['4', '౪'],
['5', '౫'],
['6', '౬'],
['7', '౭'],
['8', '౮'],
['9', '౯'],
['\\@', '\u200C'], // In cases where extended rules do not work
['\\#', '్ర'],
['\\$', 'ర్'],
['\\%', 'జ్ఞ'],
['\\^', 'త్ర'],
['\\&', 'క్ష'],
['\\*', 'శ్ర'],
['\\>', '।']],
patterns_x: [
['X', 'ॐ'],
['\\;', 'ౘ'],
['p', 'ౙ'],
['f', '\u0C62'], // vowel sign of alu (volic l)
['r', '\u0C63'], // vowel sign of aluu (volic ll)
['F', 'ఌ'],
['R', 'ౡ'],
['\\.', '॥'],
['\\>', 'ఽ'],
['2', '\u200C'], // ZWNJ
['4', '₹'],
['\\=', 'ౄ'],
['\\+', 'ౠ']]
};
$.ime.register( teInScript );
}( jQuery ) );

View File

@@ -0,0 +1,222 @@
( function ( $ ) {
'use strict';
var teTransliteration = {
id: 'te-transliteration',
name: 'Telugu Transliteration',
description: 'Telugu Transliteration based on RTS',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Veeven and Junaid P V',
license: 'GPLv3',
version: '1.0',
contextLength: 4,
maxKeyLength: 1,
patterns: [
['(మ్|న్)b', 'ంబ్'],
['(మ్|న్)B', 'ంభ్'],
['(మ్|న్)c', 'ంచ్'],
['(మ్|న్)C', 'ంఛ్'],
['(మ్|న్)d', 'ంద్'],
['(మ్|న్)D', 'ండ్'],
['(మ్|న్)[fFP]', 'ంఫ్'],
['(మ్|న్)g', 'ంగ్'],
['(మ్|న్)h', 'ంహ్'],
['(మ్|న్)j', 'ంజ్'],
['(మ్|న్)J', 'ంఝ్'],
['(మ్|న్)k', 'ంక్'],
['(మ్|న్)L', 'ంళ్'],
['(మ్|న్)p', 'ంప్'],
['(మ్|న్)r', 'ంర్'],
['(మ్|న్)s', 'ంస్'],
['(మ్|న్)t', 'ంత్'],
['(మ్|న్)T', 'ంట్'],
['(మ్|న్)[vwVW]', 'ంవ్'],
['(మ్|న్)[xX]', 'ంక్ష్'],
// & for forcing combination
['(మ్|న్)&b', '$1బ్'],
['(మ్|న్)&B', '$1బ్'],
['(మ్|న్)&c', '$1చ్'],
['(మ్|న్)&C', '$1ఛ్'],
['(మ్|న్)&d', '$1ద్'],
['(మ్|న్)&D', '$1డ్'],
['(మ్|న్)&[fFP]', '$1ఫ్'],
['(మ్|న్)&g', '$1గ్'],
['(మ్|న్)&h', '$1హ్'],
['(మ్|న్)&j', '$1జ్'],
['(మ్|న్)&J', '$1ఝ్'],
['(మ్|న్)&k', '$1క్'],
['(మ్|న్)&L', '$1ళ్'],
['(మ్|న్)&p', '$1ప్'],
['(మ్|న్)&r', '$1ర్'],
['(మ్|న్)&s', '$1స్'],
['(మ్|న్)&t', '$1త్'],
['(మ్|న్)&T', '$1ట్'],
['(మ్|న్)&[vwVW]', '$1వ్'],
['(మ్|న్)&[xX]', '$1క్ష్'],
['(మ్|న్)&(\\s|\\.|\\, |\\))', '$1$2'],
// అ
['([క-హ]|ౘ|ౙ)్a', '$1'],
// ఆ
['([క-హ])(్A|a|\')', '$1ా'],
// ఇ
['([క-హ])్i', '$1ి'],
// ఈ
['([క-హ])(్I|ిi|ి\'|ెe)', '$1ీ'],
// ఉ
['([క-హ])్u', '$1ు'],
// ఊ
['([క-హ])(ుu|ు\'|ుa|్U)', '', '$1ూ'],
['([క-హ])ొo', 'o', '$1ూ'],
// ఋ
['([క-హ])్R', '$1ృ'],
['([క-హ])్ర్\'', '$1ృ'],
// ౠ
['([క-హ])ృu', '$1ౄ'],
// ఌ
['([క-హ])్~l', '$1ౢ'],
// ౡ
['([క-హ])ౢ(l|\')', '$1ౣ'],
// ఎ
['([క-హ])్e', '$1ె'],
// ఏ
['([క-హ])(్E|ెa|ె\')', '$1ే'],
['([క-హ])e', 'a', '$1ే'],
// ఐ
['([క-హ])ెi', '$1ై'],
['([క-హ])i', 'a', '$1ై'],
// ఒ
['([క-హ])్o', '$1ొ'],
// ఓ
['([క-హ])(్O|ొa|ొ\')', '$1ో'],
// ఔ
['([క-హ])(ొu|ొw)', '$1ౌ'],
['([క-హ])u', 'a', '$1ౌ'],
// TODO: handle back corrections
/* not working ['([క-హ])u', '$1ు'],
['([క-హ])U', '$1ూ'],
['([క-హ])E', '$1ే'],
*/
// zwnj
['(్)\\^', '$1\u200d'],
// sunna ending
['మ్(\\s|\\.|\\, |\\))', '$1'],
// standalone vowels
['అ(a|\')', 'ఆ'],
['ఇ(i|\')', 'ఈ'],
['ఎe', 'ఈ'],
['ఉ(u|\')', 'ఊ'],
['ఒo', 'ఊ'],
['ఎ(a|\')', 'ఏ'],
['అe', 'a', 'ఏ'],
['ఎi', 'ఐ'],
['అi', 'a', 'ఐ'],
['ఒ(a|\')', '', 'ఓ'],
['అo', 'a', 'ఓ'],
['ఒ(u|w)', 'ఔ'],
['అu', 'a', 'ఔ'],
['ఋ(u|\')', 'ౠ'],
['ర్\'', 'ఋ'],
// mahaa prana
['క్h', 'ఖ్'],
['గ్h', 'ఘ్'],
['జ్h', 'ఝ్'],
['చ్\'', 'ఛ్'],
['చ్h', 'చ్'],
['స్h', 'ష్'],
['స్\'', 'శ్'],
['త్\'', 'ట్'],
['ట్h', 'ఠ్'],
['ద్\'', 'డ్'],
['డ్h', 'ఢ్'],
['న్\'', 'ణ్'],
['త్h', 'థ్'],
['ద్h', 'ధ్'],
['ప్h', 'ఫ్'],
['బ్h', 'భ్'],
['ల్\'', 'ళ్'],
// basic
['a', 'అ'],
['b', 'బ్'],
['~c', 'ౘ్'],
['c', 'చ్'],
['d', 'ద్'],
['e', 'ఎ'],
['(f|F|P)', 'ఫ్'],
['g', 'గ్'],
['@h', 'ః'],
['h', 'హ్'],
['i', 'ఇ'],
['~j', 'ౙ్'],
['j', 'జ్'],
['k', 'క్'],
['~l', 'ఌ'],
['l', 'ల్'],
['@m', 'ఁ'],
['~m', 'ఙ'],
['m', 'మ్'],
['~n', 'ఞ'],
['n', 'న్'],
['o', 'ఒ'],
['p', 'ప్'],
['q', 'క్వ్'],
['~r', 'ఱ్'],
['r', 'ర్'],
['s', 'స్'],
['t', 'త్'],
['u', 'ఉ'],
['(v|w|V|W)', 'వ్'],
['(x|X)', 'క్ష్'],
['(y|Y)', 'య్'],
['(z|Z)', 'జ్'],
['A', 'ఆ'],
['B', 'భ్'],
['C', 'ఛ్'],
['D', 'డ్'],
['E', 'ఏ'],
['G', 'ఘ్'],
['H', 'ః'],
['I', 'ఈ'],
['J', 'ఝ్'],
['K', 'ఖ్'],
['L', 'ళ్'],
['M', ''],
['N', 'ణ్'],
['O', 'ఓ'],
['Q', 'క్వ్'],
['R', 'ఋ'],
['S', 'శ్'],
['T', 'ట్'],
['U', 'ఊ'],
/**
* Telugu numbers
*/
['~0', ''],
['~1', '౧'],
['~2', '౨'],
['~3', '౩'],
['~4', '౪'],
['~5', '౫'],
['~6', '౬'],
['~7', '౭'],
['~8', '౮'],
['~9', '౯'],
// others
['।~\\.', '॥'], // double danda
['~\\.', '।'], // danda
['//', 'ఽ'], // avagraha
['~\\$', '₹']] // rupee
};
$.ime.register( teTransliteration );
}( jQuery ) );

View File

@@ -0,0 +1,99 @@
( function ( $ ) {
'use strict';
var urTransliteration = {
id: 'ur-transliteration',
name: 'Urdu Transliteration',
description: 'Urdu Transliteration based on RTS',
date: '2012-10-16',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Mohammed Imran Tabani',
license: '',
version: '1.0',
patterns: [
['x', 'ف'],
['_', '_'],
['D', 'ڑ'],
['E', 'ذ'],
['F', 'ں'],
['R', 'ڈ'],
['G', 'ۂ'],
['T', 'ث'],
['\\+', '+'],
['S', 'ز'],
['W', 'ض'],
['A', 'ژ'],
['Q', 'ظ'],
['k', 'ک'],
['K', 'گ'],
['i', 'ب'],
['I', 'ـ'],
['U', 'ۃ'],
['\\;', '؛'],
['\\:', ':'],
['p', 'ح'],
['P', 'خ'],
['\\}', '{'],
['\'', '\''],
['\"', '\"'],
['\\[', ']'],
['\\{', '{'],
['C', 'ۓ'],
['l', 'ی'],
['L', 'ي'],
['o', 'ج'],
['O', 'چ'],
['v', 'س'],
['h', 'ہ'],
['H', 'ء'],
['y', 'پ'],
['Y', '\u0651\u00AD'],
['c', 'ے'],
['\\?','؟'],
['j', 'ا'],
['n', 'غ'],
['N', 'ئ'],
['b', 'ش'],
['\\<', '','>'],
['m', 'ع'],
['u', 'ت'],
['\\]', '','['],
['e', 'ھ'],
['f', 'ن'],
['r', 'د'],
['g', 'ل'],
['t', 'ٹ'],
['\\=', '','='],
['\\\\', '\\'],
['s', 'و'],
['w', 'ص'],
['a', 'م'],
['q', 'ط'],
['d', 'ر'],
['\\|', '|'],
['/', '/'],
['\\>', '<'],
['0', '0'],
['1', '1'],
['2', '2'],
['3', '3'],
['4', '4'],
['5', '5'],
['6', '6'],
['7', '7'],
['8', '8'],
['9', '9'],
['\\@', '@'],
['\\#', '','#'],
['\\$', '','$'],
['\\%', '','٪'],
['\\^', '','^'],
['\\&', 'ۖ'],
['\\*', '٭'],
['\\(', '('],
['\\)', ')']]
};
$.ime.register( urTransliteration );
}( jQuery ) );

View File

@@ -4,21 +4,6 @@ div#settings-block {
line-height: 1.2em; line-height: 1.2em;
} }
div.display-settings-block {
/* @embed */
background: transparent url('../images/display.png') no-repeat;
background-size: 20px auto;
/* This is only few pixels off from the below */
background-position: 4.5% 0;
/* Does not work for RTL
background-position-x: 15px;
background-position-y: 5px;
*/
color: #252525;
padding-left: 32px;
cursor: pointer;
}
div.display-settings-block:hover { div.display-settings-block:hover {
color: black; color: black;
} }

View File

@@ -1,3 +1,19 @@
div.display-settings-block {
/* @embed */
background: transparent url('../images/display.png') no-repeat;
background-size: 20px auto;
/* This is only few pixels off from the below */
background-position: 4.5% 0;
/* Does not work for RTL
background-position-x: 15px;
background-position-y: 5px;
*/
color: #252525;
padding-left: 32px;
cursor: pointer;
}
.uls-font-label, .uls-font-select { .uls-font-label, .uls-font-select {
font-size: 10pt; font-size: 10pt;
line-height: 16pt; line-height: 16pt;

View File

@@ -0,0 +1,29 @@
div.input-settings-block {
/* @embed */
background: transparent url('../images/input.png') no-repeat;
background-size: 20px auto;
/* This is only few pixels off from the below */
background-position: 4.5% 0;
/* Does not work for RTL
background-position-x: 15px;
background-position-y: 5px;
*/
color: #252525;
padding-left: 32px;
cursor: pointer;
}
.imelabel {
display: block;
padding-bottom: 10px;
font-size: 10pt;
line-height: 16pt;
}
.imelabel span {
padding-left: 5px;
}
.imelabel input {
float: left;
}

View File

@@ -92,20 +92,22 @@
border-left-color: #3366BB; border-left-color: #3366BB;
} }
#languagesettings-panels div#settings-block { #settings-block {
border-left: 1px solid #C9C9C9; border-left: 1px solid #C9C9C9;
padding-left: 10px; padding-left: 10px;
background-color: #F6F6F6; background-color: #F6F6F6;
line-height: 1.2em; line-height: 1.2em;
} }
#languagesettings-panels div#display-settings-block { #input-settings-block,
#display-settings-block {
background-position: 6% 6px; background-position: 6% 6px;
padding-left: 40px; padding-left: 40px;
cursor: pointer; cursor: pointer;
} }
#languagesettings-panels div#display-settings-block:hover { #input-settings-block:hover,
#display-settings-block:hover {
background-color: #F6F6F6; background-color: #F6F6F6;
} }

BIN
resources/images/input.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

102
resources/js/ext.uls.ime.js Normal file
View File

@@ -0,0 +1,102 @@
/**
* ULS-Webfonts integration
*
* Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris,
* Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other
* contributors. See CREDITS for a list.
*
* UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't
* have to do anything special to choose one license or the other and you don't
* have to notify anyone which license you are using. You are free to use
* UniversalLanguageSelector in commercial projects as long as the copyright
* header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.
*
* @file
* @ingroup Extensions
* @licence GNU General Public Licence 2.0 or later
* @licence MIT License
*/
( function ( $, mw, document, undefined ) {
'use strict';
var mwImeRulesPath, inputSelector, inputPreferences;
mwImeRulesPath = mw.config.get( 'wgExtensionAssetsPath' )
+ '/UniversalLanguageSelector/lib/jquery.ime/';
inputSelector = 'input:not([type]), input[type=text], input[type=search], textarea';
inputPreferences = mw.uls.preferences();
function getLanguagesWithIME () {
var language,
availableLanguages = {};
for ( language in $.ime.languages ) {
availableLanguages[language] = mw.config.get( 'wgULSLanguages' )[language];
}
return availableLanguages;
}
function getIMELanguageList () {
var unique = [],
imeLanguageList,
previousIMELanguages;
previousIMELanguages = $.ime.preferences.getPreviousLanguages() || [];
imeLanguageList = previousIMELanguages.concat( mw.uls.getFrequentLanguageList() );
$.each( imeLanguageList, function ( i, v ) {
if ( $.inArray( v, unique ) === -1 ) {
unique.push( v );
}
} );
return unique.slice( 0, 6 );
}
$( document ).ready( function () {
// MediaWiki specific overrides for jquery.webfonts
$.extend( $.ime.defaults, {
imePath: mwImeRulesPath
} );
$( 'body' ).on( 'focus', inputSelector, function () {
var $input = $( this );
$input.ime( {
languages: getIMELanguageList(),
languageSelector: function () {
var $ulsTrigger;
$ulsTrigger = $( '<a>' ).text( '...' );
$ulsTrigger.uls( {
onSelect: function ( language ) {
$input.data( 'ime' ).setLanguage( language );
},
languages: getLanguagesWithIME(),
top: $input.offset().top,
left: $input.offset().left
} );
return $ulsTrigger;
}
} );
} );
$.extend( $.ime.preferences, {
save: function ( callback ) {
inputPreferences.set( 'ime', this.registry );
inputPreferences.save( callback );
},
load: function () {
this.registry = inputPreferences.get( 'ime' ) || this.registry;
}
} );
$.ime.preferences.load();
} );
}( jQuery, mediaWiki, document ) );

View File

@@ -130,11 +130,26 @@
return $displaySettings; return $displaySettings;
} }
function inputSettings () {
var $inputSettingsTitle, $inputSettingsText, $inputSettings;
$inputSettingsTitle = $( '<div data-i18n="ext-uls-input-settings-title">' )
.addClass( 'settings-title' );
$inputSettingsText = $( '<span data-i18n="ext-uls-input-settings-desc">' )
.addClass( 'settings-text' );
$inputSettings = $( '<div>' )
.addClass( 'input-settings-block' )
.prop( 'id', 'input-settings-block' )
.append( $inputSettingsTitle )
.append( $inputSettingsText );
return $inputSettings;
}
function addDisplaySettings ( uls ) { function addDisplaySettings ( uls ) {
var $displaySettings, position; var $displaySettings, position;
$displaySettings = displaySettings(); $displaySettings = displaySettings();
uls.$menu.find( 'div#settings-block' ).append( $displaySettings ); uls.$menu.find( '#settings-block' ).append( $displaySettings );
position = uls.position(); position = uls.position();
$displaySettings.languagesettings( { $displaySettings.languagesettings( {
@@ -151,9 +166,31 @@
} ); } );
} }
function addInputSettings ( uls ) {
var $inputSettings, position;
$inputSettings = inputSettings();
uls.$menu.find( '#settings-block' ).append( $inputSettings );
position = uls.position();
$inputSettings.languagesettings( {
defaultModule: 'input',
onClose: function () {
uls.show();
},
top: position.top,
left: position.left
} );
$inputSettings.on( 'click', function () {
uls.hide();
} );
}
$ulsTrigger.uls( { $ulsTrigger.uls( {
onReady: function () { onReady: function () {
addDisplaySettings( this ); addDisplaySettings( this );
addInputSettings( this );
}, },
onSelect: function ( language ) { onSelect: function ( language ) {
mw.uls.changeLanguage( language ); mw.uls.changeLanguage( language );

View File

@@ -0,0 +1,383 @@
/**
* ULS-based ime settings panel
*
* Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris,
* Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other
* contributors. See CREDITS for a list.
*
* UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't
* have to do anything special to choose one license or the other and you don't
* have to notify anyone which license you are using. You are free to use
* UniversalLanguageSelector in commercial projects as long as the copyright
* header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.
*
* @file
* @ingroup Extensions
* @licence GNU General Public Licence 2.0 or later
* @licence MIT License
*/
( function ( $, mw, undefined ) {
'use strict';
var template = '<div class="uls-input-settings">'
+ '<div class="row">' // Top "Display settings" title
+ '<div class="twelve columns">'
+ '<h3 data-i18n="ext-uls-input-settings-title"></h3>'
+ '</div>'
+ '</div>'
// "Language for ime", title above the buttons row
+ '<div class="row">'
+ '<div class="eleven columns">'
+ '<h4 data-i18n="ext-uls-input-settings-ui-language"></h4>'
+ '</div>'
+ '</div>'
// UI languages buttons row
+ '<div class="row">'
+ '<div class="uls-ui-languages eleven columns"></div>'
+ '</div>'
// Web IMEs enabling chechbox with label
+ '<div class="row">'
+ '<div class="eleven columns uls-input-settings-inputmethods-list">'
// "Input settings for language xyz" title
+ '<h4 class="ext-uls-input-settings-imes-title"></h4>'
+ '</div>'
+ '</div>'
// Separator
+ '<div class="row"></div>'
// Apply and Cancel buttons
+ '<div class="row language-settings-buttons">'
+ '<div class="eleven columns">'
+ '<button class="button uls-input-settings-close" data-i18n="ext-uls-language-settings-cancel"></button>'
+ '<button class="active blue button uls-input-settings-apply" data-i18n="ext-uls-language-settings-apply"></button>'
+ '</div>'
+ '</div>'
+ '</div>';
function InputSettings( $parent ) {
this.name = $.i18n( 'ext-uls-input-settings-title-short' );
this.description = $.i18n( 'ext-uls-input-settings-desc' );
this.$template = $( template );
this.imeLanguage = this.getImeLanguage();
this.contentLanguage = this.getContentLanguage();
this.$imes = null;
this.$parent = $parent;
}
InputSettings.prototype = {
Constructor: InputSettings,
/**
* Render the module into a given target
*/
render: function () {
this.$parent.$settingsPanel.empty();
this.$imes = $( 'body' ).data( 'ime' );
this.$parent.$settingsPanel.append( this.$template );
this.prepareLanguages();
this.prepareInputmethods( this.imeLanguage );
this.$template.i18n();
this.listen();
},
prepareInputmethods: function ( language ) {
var inputsettings, $imeListContainer, defaultInputmethod, imes, selected, imeId,
index = 0, $imeListTitle;
imes = $.ime.languages[language];
this.imeLanguage = language;
$imeListTitle = this.$template.find( '.ext-uls-input-settings-imes-title' );
$imeListContainer = this.$template.find( '.uls-input-settings-inputmethods-list' );
$imeListContainer.find( 'label' ).remove();
if ( !imes ) {
$imeListTitle.text( '' );
return;
}
inputsettings = this;
$imeListTitle.text( $.i18n( 'ext-uls-input-settings-ime-settings',
$.uls.data.getAutonym( language ) ) );
defaultInputmethod = $.ime.preferences.getIM( language ) || imes.inputmethods[0];
for ( index in imes.inputmethods ) {
imeId = imes.inputmethods[index];
selected = defaultInputmethod === imeId;
//$.ime.load( imeId, function () {
$imeListContainer.append( inputsettings.renderInputmethodOption( imeId,
selected ) );
//} );
}
$imeListContainer.append( inputsettings.renderInputmethodOption( 'system',
defaultInputmethod === 'system' ) );
},
renderInputmethodOption: function ( imeId, selected ) {
var $imeLabel, name, description, inputmethod, $inputMethodItem;
$imeLabel = $( '<label>' ).attr( {
'for': imeId,
'class': 'imelabel'
} );
// TODO Niklas: Was there some problems with IE needing the type=foo immediately?
$inputMethodItem = $( '<input>' ).attr( {
name: 'ime',
id: imeId,
type: 'radio',
value: imeId,
checked: selected
} );
$imeLabel.append( $inputMethodItem );
if ( imeId === 'system' ) {
name = $.i18n( 'ext-uls-disable-input-method' );
description = $.i18n( 'ext-uls-disable-input-method-desc' );
} else {
inputmethod = $.ime.inputmethods[imeId];
if ( !inputmethod ) {
// Delay in registration?
name = $.ime.sources[imeId].name;
description = '';
} else {
name = inputmethod.name;
description = $.ime.inputmethods[imeId].description;
}
}
$imeLabel.append( $( '<strong>' ).text( name ) ).append(
$( '<span>' ).text( description ) );
return $imeLabel;
},
/**
* Prepare the UI language selector
*/
prepareLanguages: function () {
var imeSettings = this, languagesForButtons, $languages, suggestedLanguages,
SUGGESTED_LANGUAGES_NUMBER, lang, i, language, $button;
SUGGESTED_LANGUAGES_NUMBER = 3;
imeSettings = this;
$languages = this.$template.find( 'div.uls-ui-languages' );
suggestedLanguages = this.frequentLanguageList()
// Common world languages, for the case that there are
// too few suggested languages
.concat( [ 'en', 'zh', 'fr' ] );
// Content language is always on the first button
languagesForButtons = [ this.contentLanguage ];
// This is needed when drawing the panel for the second time
// after selecting a different language
$languages.empty();
// UI language must always be present
if ( this.imeLanguage !== this.contentLanguage ) {
languagesForButtons.push( this.imeLanguage );
}
for ( lang in suggestedLanguages ) {
// Skip already found languages
if ( $.inArray( suggestedLanguages[lang], languagesForButtons ) > -1 ) {
continue;
}
languagesForButtons.push( suggestedLanguages[lang] );
// No need to add more languages than buttons
if ( languagesForButtons.length === SUGGESTED_LANGUAGES_NUMBER ) {
break;
}
}
function buttonHandler( button ) {
return function () {
var selectedLanguage = button.data( 'language' ) || imeSettings.imeLanguage;
$.ime.preferences.setLanguage( selectedLanguage );
$( 'div.uls-ui-languages button.button' ).removeClass( 'down' );
button.addClass( 'down' );
imeSettings.prepareInputmethods( selectedLanguage );
};
}
// Add the buttons for the most likely languages
for ( i = 0; i < SUGGESTED_LANGUAGES_NUMBER; i++ ) {
language = languagesForButtons[i];
$button = $( '<button>' )
.addClass( 'button uls-language-button' )
.text( $.uls.data.getAutonym( language ) )
.prop({
lang: language,
dir: $.uls.data.getDir( language )
});
if ( language === this.imeLanguage ) {
$button.addClass( 'down' );
}
$button.data( 'language', language );
$languages.append( $button );
$button.on( 'click', buttonHandler( $button ) );
}
this.prepareMoreLanguages();
},
/**
* Prepare the more languages button. It is a ULS trigger
*/
prepareMoreLanguages: function () {
var that, $languages, $moreLanguagesButton;
that = this;
$languages = this.$template.find( 'div.uls-ui-languages' );
$moreLanguagesButton = $( '<button>' )
.prop( 'id', 'uls-more-languages' )
.addClass( 'button' ).text( '...' );
$languages.append( $moreLanguagesButton );
// Show the long language list to select a language for ime settings
$moreLanguagesButton.uls( {
left: that.$parent.left,
top: that.$parent.top,
onReady: function () {
var uls = this,
$back = $( '<a>' ).prop( 'href', '#' )
.text( $.i18n( 'ext-uls-back-to-input-settings' ) );
$back.click( function () {
uls.hide();
that.$parent.show();
} );
uls.$menu.find( 'div.uls-title' ).append( $back );
},
onSelect: function ( langCode ) {
that.imeLanguage = langCode;
that.$parent.show();
that.prepareLanguages();
that.prepareInputmethods( langCode );
},
quickList: function () {
return mw.uls.getFrequentLanguageList();
}
} );
$moreLanguagesButton.on( 'click', function () {
that.$parent.hide();
} );
},
/**
* Get previous languages
* @returns {Array}
*/
frequentLanguageList: function () {
return mw.uls.getFrequentLanguageList();
},
/**
* Get the current user interface language.
* @returns String Current UI language
*/
// XXX: Probably bad name
getImeLanguage: function () {
return mw.config.get( 'wgUserLanguage' );
},
/**
* Get the current content language.
* @returns String Current content language
*/
getContentLanguage: function () {
return mw.config.get( 'wgContentLanguage' );
},
/**
* Register general event listeners
*/
listen: function () {
var that = this, $imeListContainer;
$imeListContainer = this.$template.find( '.uls-input-settings-inputmethods-list' );
// Apply and close buttons
this.$template.find( 'button.uls-input-settings-apply' ).on( 'click', function () {
that.apply();
} );
this.$template.find( 'button.uls-input-settings-close' ).on( 'click', function () {
that.close();
} );
$imeListContainer.on( 'change', 'input:radio[name=ime]:checked', function () {
var ime = $( this ).val();
$.ime.preferences.setLanguage( that.imeLanguage );
$.ime.preferences.setIM( ime );
} );
},
/**
* Hide this window.
* Used while navigating to language selector and need coming back
*/
hide: function () {
this.$parent.hide();
},
/**
* Close the language settings window.
* Depending on the context, actions vary.
*/
close: function () {
this.$parent.close();
},
/**
* Callback for save preferences
*/
onSave: function ( success ) {
if ( success ) {
// Live ime update
this.$parent.hide();
} else {
// FIXME failure. what to do?!
}
},
/**
* Handle the apply button press
*/
apply: function () {
var that = this;
// Save the preferences
$.ime.preferences.save( function ( result ) {
// closure for not losing the scope
that.onSave( result );
} );
}
};
// Register this module to language settings modules
$.fn.languagesettings.modules = $.extend( $.fn.languagesettings.modules, {
input: InputSettings
} );
} ( jQuery, mediaWiki ) );

View File

@@ -0,0 +1,313 @@
/**
* -- DRAFT --
*
* ULS-based generic settings panel. Common code for IME settings,
* fonts settings, and possible other setings.
*
* Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris,
* Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other
* contributors. See CREDITS for a list.
*
* UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't
* have to do anything special to choose one license or the other and you don't
* have to notify anyone which license you are using. You are free to use
* UniversalLanguageSelector in commercial projects as long as the copyright
* header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.
*
* @file
* @ingroup Extensions
* @licence GNU General Public Licence 2.0 or later
* @licence MIT License
*/
( function ( $, mw, undefined ) {
'use strict';
function templateTopTitle( msg ) {
// XXX Niklas: escape msg
return '<div class="row">'
+ '<div class="twelve columns">'
+ '<h3 data-i18n="' + msg + '"></h3>'
+ '</div>'
+ '</div>';
}
function templateButtonsTitle( msg ) {
return '<div class="row">'
+ '<div class="eleven columns">'
+ '<h4 data-i18n="' + msg + '"></h4>'
+ '</div>'
+ '</div>';
}
var templateButtonsRow = '<div class="row">'
+ '<div class="uls-ui-languages eleven columns"></div>'
+ '</div>',
templateSeparator = '<div class="row"></div>';
var templateApplyCancel( id ) {
return '<div class="row language-settings-buttons">'
+ '<div class="eleven columns">'
+ '<button class="button uls-settings-close" data-i18n="ext-uls-language-settings-cancel"></button>'
+ '<button id="' + id + '" class="active blue button" data-i18n="ext-uls-language-settings-apply"></button>'
+ '</div>'
+ '</div>';
}
function SettingsPanel( $parent, options ) {
var template = templateTopTitle( options.topTitleMsg )
+ templateButtonsTitle( options.buttonsTitleMsg )
+ templateButtonsRow
+ templateSeparator
+ options.customTemplate
+ templateApplyCancel( options.applyCancelId );
this.name = $.i18n( options.nameMsg );
this.description = $.i18n( options.descMsg );
this.$template = $( '<div class="uls-settings-panel>' )
.html( template );
this.uiLanguage = this.getUILanguage();
this.contentLanguage = this.getContentLanguage();
this.$parent = $parent;
}
InputSettings.prototype = {
Constructor: SettingsPanel,
/**
* Render the module into a given target
*/
render: function () {
this.$parent.$settingsPanel.empty();
this.$parent.$settingsPanel.append( this.$template );
this.prepareLanguages();
this.prepareCustomPanel();
this.listen();
},
/**
* To be overriden
*/
prepareCustomPanel: function () {
return;
}
/**
* Prepare the UI language selector
*/
prepareLanguages: function () {
var SUGGESTED_LANGUAGES_NUMBER = 3,
languagesForButtons, $languages, suggestedLanguages,
SUGGESTED_LANGUAGES_NUMBER, lang, i, language, $button;
$languages = this.$template.find( 'div.uls-ui-languages' );
suggestedLanguages = this.frequentLanguageList()
// Common world languages, for the case that there are
// too few suggested languages
.concat( [ 'en', 'zh', 'fr' ] );
// Content language is always on the first button
languagesForButtons = [ this.contentLanguage ];
// This is needed when drawing the panel for the second time
// after selecting a different language
$languages.empty();
// UI language must always be present
if ( this.uiLanguage !== this.contentLanguage ) {
languagesForButtons.push( this.uiLanguage );
}
for ( lang in suggestedLanguages ) {
// Skip already found languages
if ( $.inArray( suggestedLanguages[lang], languagesForButtons ) > -1 ) {
continue;
}
languagesForButtons.push( suggestedLanguages[lang] );
// No need to add more languages than buttons
if ( languagesForButtons.length === SUGGESTED_LANGUAGES_NUMBER ) {
break;
}
}
// Add the buttons for the most likely languages
for ( i = 0; i < SUGGESTED_LANGUAGES_NUMBER; i++ ) {
language = languagesForButtons[i];
$button = $( '<button>' )
.addClass( 'button uls-language-button' )
.text( $.uls.data.getAutonym( language ) )
.prop({
lang: language,
dir: $.uls.data.getDir( language )
});
if ( language === this.uiLanguage ) {
$button.addClass( 'down' );
}
$button.data( 'language', language );
$languages.append( $button );
$button.on( 'click', this.buttonHandler( $button ) );
}
this.prepareMoreLanguages();
},
languageButtonHandler: function( button ) {
var selectedLanguage = button.data( 'language' ) || this.uiLanguage;
$( 'div.uls-ui-languages button.button' ).removeClass( 'down' );
button.addClass( 'down' );
this.customLanguageButton( selectedLanguage );
},
/**
* To be overriden
*/
customLanguageButton: function( selectedLanguage ) {
return;
}
/**
* Prepare the more languages button. It is a ULS trigger
*/
prepareMoreLanguages: function () {
var settingsPanel, $languages, $moreLanguagesButton;
settingsPanel = this;
$languages = this.$template.find( 'div.uls-ui-languages' );
$moreLanguagesButton = $( '<button>' )
.prop( 'id', 'uls-more-languages' )
.addClass( 'button' ).text( '...' );
$languages.append( $moreLanguagesButton );
// Show the long language list to select a language for the settings
$moreLanguagesButton.uls( {
left: settingsPanel.$parent.left,
top: settingsPanel.$parent.top,
onReady: function ( ) {
var uls = this,
$back = $( '<a>' ).prop( 'href', '#' )
.data( 'i18n', settingsPanel.options.backFromMoreLanguagesMsg )
.i18n();
$back.click( function () {
uls.hide();
settingsPanel.$parent.show();
} );
uls.$menu.find( 'div.uls-title' ).append( $back );
uls.$menu.find( 'div.uls-title h1' )
.data( 'i18n', settingsPanel.options.moreLanguagesTitleMsg )
.i18n();
},
onSelect: function ( langCode ) {
settingsPanel.uiLanguage = langCode;
settingsPanel.$parent.show();
settingsPanel.moreLanguagesSelectHandler( langCode );
},
quickList: function () {
return mw.uls.getFrequentLanguageList();
}
} );
$moreLanguagesButton.on( 'click', function () {
that.$parent.hide();
} );
},
/**
* To be overriden
*/
moreLanguagesSelectHandler: function ( langCode ) {
return;
}
/**
* Get previous languages
* @returns {Array}
*/
frequentLanguageList: function () {
return mw.uls.getFrequentLanguageList();
},
/**
* Get the current user interface language.
* @returns String Current UI language
*/
getUILanguage: function () {
return mw.config.get( 'wgUserLanguage' );
},
/**
* Get the current content language.
* @returns String Current content language
*/
getContentLanguage: function () {
return mw.config.get( 'wgContentLanguage' );
},
/**
* TODO
*/
listen: function () {
return;
},
/**
* Hide this window.
* Used while navigating to language selector and need coming back
*/
hide: function () {
this.$parent.hide();
},
/**
* Close the language settings window.
* Depending on the context, actions vary.
*/
close: function () {
this.$parent.close();
},
/**
* Callback for save preferences
*/
onSave: function ( success ) {
if ( success ) {
// Live feature update
this[this.options.feature].refresh();
this.$parent.hide();
// we delay change UI language to here, because it causes a page refresh
if ( this.uiLanguage !== this.getUILanguage() ) {
mw.uls.changeLanguage( this.uiLanguage );
}
} else {
// FIXME failure. what to do?!
}
},
/**
* Handle the apply button press
*/
apply: function () {
var settingsPanel = this;
// Save the preferences
this[this.options.preferences].save( function ( result ) {
// closure for not losing the scope
settingsPanel.onSave( result );
} );
}
};
// Register this module to language settings modules
$.fn.languagesettings.modules = $.extend( $.fn.languagesettings.modules, {
input: InputSettings
} );
} ) ( jQuery, mediaWiki );