Version Description
New edit interface, tons of other fixes
Download this release
Release Info
Developer | oferwald |
Plugin | Transposh WordPress Translation |
Version | 0.7.0 |
Comparing to | |
See all releases |
Code changes from version 0.6.7 to 0.7.0
- core/constants.php +23 -18
- core/parser.php +72 -40
- core/utils.php +3 -3
- css/keyboard.css +1 -0
- css/transposh.css +1 -1
- img/apertiumicon.png +0 -0
- img/flags/esperanto.png +0 -0
- img/flags60.png +0 -0
- js/jquery.ui.menu.js +22 -0
- js/keyboard.js +289 -0
- js/l/es.js +12 -0
- js/l/he.js +14 -0
- js/lazy.js +9 -6
- js/transposh.js +12 -11
- js/transposhadmin.js +3 -3
- js/transposhcontrol.js +7 -6
- js/transposhedit.js +31 -16
- langs/transposh-he_IL.mo +0 -0
- langs/transposh-he_IL.po +100 -90
- readme.txt +25 -4
- transposh.php +14 -9
- widgets/default/tpw_default.php +3 -3
- widgets/dropdown/tpw_image_dropdown.php +3 -3
- widgets/flags/flags60.png +0 -0
- widgets/flags/tpw_flags.php +3 -3
- widgets/flags/tpw_flags_css.css +45 -44
- widgets/flags/tpw_flags_css.php +3 -3
- widgets/flagslist/tpw_list_with_flags.php +3 -3
- widgets/flagslist/tpw_list_with_flags_css.php +3 -3
- wp/transposh_3rdparty.php +3 -3
- wp/transposh_admin.php +7 -4
- wp/transposh_ajax.php +17 -3
- wp/transposh_backup.php +3 -3
- wp/transposh_db.php +226 -31
- wp/transposh_options.php +24 -3
- wp/transposh_postpublish.php +6 -6
- wp/transposh_widget.php +45 -6
core/constants.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
//Language indicator in URL. i.e. lang=en
|
@@ -47,16 +47,17 @@ class transposh_consts {
|
|
47 |
'ar' => 'Arabic,العربية,sa,',
|
48 |
'hy' => 'Armenian,Հայերեն,am,',
|
49 |
'az' => 'Azerbaijani,azərbaycan dili,az,',
|
50 |
-
'eu' => 'Basque,
|
51 |
'be' => 'Belarusian,Беларуская,by,',
|
52 |
'bg' => 'Bulgarian,Български,bg,bg_BG',
|
53 |
'ca' => 'Catalan,Català,catalonia,',
|
54 |
'zh' => 'Chinese (Simplified),中文(简体),cn,zh_CN',
|
55 |
'zh-tw' => 'Chinese (Traditional),中文(漢字),tw,zh_TW',
|
56 |
'hr' => 'Croatian,Hrvatski,hr,',
|
57 |
-
'cs' => 'Czech
|
58 |
-
'da' => 'Danish,
|
59 |
'nl' => 'Dutch,Nederlands,nl,',
|
|
|
60 |
'et' => 'Estonian,Eesti keel,ee,',
|
61 |
'fi' => 'Finnish,Suomi,fi,',
|
62 |
'fr' => 'French,Français,fr,fr_FR',
|
@@ -67,18 +68,18 @@ class transposh_consts {
|
|
67 |
'ht' => 'Haitian,Kreyòl ayisyen,ht,',
|
68 |
'he' => 'Hebrew,עברית,il,he_IL',
|
69 |
'hi' => 'Hindi,हिन्दी; हिंदी,in,hi_IN',
|
70 |
-
'hu' => 'Hungarian,
|
71 |
-
'is' => 'Icelandic
|
72 |
'id' => 'Indonesian,Bahasa Indonesia,id,id_ID',
|
73 |
'ga' => 'Irish,Gaeilge,ie,',
|
74 |
'it' => 'Italian,Italiano,it,it_IT',
|
75 |
'ja' => 'Japanese,日本語,jp,',
|
76 |
'ko' => 'Korean,우리말,kr,ko_KR',
|
77 |
-
'la' => 'Latin,
|
78 |
-
'lv' => 'Latvian,
|
79 |
-
'lt' => 'Lithuanian,
|
80 |
'mk' => 'Macedonian,македонски јазик,mk,mk_MK',
|
81 |
-
'ms' => 'Malay,
|
82 |
'mt' => 'Maltese,Malti,mt,',
|
83 |
'no' => 'Norwegian,Norsk,no,nb_NO',
|
84 |
'fa' => 'Persian,فارسی,ir,fa_IR',
|
@@ -86,12 +87,12 @@ class transposh_consts {
|
|
86 |
'pt' => 'Portuguese,Português,pt,pt_PT',
|
87 |
'ro' => 'Romanian,Română,ro,ro_RO',
|
88 |
'ru' => 'Russian,Русский,ru,ru_RU',
|
89 |
-
'sr' => 'Serbian
|
90 |
-
'sk' => 'Slovak,
|
91 |
-
'sl' => 'Slovene,
|
92 |
'es' => 'Spanish,Español,es,es_ES',
|
93 |
'sw' => 'Swahili,Kiswahili,ke,',
|
94 |
-
'sv' => 'Swedish,
|
95 |
'tl' => 'Tagalog,Tagalog,ph,', // fhilipino
|
96 |
'th' => 'Thai,ภาษาไทย,th,',
|
97 |
'tr' => 'Turkish,Türkçe,tr,tr_TR',
|
@@ -113,7 +114,11 @@ class transposh_consts {
|
|
113 |
// (got this using Microsoft.Translator.GetLanguages() - fixed to match our codes)
|
114 |
// @updated 2010-Jun-30
|
115 |
public static $bing_languages = array('en', 'ar', 'bg', 'zh', 'zh-tw', 'cs', 'da', 'nl', 'et', 'fi', 'fr', 'de', 'el', 'ht', 'he', 'hu', 'id', 'it', 'ja', 'ko', 'lv', 'lt', 'no', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'es', 'sv', 'th', 'tr', 'uk', 'vi');
|
116 |
-
//
|
|
|
|
|
|
|
|
|
117 |
public static $ignored_po_domains = array('MailPress');
|
118 |
|
119 |
}
|
@@ -122,7 +127,7 @@ class transposh_consts {
|
|
122 |
define('TRANSLATOR', 'translator');
|
123 |
|
124 |
//Define for transposh plugin version
|
125 |
-
define('TRANSPOSH_PLUGIN_VER', '0.
|
126 |
|
127 |
//Define segment id prefix, will be included in span tag. also used as class identifier
|
128 |
define('SPAN_PREFIX', 'tr_');
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
//Language indicator in URL. i.e. lang=en
|
47 |
'ar' => 'Arabic,العربية,sa,',
|
48 |
'hy' => 'Armenian,Հայերեն,am,',
|
49 |
'az' => 'Azerbaijani,azərbaycan dili,az,',
|
50 |
+
'eu' => 'Basque,Euskara,basque,',
|
51 |
'be' => 'Belarusian,Беларуская,by,',
|
52 |
'bg' => 'Bulgarian,Български,bg,bg_BG',
|
53 |
'ca' => 'Catalan,Català,catalonia,',
|
54 |
'zh' => 'Chinese (Simplified),中文(简体),cn,zh_CN',
|
55 |
'zh-tw' => 'Chinese (Traditional),中文(漢字),tw,zh_TW',
|
56 |
'hr' => 'Croatian,Hrvatski,hr,',
|
57 |
+
'cs' => 'Czech,Čeština,cz,cs_CZ',
|
58 |
+
'da' => 'Danish,Dansk,dk,da_DK',
|
59 |
'nl' => 'Dutch,Nederlands,nl,',
|
60 |
+
'eo' => 'Esperanto,Esperanto,esperanto,',
|
61 |
'et' => 'Estonian,Eesti keel,ee,',
|
62 |
'fi' => 'Finnish,Suomi,fi,',
|
63 |
'fr' => 'French,Français,fr,fr_FR',
|
68 |
'ht' => 'Haitian,Kreyòl ayisyen,ht,',
|
69 |
'he' => 'Hebrew,עברית,il,he_IL',
|
70 |
'hi' => 'Hindi,हिन्दी; हिंदी,in,hi_IN',
|
71 |
+
'hu' => 'Hungarian,Magyar,hu,hu_HU',
|
72 |
+
'is' => 'Icelandic,Íslenska,is,',
|
73 |
'id' => 'Indonesian,Bahasa Indonesia,id,id_ID',
|
74 |
'ga' => 'Irish,Gaeilge,ie,',
|
75 |
'it' => 'Italian,Italiano,it,it_IT',
|
76 |
'ja' => 'Japanese,日本語,jp,',
|
77 |
'ko' => 'Korean,우리말,kr,ko_KR',
|
78 |
+
'la' => 'Latin,Latīna,va,',
|
79 |
+
'lv' => 'Latvian,Latviešu valoda,lv,',
|
80 |
+
'lt' => 'Lithuanian,Lietuvių kalba,lt,',
|
81 |
'mk' => 'Macedonian,македонски јазик,mk,mk_MK',
|
82 |
+
'ms' => 'Malay,Bahasa Melayu,my,ms_MY',
|
83 |
'mt' => 'Maltese,Malti,mt,',
|
84 |
'no' => 'Norwegian,Norsk,no,nb_NO',
|
85 |
'fa' => 'Persian,فارسی,ir,fa_IR',
|
87 |
'pt' => 'Portuguese,Português,pt,pt_PT',
|
88 |
'ro' => 'Romanian,Română,ro,ro_RO',
|
89 |
'ru' => 'Russian,Русский,ru,ru_RU',
|
90 |
+
'sr' => 'Serbian,Cрпски језик,rs,sr_RS',
|
91 |
+
'sk' => 'Slovak,Slovenčina,sk,sk_SK',
|
92 |
+
'sl' => 'Slovene,Slovenščina,si,sl_SI', //slovenian
|
93 |
'es' => 'Spanish,Español,es,es_ES',
|
94 |
'sw' => 'Swahili,Kiswahili,ke,',
|
95 |
+
'sv' => 'Swedish,Svenska,se,sv_SE',
|
96 |
'tl' => 'Tagalog,Tagalog,ph,', // fhilipino
|
97 |
'th' => 'Thai,ภาษาไทย,th,',
|
98 |
'tr' => 'Turkish,Türkçe,tr,tr_TR',
|
114 |
// (got this using Microsoft.Translator.GetLanguages() - fixed to match our codes)
|
115 |
// @updated 2010-Jun-30
|
116 |
public static $bing_languages = array('en', 'ar', 'bg', 'zh', 'zh-tw', 'cs', 'da', 'nl', 'et', 'fi', 'fr', 'de', 'el', 'ht', 'he', 'hu', 'id', 'it', 'ja', 'ko', 'lv', 'lt', 'no', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'es', 'sv', 'th', 'tr', 'uk', 'vi');
|
117 |
+
// Apertium supported languages
|
118 |
+
// a bit tricky, but we'll see - starting with just esperanto
|
119 |
+
public static $apertium_languages = array('eo');
|
120 |
+
|
121 |
+
// Array for holding po domains we have problems with
|
122 |
public static $ignored_po_domains = array('MailPress');
|
123 |
|
124 |
}
|
127 |
define('TRANSLATOR', 'translator');
|
128 |
|
129 |
//Define for transposh plugin version
|
130 |
+
define('TRANSPOSH_PLUGIN_VER', '0.7.0');
|
131 |
|
132 |
//Define segment id prefix, will be included in span tag. also used as class identifier
|
133 |
define('SPAN_PREFIX', 'tr_');
|
core/parser.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
require_once("shd/simple_html_dom.php");
|
@@ -101,10 +101,11 @@ class parser {
|
|
101 |
public $lang;
|
102 |
/** @var boolean Contains the fact that this language is the default one (only parse other lanaguage spans) */
|
103 |
public $default_lang = false;
|
|
|
|
|
104 |
private $inbody = false;
|
|
|
105 |
private $inselect = false;
|
106 |
-
/** @var int holds level of non default language */
|
107 |
-
private $inlangnondef = false;
|
108 |
public $is_edit_mode;
|
109 |
public $is_auto_translate;
|
110 |
public $feed_fix;
|
@@ -119,6 +120,8 @@ class parser {
|
|
119 |
private $in_get_text = false;
|
120 |
/** @var boolean Are we inside an inner text %s in gettext */
|
121 |
private $in_get_text_inner = false;
|
|
|
|
|
122 |
|
123 |
/**
|
124 |
* Determine if the current position in buffer is a white space.
|
@@ -304,6 +307,7 @@ class parser {
|
|
304 |
$node->phrase = $phrase;
|
305 |
$node->start = $start;
|
306 |
$node->len = strlen($phrase);
|
|
|
307 |
if ($this->inbody) $node->inbody = $this->inbody;
|
308 |
if ($this->inselect) $node->inselect = true;
|
309 |
}
|
@@ -330,7 +334,7 @@ class parser {
|
|
330 |
// Some HTML entities make us break, almost all but apostrophies
|
331 |
if ($len_of_entity = $this->is_html_entity($string, $pos)) {
|
332 |
$entity = substr($string, $pos, $len_of_entity);
|
333 |
-
if (($this->is_white_space(
|
334 |
|
335 |
$this->tag_phrase($string, $start, $pos);
|
336 |
$start = $pos + $len_of_entity;
|
@@ -369,7 +373,7 @@ class parser {
|
|
369 |
//$this->in_get_text_inner = !$this->in_get_text_inner;
|
370 |
}
|
371 |
// will break translation unit when there's a breaker ",.[]()..."
|
372 |
-
elseif ($senb_len = $this->is_sentence_breaker($string[$pos],
|
373 |
//
|
374 |
$this->tag_phrase($string, $start, $pos);
|
375 |
$pos += $senb_len;
|
@@ -380,12 +384,12 @@ class parser {
|
|
380 |
elseif ($num_len = $this->is_number($string, $pos)) {
|
381 |
//
|
382 |
// this is the case of B2 or B2,
|
383 |
-
if (($this->is_white_space($string[$pos - 1])
|
384 |
|| ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1]))) &&
|
385 |
-
($this->is_white_space(
|
386 |
// we will now compensate on the number followed by breaker case, if we need to
|
387 |
//
|
388 |
-
if (!($this->is_white_space($string[$pos - 1])
|
389 |
//
|
390 |
if ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1])) {
|
391 |
//
|
@@ -418,52 +422,50 @@ class parser {
|
|
418 |
* it currently also rewrites urls, and should consider if this is smart
|
419 |
* @param simple_html_dom_node $node
|
420 |
*/
|
421 |
-
function translate_tagging($node, $level = 0
|
422 |
$this->currentnode = $node;
|
423 |
// we don't want to translate non-translatable classes
|
424 |
if (stripos($node->class, NO_TRANSLATE_CLASS) !== false || stripos($node->class, NO_TRANSLATE_CLASS_GOOGLE) !== false)
|
425 |
return;
|
426 |
|
427 |
// the node lang is the current node lang or its parent lang
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
|
|
435 |
}
|
436 |
|
437 |
-
if ($this->inselect && $level <= $this->inselect)
|
438 |
-
$this->inselect = false;
|
439 |
-
|
440 |
-
if ($this->inlangnondef && $level <= $this->inlangnondef)
|
441 |
-
$this->inlangnondef = false;
|
442 |
-
|
443 |
-
if ($this->default_lang && $node->lang != '' && stripos($node->lang, $this->lang) === false)
|
444 |
-
$this->inlangnondef = $level;
|
445 |
-
|
446 |
// we can only do translation for elements which are in the body, not in other places, and this must
|
447 |
// move here due to the possibility of early recurse in default language
|
448 |
if ($node->tag == 'body') {
|
449 |
$this->inbody = true;
|
450 |
}
|
|
|
451 |
// this again should be here, the different behaviour on select and textarea
|
|
|
452 |
elseif ($node->tag == 'select' || $node->tag == 'textarea' || $node->tag == 'noscript') {
|
453 |
-
$this->inselect =
|
|
|
454 |
}
|
455 |
|
456 |
//support only_thislanguage class, (nulling the node if it should not display)
|
457 |
-
if (
|
458 |
$node->outertext = '';
|
459 |
return;
|
460 |
}
|
461 |
|
462 |
// if we are in the default lang, and we have no foreign langs classes, we'll recurse from here
|
463 |
-
if
|
|
|
464 |
foreach ($node->nodes as $c) {
|
465 |
$this->translate_tagging($c, $level + 1);
|
466 |
}
|
|
|
|
|
467 |
return;
|
468 |
}
|
469 |
|
@@ -502,14 +504,18 @@ class parser {
|
|
502 |
// titles are also good places to translate, exist in a, img, abbr, acronym
|
503 |
if ($node->title) $this->parsetext($node->title);
|
504 |
|
505 |
-
// Meta content (keywords, description) are also good places to translate
|
506 |
-
if ($node->tag == 'meta' && $node->content)
|
507 |
$this->parsetext($node->content);
|
508 |
|
509 |
// recurse
|
510 |
foreach ($node->nodes as $c) {
|
511 |
$this->translate_tagging($c, $level + 1);
|
512 |
}
|
|
|
|
|
|
|
|
|
513 |
}
|
514 |
|
515 |
/**
|
@@ -518,12 +524,17 @@ class parser {
|
|
518 |
* @param string $translated_text
|
519 |
* @param int $source (Either "0" for Human, "1" for Machine or "" for untouched)
|
520 |
* @param boolean $for_hidden_element
|
|
|
521 |
* @return string
|
522 |
*/
|
523 |
-
function create_edit_span($original_text, $translated_text, $source, $for_hidden_element = false) {
|
524 |
// Use base64 encoding to make that when the page is translated (i.e. update_translation) we
|
525 |
// get back exactlly the same string without having the client decode/encode it in anyway.
|
526 |
$span = '<span class ="' . SPAN_PREFIX . '" id="' . SPAN_PREFIX . $this->span_id . '" data-token="' . transposh_utils::base64_url_encode($original_text) . '" data-source="' . $source . '"';
|
|
|
|
|
|
|
|
|
527 |
// those are needed for on the fly image creation / hidden elements translations
|
528 |
if ($this->is_edit_mode || $for_hidden_element) {
|
529 |
$span .= ' data-orig="' . $original_text . '"';
|
@@ -657,6 +668,10 @@ class parser {
|
|
657 |
call_user_func_array($this->prefetch_translate_func, array($originals, $this->lang));
|
658 |
}
|
659 |
|
|
|
|
|
|
|
|
|
660 |
// actually translate tags
|
661 |
// texts are first
|
662 |
foreach ($this->html->find('text') as $e) {
|
@@ -670,10 +685,12 @@ class parser {
|
|
670 |
if ($source == 0) $this->stats->human_translated_phrases++;
|
671 |
}
|
672 |
if (($this->is_edit_mode || ($this->is_auto_translate && $translated_text == null))/* && $ep->inbody */) {
|
673 |
-
if ($ep->inselect
|
674 |
-
$savedspan .= $this->create_edit_span($ep->phrase, $translated_text, $source, true);
|
|
|
|
|
675 |
} else {
|
676 |
-
$translated_text = $this->create_edit_span($ep->phrase, $translated_text, $source);
|
677 |
}
|
678 |
}
|
679 |
// store replacements
|
@@ -700,7 +717,7 @@ class parser {
|
|
700 |
$replace = array();
|
701 |
$span = '';
|
702 |
// when we already have a parent outertext we'll have to update it directly
|
703 |
-
if ($e->parent->_[HDOM_INFO_OUTER]) {
|
704 |
$saved_outertext = $e->outertext;
|
705 |
}
|
706 |
|
@@ -725,7 +742,7 @@ class parser {
|
|
725 |
//no need to translate span the same hidden phrase more than once
|
726 |
if (!in_array($ep->phrase, $hidden_phrases)) {
|
727 |
$this->stats->hidden_translateable_phrases++;
|
728 |
-
$span .= $this->create_edit_span($ep->phrase, $translated_text, $source, true);
|
729 |
//
|
730 |
$hidden_phrases[] = $ep->phrase;
|
731 |
}
|
@@ -744,14 +761,15 @@ class parser {
|
|
744 |
|
745 |
$e->outertext .= $span;
|
746 |
// this is where we update in the outercase issue
|
747 |
-
if ($e->parent->_[HDOM_INFO_OUTER]) {
|
748 |
$e->parent->outertext = implode($e->outertext, explode($saved_outertext, $e->parent->outertext, 2));
|
749 |
}
|
750 |
}
|
751 |
}
|
752 |
|
753 |
-
// now we handle the meta content - which is simpler because they can't be edited or auto-translated
|
754 |
// we also don't expect any father modifications here
|
|
|
755 |
foreach ($this->html->find('[content]') as $e) {
|
756 |
$right = '';
|
757 |
$newtext = '';
|
@@ -771,6 +789,14 @@ class parser {
|
|
771 |
$newtext .= $left . $translated_text;
|
772 |
$e->content = $right;
|
773 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
774 |
}
|
775 |
}
|
776 |
if ($newtext) {
|
@@ -778,6 +804,11 @@ class parser {
|
|
778 |
|
779 |
}
|
780 |
}
|
|
|
|
|
|
|
|
|
|
|
781 |
// only in 5 out of 100 pages, with just translated pages, we might show an ad for transposh
|
782 |
if ($this->allow_ad && !$this->default_lang && mt_rand(1, 100) > 95) {
|
783 |
$this->do_ad_switch();
|
@@ -785,6 +816,7 @@ class parser {
|
|
785 |
// This adds a meta tag with our statistics json-encoded inside...
|
786 |
$this->stats->stop_timing();
|
787 |
$head = $this->html->find('head', 0);
|
|
|
788 |
if ($head != null)
|
789 |
$head->lastChild()->outertext .= "\n<meta name=\"translation-stats\" content='" . json_encode($this->stats) . "'/>";
|
790 |
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
require_once("shd/simple_html_dom.php");
|
101 |
public $lang;
|
102 |
/** @var boolean Contains the fact that this language is the default one (only parse other lanaguage spans) */
|
103 |
public $default_lang = false;
|
104 |
+
/** @var string Contains the iso of the source language - if a lang attribute is found */
|
105 |
+
public $srclang;
|
106 |
private $inbody = false;
|
107 |
+
/** @var hold fact that we are in select or other similar elements */
|
108 |
private $inselect = false;
|
|
|
|
|
109 |
public $is_edit_mode;
|
110 |
public $is_auto_translate;
|
111 |
public $feed_fix;
|
120 |
private $in_get_text = false;
|
121 |
/** @var boolean Are we inside an inner text %s in gettext */
|
122 |
private $in_get_text_inner = false;
|
123 |
+
/** @var string Additional header information */
|
124 |
+
public $added_header;
|
125 |
|
126 |
/**
|
127 |
* Determine if the current position in buffer is a white space.
|
307 |
$node->phrase = $phrase;
|
308 |
$node->start = $start;
|
309 |
$node->len = strlen($phrase);
|
310 |
+
if ($this->srclang) $node->srclang = $this->srclang;
|
311 |
if ($this->inbody) $node->inbody = $this->inbody;
|
312 |
if ($this->inselect) $node->inselect = true;
|
313 |
}
|
334 |
// Some HTML entities make us break, almost all but apostrophies
|
335 |
if ($len_of_entity = $this->is_html_entity($string, $pos)) {
|
336 |
$entity = substr($string, $pos, $len_of_entity);
|
337 |
+
if (($this->is_white_space(@$string[$pos + $len_of_entity]) || $this->is_entity_breaker($entity)) && !$this->is_entity_letter($entity)) {
|
338 |
|
339 |
$this->tag_phrase($string, $start, $pos);
|
340 |
$start = $pos + $len_of_entity;
|
373 |
//$this->in_get_text_inner = !$this->in_get_text_inner;
|
374 |
}
|
375 |
// will break translation unit when there's a breaker ",.[]()..."
|
376 |
+
elseif ($senb_len = $this->is_sentence_breaker($string[$pos], @$string[$pos + 1], @$string[$pos + 2])) {
|
377 |
//
|
378 |
$this->tag_phrase($string, $start, $pos);
|
379 |
$pos += $senb_len;
|
384 |
elseif ($num_len = $this->is_number($string, $pos)) {
|
385 |
//
|
386 |
// this is the case of B2 or B2,
|
387 |
+
if (($start == $pos) || ($this->is_white_space($string[$pos - 1])
|
388 |
|| ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1]))) &&
|
389 |
+
($this->is_white_space(@$string[$pos + $num_len]) || $this->is_sentence_breaker(@$string[$pos + $num_len], @$string[$pos + $num_len + 1], @$string[$pos + $num_len + 2]))) {
|
390 |
// we will now compensate on the number followed by breaker case, if we need to
|
391 |
//
|
392 |
+
if (!(($start == $pos) || $this->is_white_space($string[$pos - 1]))) {
|
393 |
//
|
394 |
if ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1])) {
|
395 |
//
|
422 |
* it currently also rewrites urls, and should consider if this is smart
|
423 |
* @param simple_html_dom_node $node
|
424 |
*/
|
425 |
+
function translate_tagging($node, $level = 0) {
|
426 |
$this->currentnode = $node;
|
427 |
// we don't want to translate non-translatable classes
|
428 |
if (stripos($node->class, NO_TRANSLATE_CLASS) !== false || stripos($node->class, NO_TRANSLATE_CLASS_GOOGLE) !== false)
|
429 |
return;
|
430 |
|
431 |
// the node lang is the current node lang or its parent lang
|
432 |
+
if ($node->lang) {
|
433 |
+
// allow nesting of srclang (again - local var)
|
434 |
+
$prevsrclang = $this->srclang;
|
435 |
+
$this->srclang = strtolower($node->lang);
|
436 |
+
// using a local variable scope for later
|
437 |
+
$src_set_here = true;
|
438 |
+
// eliminate the lang tag from the html, since we aim to translate it
|
439 |
+
unset($node->lang);
|
440 |
}
|
441 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
442 |
// we can only do translation for elements which are in the body, not in other places, and this must
|
443 |
// move here due to the possibility of early recurse in default language
|
444 |
if ($node->tag == 'body') {
|
445 |
$this->inbody = true;
|
446 |
}
|
447 |
+
|
448 |
// this again should be here, the different behaviour on select and textarea
|
449 |
+
// for now - we assume that they can't include each other
|
450 |
elseif ($node->tag == 'select' || $node->tag == 'textarea' || $node->tag == 'noscript') {
|
451 |
+
$this->inselect = true;
|
452 |
+
$inselect_set_here = true;
|
453 |
}
|
454 |
|
455 |
//support only_thislanguage class, (nulling the node if it should not display)
|
456 |
+
if (isset($src_set_here) && $src_set_here && $this->srclang != $this->lang && stripos($node->class, ONLY_THISLANGUAGE_CLASS) !== false) {
|
457 |
$node->outertext = '';
|
458 |
return;
|
459 |
}
|
460 |
|
461 |
// if we are in the default lang, and we have no foreign langs classes, we'll recurse from here
|
462 |
+
// we also avoid processing if the node lang is the target lang
|
463 |
+
if (($this->default_lang && !$this->srclang) || ($this->srclang === $this->lang)) {
|
464 |
foreach ($node->nodes as $c) {
|
465 |
$this->translate_tagging($c, $level + 1);
|
466 |
}
|
467 |
+
if (isset($src_set_here) && $src_set_here)
|
468 |
+
$this->srclang = $prevsrclang;
|
469 |
return;
|
470 |
}
|
471 |
|
504 |
// titles are also good places to translate, exist in a, img, abbr, acronym
|
505 |
if ($node->title) $this->parsetext($node->title);
|
506 |
|
507 |
+
// Meta content (keywords, description) are also good places to translate (but not in robots... or http-equiv)
|
508 |
+
if ($node->tag == 'meta' && $node->content && ($node->name != 'robots') && ($node->{'http-equiv'} != 'Content-Type'))
|
509 |
$this->parsetext($node->content);
|
510 |
|
511 |
// recurse
|
512 |
foreach ($node->nodes as $c) {
|
513 |
$this->translate_tagging($c, $level + 1);
|
514 |
}
|
515 |
+
if (isset($src_set_here) && $src_set_here)
|
516 |
+
$this->srclang = $prevsrclang;
|
517 |
+
if (isset($inselect_set_here) && $inselect_set_here)
|
518 |
+
$this->inselect = false;
|
519 |
}
|
520 |
|
521 |
/**
|
524 |
* @param string $translated_text
|
525 |
* @param int $source (Either "0" for Human, "1" for Machine or "" for untouched)
|
526 |
* @param boolean $for_hidden_element
|
527 |
+
* @param string $src_lang - if source lang of element is different that default (eg. wrapped in lang="xx" attr)
|
528 |
* @return string
|
529 |
*/
|
530 |
+
function create_edit_span($original_text, $translated_text, $source, $for_hidden_element = false, $src_lang = '') {
|
531 |
// Use base64 encoding to make that when the page is translated (i.e. update_translation) we
|
532 |
// get back exactlly the same string without having the client decode/encode it in anyway.
|
533 |
$span = '<span class ="' . SPAN_PREFIX . '" id="' . SPAN_PREFIX . $this->span_id . '" data-token="' . transposh_utils::base64_url_encode($original_text) . '" data-source="' . $source . '"';
|
534 |
+
// if we have a source language
|
535 |
+
if ($src_lang) {
|
536 |
+
$span .= ' data-srclang="' . $src_lang . '"';
|
537 |
+
}
|
538 |
// those are needed for on the fly image creation / hidden elements translations
|
539 |
if ($this->is_edit_mode || $for_hidden_element) {
|
540 |
$span .= ' data-orig="' . $original_text . '"';
|
668 |
call_user_func_array($this->prefetch_translate_func, array($originals, $this->lang));
|
669 |
}
|
670 |
|
671 |
+
// this is used to reserve spans we cannot add directly (out of body, metas, etc)
|
672 |
+
$hiddenspans = '';
|
673 |
+
$savedspan = '';
|
674 |
+
|
675 |
// actually translate tags
|
676 |
// texts are first
|
677 |
foreach ($this->html->find('text') as $e) {
|
685 |
if ($source == 0) $this->stats->human_translated_phrases++;
|
686 |
}
|
687 |
if (($this->is_edit_mode || ($this->is_auto_translate && $translated_text == null))/* && $ep->inbody */) {
|
688 |
+
if ($ep->inselect) {
|
689 |
+
$savedspan .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
690 |
+
} elseif (!$ep->inbody) {
|
691 |
+
$hiddenspans .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
692 |
} else {
|
693 |
+
$translated_text = $this->create_edit_span($ep->phrase, $translated_text, $source, false, $ep->srclang);
|
694 |
}
|
695 |
}
|
696 |
// store replacements
|
717 |
$replace = array();
|
718 |
$span = '';
|
719 |
// when we already have a parent outertext we'll have to update it directly
|
720 |
+
if (isset($e->parent->_[HDOM_INFO_OUTER])) {
|
721 |
$saved_outertext = $e->outertext;
|
722 |
}
|
723 |
|
742 |
//no need to translate span the same hidden phrase more than once
|
743 |
if (!in_array($ep->phrase, $hidden_phrases)) {
|
744 |
$this->stats->hidden_translateable_phrases++;
|
745 |
+
$span .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
746 |
//
|
747 |
$hidden_phrases[] = $ep->phrase;
|
748 |
}
|
761 |
|
762 |
$e->outertext .= $span;
|
763 |
// this is where we update in the outercase issue
|
764 |
+
if (isset($e->parent->_[HDOM_INFO_OUTER])) {
|
765 |
$e->parent->outertext = implode($e->outertext, explode($saved_outertext, $e->parent->outertext, 2));
|
766 |
}
|
767 |
}
|
768 |
}
|
769 |
|
770 |
+
// now we handle the meta content - which is simpler because they can't be edited or auto-translated in place
|
771 |
// we also don't expect any father modifications here
|
772 |
+
// so we now add all those spans right before the <body> tag end
|
773 |
foreach ($this->html->find('[content]') as $e) {
|
774 |
$right = '';
|
775 |
$newtext = '';
|
789 |
$newtext .= $left . $translated_text;
|
790 |
$e->content = $right;
|
791 |
}
|
792 |
+
if ($this->is_edit_mode) {
|
793 |
+
$hiddenspans .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
794 |
+
}
|
795 |
+
if (!$translated_text && $this->is_auto_translate && !$this->is_edit_mode) {
|
796 |
+
|
797 |
+
if ($this->is_edit_mode || $this->is_auto_translate) { // FIX
|
798 |
+
}
|
799 |
+
}
|
800 |
}
|
801 |
}
|
802 |
if ($newtext) {
|
804 |
|
805 |
}
|
806 |
}
|
807 |
+
|
808 |
+
if ($hiddenspans) {
|
809 |
+
$body = $this->html->find('body', 0);
|
810 |
+
if ($body != null) $body->lastChild()->outertext .= $hiddenspans;
|
811 |
+
}
|
812 |
// only in 5 out of 100 pages, with just translated pages, we might show an ad for transposh
|
813 |
if ($this->allow_ad && !$this->default_lang && mt_rand(1, 100) > 95) {
|
814 |
$this->do_ad_switch();
|
816 |
// This adds a meta tag with our statistics json-encoded inside...
|
817 |
$this->stats->stop_timing();
|
818 |
$head = $this->html->find('head', 0);
|
819 |
+
if ($head != null) $head->lastChild()->outertext .= $this->added_header;
|
820 |
if ($head != null)
|
821 |
$head->lastChild()->outertext .= "\n<meta name=\"translation-stats\" content='" . json_encode($this->stats) . "'/>";
|
822 |
|
core/utils.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/**
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/**
|
css/keyboard.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
#keyboardInputMaster{position:absolute;font:normal 11px Arial,sans-serif;border-top:1px solid #eee;border-right:1px solid #888;border-bottom:1px solid #444;border-left:1px solid #ccc;-webkit-border-radius:.6em;-moz-border-radius:.6em;border-radius:.6em;-webkit-box-shadow:0 2px 10px #444;-moz-box-shadow:0 2px 10px #444;box-shadow:0 2px 10px #444;opacity:.95;filter:alpha(opacity=95);background-color:#ddd;text-align:left;z-index:1000000;width:auto;height:auto;min-width:0;min-height:0;margin:0;padding:0;line-height:normal;-moz-user-select:none;cursor:default;}#keyboardInputMaster *{position:static;color:#000;background:transparent;font:normal 11px Arial,sans-serif;width:auto;height:auto;min-width:0;min-height:0;margin:0;padding:0;border:0 none;outline:0;vertical-align:baseline;line-height:1.3em;}#keyboardInputMaster.keyboardInputSize1,#keyboardInputMaster.keyboardInputSize1 *{font-size:9px;}#keyboardInputMaster.keyboardInputSize3,#keyboardInputMaster.keyboardInputSize3 *{font-size:13px;}#keyboardInputMaster.keyboardInputSize4,#keyboardInputMaster.keyboardInputSize4 *{font-size:16px;}#keyboardInputMaster.keyboardInputSize5,#keyboardInputMaster.keyboardInputSize5 *{font-size:20px;}#keyboardInputMaster thead tr th{padding:.3em .3em .1em .3em;background-color:#999;white-space:nowrap;text-align:right;-webkit-border-radius:.6em .6em 0 0;-moz-border-radius:.6em .6em 0 0;border-radius:.6em .6em 0 0;}#keyboardInputMaster thead tr th div{float:left;font-size:130%!important;height:1.3em;font-weight:bold;position:relative;z-index:1;margin-right:.5em;cursor:pointer;background-color:transparent;}#keyboardInputMaster thead tr th div ol{position:absolute;left:0;top:90%;list-style-type:none;height:9.4em;overflow-y:auto;overflow-x:hidden;background-color:#f6f6f6;border:1px solid #999;display:none;text-align:left;width:12em;}#keyboardInputMaster thead tr th div ol li{padding:.2em .4em;cursor:pointer;white-space:nowrap;width:12em;}#keyboardInputMaster thead tr th div ol li.selected{background-color:#ffc;}#keyboardInputMaster thead tr th div ol li:hover,#keyboardInputMaster thead tr th div ol li.hover{background-color:#ddd;}#keyboardInputMaster thead tr th span,#keyboardInputMaster thead tr th strong,#keyboardInputMaster thead tr th small,#keyboardInputMaster thead tr th big{display:inline-block;padding:0 .4em;height:1.4em;line-height:1.4em;border-top:1px solid #e5e5e5;border-right:1px solid #5d5d5d;border-bottom:1px solid #5d5d5d;border-left:1px solid #e5e5e5;background-color:#ccc;cursor:pointer;margin:0 0 0 .3em;-webkit-border-radius:.3em;-moz-border-radius:.3em;border-radius:.3em;vertical-align:middle;-webkit-transition:background-color .15s ease-in-out;-o-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out;}#keyboardInputMaster thead tr th strong{font-weight:bold;}#keyboardInputMaster thead tr th small{-webkit-border-radius:.3em 0 0 .3em;-moz-border-radius:.3em 0 0 .3em;border-radius:.3em 0 0 .3em;border-right:1px solid #aaa;padding:0 .2em 0 .3em;}#keyboardInputMaster thead tr th big{-webkit-border-radius:0 .3em .3em 0;-moz-border-radius:0 .3em .3em 0;border-radius:0 .3em .3em 0;border-left:0 none;margin:0;padding:0 .3em 0 .2em;}#keyboardInputMaster thead tr th span:hover,#keyboardInputMaster thead tr th span.hover,#keyboardInputMaster thead tr th strong:hover,#keyboardInputMaster thead tr th strong.hover,#keyboardInputMaster thead tr th small:hover,#keyboardInputMaster thead tr th small.hover,#keyboardInputMaster thead tr th big:hover,#keyboardInputMaster thead tr th big.hover{background-color:#ddd;}#keyboardInputMaster tbody tr td{text-align:left;padding:.2em .3em .3em .3em;vertical-align:top;}#keyboardInputMaster tbody tr td div{text-align:center;position:relative;zoom:1;}#keyboardInputMaster tbody tr td table{white-space:nowrap;width:100%;border-collapse:separate;border-spacing:0;}#keyboardInputMaster tbody tr td#keyboardInputNumpad table{margin-left:.2em;width:auto;}#keyboardInputMaster tbody tr td table.keyboardInputCenter{width:auto;margin:0 auto;}#keyboardInputMaster tbody tr td table tbody tr td{vertical-align:middle;padding:0 .45em;white-space:pre;height:1.8em;font-family:'Lucida Console','Arial Unicode MS',monospace;border-top:1px solid #e5e5e5;border-right:1px solid #5d5d5d;border-bottom:1px solid #5d5d5d;border-left:1px solid #e5e5e5;background-color:#eee;cursor:default;min-width:.75em;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em;-webkit-transition:background-color .15s ease-in-out;-o-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out;}#keyboardInputMaster tbody tr td table tbody tr td.last{width:99%;}#keyboardInputMaster tbody tr td table tbody tr td.space{padding:0 4em;}#keyboardInputMaster tbody tr td table tbody tr td.deadkey{background-color:#ccd;}#keyboardInputMaster tbody tr td table tbody tr td.target{background-color:#ddc;}#keyboardInputMaster tbody tr td table tbody tr td:hover,#keyboardInputMaster tbody tr td table tbody tr td.hover{border-top:1px solid #d5d5d5;border-right:1px solid #555;border-bottom:1px solid #555;border-left:1px solid #d5d5d5;background-color:#ccc;}#keyboardInputMaster thead tr th span:active,#keyboardInputMaster thead tr th span.pressed,#keyboardInputMaster tbody tr td table tbody tr td:active,#keyboardInputMaster tbody tr td table tbody tr td.pressed{border-top:1px solid #555!important;border-right:1px solid #d5d5d5;border-bottom:1px solid #d5d5d5;border-left:1px solid #555;background-color:#ccc;}#keyboardInputMaster tbody tr td table tbody tr td small{display:block;text-align:center;font-size:.6em!important;line-height:1.1em;}#keyboardInputMaster tbody tr td div label{position:absolute;bottom:.2em;left:.3em;}#keyboardInputMaster tbody tr td div label input{background-color:#f6f6f6;vertical-align:middle;font-size:inherit;width:1.1em;height:1.1em;}#keyboardInputMaster tbody tr td div var{position:absolute;bottom:0;right:3px;font-weight:bold;font-style:italic;color:#444;}.keyboardInputInitiator{margin:0 3px;vertical-align:middle;cursor:pointer;}
|
css/transposh.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.tr-icon{background-image:url(../img/tr_imgs.png);height:12px;width:12px;background-repeat:no-repeat;overflow:hidden;text-indent:-99999px;display:inline-block;}.tr-icon-yellow{background-position:-12px 0;}.tr-icon-green{background-position:-24px 0;}
|
1 |
+
.tr-icon{background-image:url(../img/tr_imgs.png);height:12px;width:12px;background-repeat:no-repeat;overflow:hidden;text-indent:-99999px;display:inline-block;cursor:pointer;}.tr-icon-yellow{background-position:-12px 0;}.tr-icon-green{background-position:-24px 0;}.tr-icon-google{background-image:url(../img/googleicon.png)!important;}.tr-icon-bing{background-image:url(../img/bingicon.png)!important;}.tr-icon-apertium{background-image:url(../img/apertiumicon.png)!important;}
|
img/apertiumicon.png
ADDED
Binary file
|
img/flags/esperanto.png
ADDED
Binary file
|
img/flags60.png
ADDED
Binary file
|
js/jquery.ui.menu.js
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery UI Menu @VERSION
|
3 |
+
*
|
4 |
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
5 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6 |
+
* http://jquery.org/license
|
7 |
+
*
|
8 |
+
* http://docs.jquery.com/UI/Menu
|
9 |
+
*
|
10 |
+
* Depends:
|
11 |
+
* jquery.ui.core.js
|
12 |
+
* jquery.ui.widget.js
|
13 |
+
*/
|
14 |
+
(function(c){var i=0;c.widget("ui.menu",{_create:function(){var a=this;this.menuId=this.element.attr("id")||"ui-menu-"+i++;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({id:this.menuId,role:"listbox"}).bind("click.menu",function(b){if(a.options.disabled)return false;if(c(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}}).bind("mouseover.menu",function(b){if(!a.options.disabled){var d=c(b.target).closest(".ui-menu-item");d.length&&d.parent()[0]===
|
15 |
+
a.element[0]&&a.activate(b,d)}}).bind("mouseout.menu",function(b){if(!a.options.disabled){var d=c(b.target).closest(".ui-menu-item");d.length&&d.parent()[0]===a.element[0]&&a.deactivate(b)}});this.refresh();if(!this.options.input)this.options.input=this.element.attr("tabIndex",0);this.options.input.bind("keydown.menu",function(b){if(!a.options.disabled)switch(b.keyCode){case c.ui.keyCode.PAGE_UP:a.previousPage();b.preventDefault();b.stopImmediatePropagation();break;case c.ui.keyCode.PAGE_DOWN:a.nextPage();
|
16 |
+
b.preventDefault();b.stopImmediatePropagation();break;case c.ui.keyCode.UP:a.previous();b.preventDefault();b.stopImmediatePropagation();break;case c.ui.keyCode.DOWN:a.next();b.preventDefault();b.stopImmediatePropagation();break;case c.ui.keyCode.ENTER:a.select();b.preventDefault();b.stopImmediatePropagation()}})},destroy:function(){c.Widget.prototype.destroy.apply(this,arguments);this.element.removeClass("ui-menu ui-widget ui-widget-content ui-corner-all").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-activedescendant");
|
17 |
+
this.element.children(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").children("a").removeClass("ui-corner-all").removeAttr("tabIndex").unbind(".menu")},refresh:function(){this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabIndex",-1)},activate:function(a,b){var d=this;this.deactivate();if(this._hasScroll()){var e=parseFloat(c.curCSS(this.element[0],"borderTopWidth",true))||0,f=parseFloat(c.curCSS(this.element[0],
|
18 |
+
"paddingTop",true))||0;e=b.offset().top-this.element.offset().top-e-f;f=this.element.attr("scrollTop");var g=this.element.height(),h=b.height();if(e<0)this.element.attr("scrollTop",f+e);else e+h>g&&this.element.attr("scrollTop",f+e-g+h)}this.active=b.first().children("a").addClass("ui-state-hover").attr("id",function(k,j){return d.itemId=j||d.menuId+"-activedescendant"}).end();this.element.removeAttr("aria-activedescenant").attr("aria-activedescenant",d.itemId);this._trigger("focus",a,{item:b})},
|
19 |
+
deactivate:function(a){if(this.active){this.active.children("a").removeClass("ui-state-hover");c("#"+this.menuId+"-activedescendant").removeAttr("id");this.element.removeAttr("aria-activedescenant");this._trigger("blur",a);this.active=null}},next:function(a){this._move("next",".ui-menu-item","first",a)},previous:function(a){this._move("prev",".ui-menu-item","last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},
|
20 |
+
_move:function(a,b,d,e){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(e,a):this.activate(e,this.element.children(b)[d]())}else this.activate(e,this.element.children(b)[d]())},nextPage:function(a){if(this._hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(".ui-menu-item").first());else{var b=this.active.offset().top,d=this.element.height(),e;this.active.nextAll(".ui-menu-item").each(function(){e=c(this);return c(this).offset().top-
|
21 |
+
b-d<0});this.activate(a,e)}else this.activate(a,this.element.children(".ui-menu-item")[!this.active||this.last()?"first":"last"]())},previousPage:function(a){if(this._hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(".ui-menu-item").last());else{var b=this.active.offset().top,d=this.element.height(),e;this.active.prevAll(".ui-menu-item").each(function(){e=c(this);return c(this).offset().top-b+d>0});this.activate(a,e)}else this.activate(a,this.element.children(".ui-menu-item")[!this.active||
|
22 |
+
this.first()?":last":":first"]())},_hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("select",a,{item:this.active})}})})(jQuery);
|
js/keyboard.js
ADDED
@@ -0,0 +1,289 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ********************************************************************
|
2 |
+
**********************************************************************
|
3 |
+
* HTML Virtual Keyboard Interface Script - v1.44
|
4 |
+
* Copyright (c) 2010 - GreyWyvern
|
5 |
+
*
|
6 |
+
* - Licenced for free distribution under the BSDL
|
7 |
+
* http://www.opensource.org/licenses/bsd-license.php
|
8 |
+
*
|
9 |
+
* Add a script-driven keyboard interface to text fields, password
|
10 |
+
* fields and textareas.
|
11 |
+
*
|
12 |
+
* See http://www.greywyvern.com/code/javascript/keyboard for examples
|
13 |
+
* and usage instructions.
|
14 |
+
*
|
15 |
+
* Version 1.44 - December 24, 2010
|
16 |
+
* - Fixed keyboard positioning for inputs within scrollable areas
|
17 |
+
* - Fixed language adaptation selecting incorrect keyboards
|
18 |
+
* - Added support for wider array of ISO language code formats
|
19 |
+
* - Prevent entire script from being run twice on page load
|
20 |
+
* - Partial fix for Firefox textarea scrolling bugs
|
21 |
+
*
|
22 |
+
* See full changelog at:
|
23 |
+
* http://www.greywyvern.com/code/javascript/keyboard.changelog.txt
|
24 |
+
*
|
25 |
+
* Keyboard Credits
|
26 |
+
* - Khmer keyboard layout by Sovann Heng (km-kh.com)
|
27 |
+
* - Dari keyboard layout by Saif Fazel
|
28 |
+
* - Kurdish keyboard layout by Ara Qadir
|
29 |
+
* - Assamese keyboard layout by Kanchan Gogoi
|
30 |
+
* - Bulgarian BDS keyboard layout by Milen Georgiev
|
31 |
+
* - Basic Japanese Hiragana/Katakana keyboard layout by Damjan
|
32 |
+
* - Ukrainian keyboard layout by Dmitry Nikitin
|
33 |
+
* - Macedonian keyboard layout by Damjan Dimitrioski
|
34 |
+
* - Pashto keyboard layout by Ahmad Wali Achakzai (qamosona.com)
|
35 |
+
* - Armenian Eastern and Western keyboard layouts by Hayastan Project (www.hayastan.co.uk)
|
36 |
+
* - Pinyin keyboard layout from a collaboration with Lou Winklemann
|
37 |
+
* - Kazakh keyboard layout by Alex Madyankin
|
38 |
+
* - Danish keyboard layout by Verner Kjærsgaard
|
39 |
+
* - Slovak keyboard layout by Daniel Lara (www.learningslovak.com)
|
40 |
+
* - Belarusian and Serbian Cyrillic keyboard layouts by Evgeniy Titov
|
41 |
+
* - Bulgarian Phonetic keyboard layout by Samuil Gospodinov
|
42 |
+
* - Swedish keyboard layout by Håkan Sandberg
|
43 |
+
* - Romanian keyboard layout by Aurel
|
44 |
+
* - Farsi (Persian) keyboard layout by Kaveh Bakhtiyari (www.bakhtiyari.com)
|
45 |
+
* - Burmese keyboard layout by Cetanapa
|
46 |
+
* - Bosnian/Croatian/Serbian Latin/Slovenian keyboard layout by Miran Zeljko
|
47 |
+
* - Hungarian keyboard layout by Antal Sall 'Hiromacu'
|
48 |
+
* - Arabic keyboard layout by Srinivas Reddy
|
49 |
+
* - Italian and Spanish (Spain) keyboard layouts by dictionarist.com
|
50 |
+
* - Lithuanian and Russian keyboard layouts by Ramunas
|
51 |
+
* - German keyboard layout by QuHno
|
52 |
+
* - French keyboard layout by Hidden Evil
|
53 |
+
* - Polish Programmers layout by moose
|
54 |
+
* - Turkish keyboard layouts by offcu
|
55 |
+
* - Dutch and US Int'l keyboard layouts by jerone
|
56 |
+
*
|
57 |
+
*/
|
58 |
+
var VKI_attach,VKI_close;
|
59 |
+
(function(){function u(b){if(b.nodeName=="TD"){if(!b.click)b.click=function(){var c=this.ownerDocument.createEvent("MouseEvents");c.initMouseEvent("click",true,true,this.ownerDocument.defaultView,1,0,0,0,0,false,false,false,false,0,null);this.dispatchEvent(c)};b.VKI_clickless=0;g(b,"dblclick",function(){return false},false)}g(b,"mouseover",function(){if(this.nodeName=="TD"&&a.VKI_clickless){var c=this;clearTimeout(this.VKI_clickless);this.VKI_clickless=setTimeout(function(){c.click()},a.VKI_clickless)}if(a.VKI_isIE)this.className+=
|
60 |
+
" hover"},false);g(b,"mouseout",function(){this.nodeName=="TD"&&clearTimeout(this.VKI_clickless);if(a.VKI_isIE)this.className=this.className.replace(/ ?(hover|pressed) ?/g,"")},false);g(b,"mousedown",function(){this.nodeName=="TD"&&clearTimeout(this.VKI_clickless);if(a.VKI_isIE)this.className+=" pressed"},false);g(b,"mouseup",function(){this.nodeName=="TD"&&clearTimeout(this.VKI_clickless);if(a.VKI_isIE)this.className=this.className.replace(/ ?pressed ?/g,"")},false)}function D(){var b=false,c="\u00a0";
|
61 |
+
if(this.firstChild.nodeName.toLowerCase()!="small"){if((c=this.firstChild.nodeValue)=="\u00a0")return false}else c=this.firstChild.getAttribute("char");if(a.VKI_deadkeysOn.checked&&a.VKI_dead)if(a.VKI_dead!=c)if(c!=" "){if(a.VKI_deadkey[a.VKI_dead][c]){a.VKI_insert(a.VKI_deadkey[a.VKI_dead][c]);b=true}}else{a.VKI_insert(a.VKI_dead);b=true}else b=true;a.VKI_dead=false;if(!b)if(a.VKI_deadkeysOn.checked&&a.VKI_deadkey[c]){a.VKI_dead=c;this.className+=" dead";a.VKI_shift&&a.VKI_modify("Shift");a.VKI_altgr&&
|
62 |
+
a.VKI_modify("AltGr")}else a.VKI_insert(c);a.VKI_modify("");return false}function g(b,c,d,i){if(b.addEventListener)b.addEventListener(c,function(e){d.call(b,e)},i);else b.attachEvent&&b.attachEvent("on"+c,function(){d.call(b)})}function A(b){for(var c=curtop=0,d=b;d=d.parentNode;){if(d==document.body)break;c-=d.scrollLeft||0;curtop-=d.scrollTop||0}do{c+=b.offsetLeft;curtop+=b.offsetTop}while(b=b.offsetParent);return[c,curtop]}function E(){if(a.innerHeight)return[a.innerWidth,a.innerHeight];else if(document.documentElement&&
|
63 |
+
document.documentElement.clientHeight)return[document.documentElement.clientWidth,document.documentElement.clientHeight];else if(document.body)return[document.body.clientWidth,document.body.clientHeight];return[0,0]}function F(){var b=document.getElementsByTagName("html")[0];if(b.scrollTop&&document.documentElement.scrollTop)return[b.scrollLeft,b.scrollTop];else if(b.scrollTop||document.documentElement.scrollTop)return[b.scrollLeft+document.documentElement.scrollLeft,b.scrollTop+document.documentElement.scrollTop];
|
64 |
+
else if(document.body.scrollTop)return[document.body.scrollLeft,document.body.scrollTop];return[0,0]}var a=this;this.VKI_version="1.44";this.VKI_deadkeysOn=this.VKI_deadBox=this.VKI_dead=this.VKI_altgr=this.VKI_altgrlock=this.VKI_shift=this.VKI_shiftlock=this.VKI_target=this.VKI_showVersion=false;this.VKI_numberPad=true;this.VKI_numberPadOn=false;this.VKI_kts=this.VKI_kt="US International";this.VKI_langAdapt=true;this.VKI_size=2;this.VKI_sizeAdj=true;this.VKI_clearPasswords=false;this.VKI_imageURI=
|
65 |
+
"";this.VKI_clickless=0;this.VKI_keyCenter=3;this.VKI_isIElt8=this.VKI_isIE6=this.VKI_isIE=false;this.VKI_isWebKit=/KHTML/.test(navigator.userAgent);this.VKI_isOpera=/Opera/.test(navigator.userAgent);this.VKI_isMoz=!this.VKI_isWebKit&&navigator.product=="Gecko";this.VKI_i18n={"00":"Display Number Pad","01":"Display virtual keyboard interface","02":"Select keyboard layout","03":"Dead keys","04":"On","05":"Off","06":"Close the keyboard","07":"Clear","08":"Clear this input","09":"Version","10":"Decrease keyboard size",
|
66 |
+
"11":"Increase keyboard size"};this.VKI_layout={};this.VKI_layout["\u0627\u0644\u0639\u0631\u0628\u064a\u0629"]={name:"Arabic",keys:[[["\u0630","\u0651 "],["1","!","\u00a1","\u00b9"],["2","@","\u00b2"],["3","#","\u00b3"],["4","$","\u00a4","\u00a3"],["5","%","\u20ac"],["6","^","\u00bc"],["7","&","\u00bd"],["8","*","\u00be"],["9","(","\u2018"],["0",")","\u2019"],["-","_","\u00a5"],["=","+","\u00d7","\u00f7"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0636","\u064e"],["\u0635","\u064b"],["\u062b","\u064f"],
|
67 |
+
["\u0642","\u064c"],["\u0641","\u0644"],["\u063a","\u0625"],["\u0639","\u2018"],["\u0647","\u00f7"],["\u062e","\u00d7"],["\u062d","\u061b"],["\u062c","<"],["\u062f",">"],["\\","|"]],[["Caps","Caps"],["\u0634","\u0650"],["\u0633","\u064d"],["\u064a","]"],["\u0628","["],["\u0644","\u0644"],["\u0627","\u0623"],["\u062a","\u0640"],["\u0646","\u060c"],["\u0645","/"],["\u0643",":"],["\u0637",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u0626","~"],["\u0621","\u0652"],["\u0624","}"],["\u0631","{"],["\u0644",
|
68 |
+
"\u0644"],["\u0649","\u0622"],["\u0629","\u2019"],["\u0648",","],["\u0632","."],["\u0638","\u061f"],["Shift","Shift"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["ar"]};this.VKI_layout["\u0985\u09b8\u09ae\u09c0\u09df\u09be"]={name:"Assamese",keys:[[["+","?"],["\u09e7","{","\u09e7"],["\u09e8","}","\u09e8"],["\u09e9","\u09cd\u09f0","\u09e9"],["\u09ea","\u09f0\u09cd","\u09ea"],["\u09eb","\u099c\u09cd\u09f0","\u09eb"],["\u09ec","\u0995\u09cd\u09b7","\u09ec"],["\u09ed","\u0995\u09cd\u09f0","\u09ed"],["\u09ee",
|
69 |
+
"\u09b6\u09cd\u09f0","\u09ee"],["\u09ef","(","\u09ef"],["\u09e6",")","\u09e6"],["-",""],["\u09c3","\u098b","\u09e2","\u09e0"],["Bksp","Bksp"]],[["Tab","Tab"],["\u09cc","\u0994","\u09d7"],["\u09c8","\u0990"],["\u09be","\u0986"],["\u09c0","\u0988","\u09e3","\u09e1"],["\u09c2","\u098a"],["\u09f1","\u09ad"],["\u09b9","\u0999"],["\u0997","\u0998"],["\u09a6","\u09a7"],["\u099c","\u099d"],["\u09a1","\u09a2","\u09dc","\u09dd"],["Enter","Enter"]],[["Caps","Caps"],["\u09cb","\u0993","\u09f4","\u09f5"],["\u09c7",
|
70 |
+
"\u098f","\u09f6","\u09f7"],["\u09cd","\u0985","\u09f8","\u09f9"],["\u09bf","\u0987","\u09e2","\u098c"],["\u09c1","\u0989"],["\u09aa","\u09ab"],["\u09f0","","\u09f0","\u09f1"],["\u0995","\u0996"],["\u09a4","\u09a5"],["\u099a","\u099b"],["\u099f","\u09a0"],["\u09bc","\u099e"]],[["Shift","Shift"],["\u09ce","\u0983"],["\u0982","\u0981","\u09fa"],["\u09ae","\u09a3"],["\u09a8","\u09f7"],["\u09ac",'"'],["\u09b2","'"],["\u09b8","\u09b6"],[",","\u09b7"],[".",";"],["\u09af","\u09df"],["Shift","Shift"]],[[" ",
|
71 |
+
" "," "," "],["AltGr","AltGr"]]],lang:["as"]};this.VKI_layout["\u0410\u0437\u04d9\u0440\u0431\u0430\u0458\u04b9\u0430\u043d\u04b9\u0430"]={name:"Azerbaijani Cyrillic",keys:[[["`","~"],["1","!"],["2",'"'],["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0458","\u0408"],["\u04af","\u04ae"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],
|
72 |
+
["\u04bb","\u04ba"],["\u0437","\u0417"],["\u0445","\u0425"],["\u04b9","\u04b8"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u049d","\u049c"],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["\u04d9","\u04d8"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u0493",
|
73 |
+
"\u0492"],["\u0431","\u0411"],["\u04e9","\u04e8"],[".",","],["Shift","Shift"]],[[" "," "]]],lang:["az-Cyrl"]};this.VKI_layout["Az\u0259rbaycanca"]={name:"Azerbaijani Latin",keys:[[["`","~"],["1","!"],["2",'"'],["3","\u2166"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["\u00fc","\u00dc"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","\u0130"],["o","O"],["p","P"],["\u00f6","\u00d6"],["\u011f","\u011e"],
|
74 |
+
["\\","/"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u0131","I"],["\u0259","\u018f"],["Enter","Enter"]],[["Shift","Shift"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],["\u00e7","\u00c7"],["\u015f","\u015e"],[".",","],["Shift","Shift"]],[[" "," "]]],lang:["az"]};this.VKI_layout["\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f"]={name:"Belarusian",keys:[[["\u0451","\u0401"],["1","!"],["2",'"'],
|
75 |
+
["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u045e","\u040e"],["\u0437","\u0417"],["\u0445","\u0425"],["'","'"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440",
|
76 |
+
"\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u044d","\u042d"],["Enter","Enter"]],[["Shift","Shift"],["/","|"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0456","\u0406"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],[".",","],["Shift","Shift"]],[[" "," "]]],lang:["be"]};this.VKI_layout["Belgische / Belge"]={name:"Belgian",keys:[[["\u00b2","\u00b3"],["&","1","|"],["\u00e9","2",
|
77 |
+
"@"],['"',"3","#"],["'","4"],["(","5"],["\u00a7","6","^"],["\u00e8","7"],["!","8"],["\u00e7","9","{"],["\u00e0","0","}"],[")","\u00b0"],["-","_"],["Bksp","Bksp"]],[["Tab","Tab"],["a","A"],["z","Z"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["^","\u00a8","["],["$","*","]"],["\u03bc","\u00a3","`"]],[["Caps","Caps"],["q","Q"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["m","M"],["\u00f9","%","\u00b4"],["Enter","Enter"]],
|
78 |
+
[["Shift","Shift"],["<",">","\\"],["w","W"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],[",","?"],[";","."],[":","/"],["=","+","~"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["nl-BE","fr-BE"]};this.VKI_layout["\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 \u0424\u043e\u043d\u0435\u0442\u0438\u0447\u0435\u043d"]={name:"Bulgarian Phonetic",keys:[[["\u0447","\u0427"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],
|
79 |
+
["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u044f","\u042f"],["\u0432","\u0412"],["\u0435","\u0415"],["\u0440","\u0420"],["\u0442","\u0422"],["\u044a","\u042a"],["\u0443","\u0423"],["\u0438","\u0418"],["\u043e","\u041e"],["\u043f","\u041f"],["\u0448","\u0428"],["\u0449","\u0429"],["\u044e","\u042e"]],[["Caps","Caps"],["\u0430","\u0410"],["\u0441","\u0421"],["\u0434","\u0414"],["\u0444","\u0424"],["\u0433","\u0413"],["\u0445","\u0425"],["\u0439","\u0419"],["\u043a","\u041a"],["\u043b","\u041b"],
|
80 |
+
[";",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u0437","\u0417"],["\u044c","\u042c"],["\u0446","\u0426"],["\u0436","\u0416"],["\u0431","\u0411"],["\u043d","\u041d"],["\u043c","\u041c"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "]]],lang:["bg"]};this.VKI_layout["\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438"]={name:"Bulgarian BDS",keys:[[["`","~"],["1","!"],["2","?"],["3","+"],["4",'"'],["5","%"],["6","="],["7",":"],["8","/"],["9","_"],["0","\u2116"],["-","\u0406"],
|
81 |
+
["=","V"],["Bksp","Bksp"]],[["Tab","Tab"],[",","\u044b"],["\u0443","\u0423"],["\u0435","\u0415"],["\u0438","\u0418"],["\u0448","\u0428"],["\u0449","\u0429"],["\u043a","\u041a"],["\u0441","\u0421"],["\u0434","\u0414"],["\u0437","\u0417"],["\u0446","\u0426"],[";","\u00a7"],["(",")"]],[["Caps","Caps"],["\u044c","\u042c"],["\u044f","\u042f"],["\u0430","\u0410"],["\u043e","\u041e"],["\u0436","\u0416"],["\u0433","\u0413"],["\u0442","\u0422"],["\u043d","\u041d"],["\u0412","\u0412"],["\u043c","\u041c"],["\u0447",
|
82 |
+
"\u0427"],["Enter","Enter"]],[["Shift","Shift"],["\u042e","\u044e"],["\u0439","\u0419"],["\u044a","\u042a"],["\u044d","\u042d"],["\u0444","\u0424"],["\u0445","\u0425"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043b","\u041b"],["\u0431","\u0411"],["Shift","Shift"]],[[" "," "]]]};this.VKI_layout["\u09ac\u09be\u0982\u09b2\u09be"]={name:"Bengali",keys:[[[""],["1","","\u09e7"],["2","","\u09e8"],["3","\u09cd\u09b0","\u09e9"],["4","\u09b0\u09cd","\u09ea"],["5","\u099c\u09cd\u09b0","\u09eb"],["6","\u09a4\u09cd\u09b7",
|
83 |
+
"\u09ec"],["7","\u0995\u09cd\u09b0","\u09ed"],["8","\u09b6\u09cd\u09b0","\u09ee"],["9","(","\u09ef"],["0",")","\u09e6"],["-","\u0983"],["\u09c3","\u098b","\u09e2","\u09e0"],["Bksp","Bksp"]],[["Tab","Tab"],["\u09cc","\u0994","\u09d7"],["\u09c8","\u0990"],["\u09be","\u0986"],["\u09c0","\u0988","\u09e3","\u09e1"],["\u09c2","\u098a"],["\u09ac","\u09ad"],["\u09b9","\u0999"],["\u0997","\u0998"],["\u09a6","\u09a7"],["\u099c","\u099d"],["\u09a1","\u09a2","\u09dc","\u09dd"],["Enter","Enter"]],[["Caps","Caps"],
|
84 |
+
["\u09cb","\u0993","\u09f4","\u09f5"],["\u09c7","\u098f","\u09f6","\u09f7"],["\u09cd","\u0985","\u09f8","\u09f9"],["\u09bf","\u0987","\u09e2","\u098c"],["\u09c1","\u0989"],["\u09aa","\u09ab"],["\u09b0","","\u09f0","\u09f1"],["\u0995","\u0996"],["\u09a4","\u09a5"],["\u099a","\u099b"],["\u099f","\u09a0"],["\u09bc","\u099e"]],[["Shift","Shift"],[""],["\u0982","\u0981","\u09fa"],["\u09ae","\u09a3"],["\u09a8"],["\u09ac"],["\u09b2"],["\u09b8","\u09b6"],[",","\u09b7"],[".","{"],["\u09af","\u09df"],["Shift",
|
85 |
+
"Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["bn"]};this.VKI_layout.Bosanski={name:"Bosnian",keys:[[["\u00b8","\u00a8"],["1","!","~"],["2",'"',"\u02c7"],["3","#","^"],["4","$","\u02d8"],["5","%","\u00b0"],["6","&","\u02db"],["7","/","`"],["8","(","\u02d9"],["9",")","\u00b4"],["0","=","\u02dd"],["'","?","\u00a8"],["+","*","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\\"],["w","W","|"],["e","E","\u20ac"],["r","R"],["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P"],["\u0161",
|
86 |
+
"\u0160","\u00f7"],["\u0111","\u0110","\u00d7"],["\u017e","\u017d","\u00a4"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F","["],["g","G","]"],["h","H"],["j","J"],["k","K","\u0142"],["l","L","\u0141"],["\u010d","\u010c"],["\u0107","\u0106","\u00df"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["y","Y"],["x","X"],["c","C"],["v","V","@"],["b","B","{"],["n","N","}"],["m","M","\u00a7"],[",",";","<"],[".",":",">"],["-","_","\u00a9"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],
|
87 |
+
lang:["bs"]};this.VKI_layout["Canadienne-fran\u00e7aise"]={name:"Canadian French",keys:[[["#","|","\\"],["1","!","\u00b1"],["2",'"',"@"],["3","/","\u00a3"],["4","$","\u00a2"],["5","%","\u00a4"],["6","?","\u00ac"],["7","&","\u00a6"],["8","*","\u00b2"],["9","(","\u00b3"],["0",")","\u00bc"],["-","_","\u00bd"],["=","+","\u00be"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O","\u00a7"],["p","P","\u00b6"],["^","^","["],["\u00b8",
|
88 |
+
"\u00a8","]"],["<",">","}"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":","~"],["`","`","{"],["Enter","Enter"]],[["Shift","Shift"],["\u00ab","\u00bb","\u00b0"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u00b5"],[",","'","\u00af"],[".",".","\u00ad"],["\u00e9","\u00c9","\u00b4"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["fr-CA"]};this.VKI_layout["\u010cesky"]={name:"Czech",keys:[[[";",
|
89 |
+
"\u00b0","`","~"],["+","1","!"],["\u011b","2","@"],["\u0161","3","#"],["\u010d","4","$"],["\u0159","5","%"],["\u017e","6","^"],["\u00fd","7","&"],["\u00e1","8","*"],["\u00ed","9","("],["\u00e9","0",")"],["=","%","-","_"],["\u00b4","\u02c7","=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00fa","/","[","{"],[")","(","]","}"],["\u00a8","'","\\","|"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],
|
90 |
+
["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u016f",'"',";",":"],["\u00a7","!","\u00a4","^"],["Enter","Enter"]],[["Shift","Shift"],["\\","|","","\u02dd"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","?","<","\u00d7"],[".",":",">","\u00f7"],["-","_","/","?"],["Shift","Shift"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["cs"]};this.VKI_layout.Dansk={name:"Danish",keys:[[["\u00bd","\u00a7"],["1","!"],["2",'"',"@"],["3","#","\u00a3"],["4","\u00a4","$"],["5",
|
91 |
+
"%","\u20ac"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["+","?"],["\u00b4","`","|"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e5","\u00c5"],["\u00a8","^","~"],["'","*"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e6","\u00c6"],["\u00f8","\u00d8"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\\"],["z",
|
92 |
+
"Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u03bc","\u039c"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["da"]};this.VKI_layout.Deutsch={name:"German",keys:[[["^","\u00b0"],["1","!"],["2",'"',"\u00b2"],["3","\u00a7","\u00b3"],["4","$"],["5","%"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["\u00df","?","\\"],["\u00b4","`"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","@"],["w","W"],["e","E","\u20ac"],["r","R"],
|
93 |
+
["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00fc","\u00dc"],["+","*","~"],["#","'"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f6","\u00d6"],["\u00e4","\u00c4"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\u00a6"],["y","Y"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u00b5"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["de"]};this.VKI_layout.Dingbats=
|
94 |
+
{name:"Dingbats",keys:[[["\u2764","\u2765","\u2766","\u2767"],["\u278a","\u2780","\u2776","\u2768"],["\u278b","\u2781","\u2777","\u2769"],["\u278c","\u2782","\u2778","\u276a"],["\u278d","\u2783","\u2779","\u276b"],["\u278e","\u2784","\u277a","\u276c"],["\u278f","\u2785","\u277b","\u276d"],["\u2790","\u2786","\u277c","\u276e"],["\u2791","\u2787","\u277d","\u276f"],["\u2792","\u2788","\u277e","\u2770"],["\u2793","\u2789","\u277f","\u2771"],["\u2795","\u2796","\u274c","\u2797"],["\u2702","\u2704","\u2701",
|
95 |
+
"\u2703"],["Bksp","Bksp"]],[["Tab","Tab"],["\u2714","\u2705","\u2713"],["\u2718","\u2715","\u2717","\u2716"],["\u271a","\u2719","\u271b","\u271c"],["\u271d","\u271e","\u271f","\u2720"],["\u2722","\u2723","\u2724","\u2725"],["\u2726","\u2727","\u2728","\u2756"],["\u2729","\u272a","\u272d","\u2730"],["\u272c","\u272b","\u272e","\u272f"],["\u2736","\u2731","\u2732","\u2749"],["\u273b","\u273c","\u273d","\u273e"],["\u2744","\u2745","\u2746","\u2743"],["\u2733","\u2734","\u2735","\u2721"],["\u2737","\u2738",
|
96 |
+
"\u2739","\u273a"]],[["Caps","Caps"],["\u2799","\u279a","\u2798","\u2758"],["\u27b5","\u27b6","\u27b4","\u2759"],["\u27b8","\u27b9","\u27b7","\u275a"],["\u2794","\u279c","\u27ba","\u27bb"],["\u279d","\u279e","\u27a1","\u2772"],["\u27a9","\u27aa","\u27ab","\u27ac"],["\u27a4","\u27a3","\u27a2","\u279b"],["\u27b3","\u27bc","\u27bd","\u2773"],["\u27ad","\u27ae","\u27af","\u27b1"],["\u27a8","\u27a6","\u27a5","\u27a7"],["\u279f","\u27a0","\u27be","\u27b2"],["Enter","Enter"]],[["Shift","Shift"],["\u270c",
|
97 |
+
"\u270b","\u270a","\u270d"],["\u274f","\u2750","\u2751","\u2752"],["\u273f","\u2740","\u2741","\u2742"],["\u2747","\u2748","\u274a","\u274b"],["\u2757","\u2755","\u2762","\u2763"],["\u2753","\u2754","\u27b0","\u27bf"],["\u270f","\u2710","\u270e","\u2774"],["\u2712","\u2711","\u274d","\u274e"],["\u2709","\u2706","\u2708","\u2707"],["\u275b","\u275d","\u2761","\u2775"],["\u275c","\u275e","\u275f","\u2760"],["Shift","Shift"]],[["AltLk","AltLk"],[" "," "," "," "],["AltGr","AltGr"]]]};this.VKI_layout["\u078b\u07a8\u0788\u07ac\u0780\u07a8\u0784\u07a6\u0790\u07b0"]=
|
98 |
+
{name:"Divehi",keys:[[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9",")"],["0","("],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u07ab","\u00d7"],["\u07ae","\u2019"],["\u07a7","\u201c"],["\u07a9","/"],["\u07ad",":"],["\u078e","\u07a4"],["\u0783","\u079c"],["\u0789","\u07a3"],["\u078c","\u07a0"],["\u0780","\u0799"],["\u078d","\u00f7"],["[","{"],["]","}"]],[["Caps","Caps"],["\u07a8","<"],["\u07aa",">"],["\u07b0",".",",",","],["\u07a6","\u060c"],
|
99 |
+
["\u07ac",'"'],["\u0788","\u07a5"],["\u0787","\u07a2"],["\u0782","\u0798"],["\u0786","\u079a"],["\u078a","\u07a1"],["\ufdf2","\u061b",";",";"],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["\u0792","\u0796"],["\u0791","\u0795"],["\u0790","\u078f"],["\u0794","\u0797","\u200d"],["\u0785","\u079f","\u200c"],["\u078b","\u079b","\u200e"],["\u0784","\u079d","\u200f"],["\u0781","\\"],["\u0793","\u079e"],["\u07af","\u061f"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["dv"]};this.VKI_layout.Dvorak=
|
100 |
+
{name:"Dvorak",keys:[[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["[","{"],["]","}"],["Bksp","Bksp"]],[["Tab","Tab"],["'",'"'],[",","<"],[".",">"],["p","P"],["y","Y"],["f","F"],["g","G"],["c","C"],["r","R"],["l","L"],["/","?"],["=","+"],["\\","|"]],[["Caps","Caps"],["a","A"],["o","O"],["e","E"],["u","U"],["i","I"],["d","D"],["h","H"],["t","T"],["n","N"],["s","S"],["-","_"],["Enter","Enter"]],[["Shift","Shift"],[";",":"],["q","Q"],
|
101 |
+
["j","J"],["k","K"],["x","X"],["b","B"],["m","M"],["w","W"],["v","V"],["z","Z"],["Shift","Shift"]],[[" "," "]]]};this.VKI_layout["\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac"]={name:"Greek",keys:[[["`","~"],["1","!"],["2","@","\u00b2"],["3","#","\u00b3"],["4","$","\u00a3"],["5","%","\u00a7"],["6","^","\u00b6"],["7","&"],["8","*","\u00a4"],["9","(","\u00a6"],["0",")","\u00ba"],["-","_","\u00b1"],["=","+","\u00bd"],["Bksp","Bksp"]],[["Tab","Tab"],[";",":"],["\u03c2","^"],["\u03b5","\u0395"],["\u03c1",
|
102 |
+
"\u03a1"],["\u03c4","\u03a4"],["\u03c5","\u03a5"],["\u03b8","\u0398"],["\u03b9","\u0399"],["\u03bf","\u039f"],["\u03c0","\u03a0"],["[","{","\u201c"],["]","}","\u201d"],["\\","|","\u00ac"]],[["Caps","Caps"],["\u03b1","\u0391"],["\u03c3","\u03a3"],["\u03b4","\u0394"],["\u03c6","\u03a6"],["\u03b3","\u0393"],["\u03b7","\u0397"],["\u03be","\u039e"],["\u03ba","\u039a"],["\u03bb","\u039b"],["\u0384","\u00a8","\u0385"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["\u03b6","\u0396"],["\u03c7",
|
103 |
+
"\u03a7"],["\u03c8","\u03a8"],["\u03c9","\u03a9"],["\u03b2","\u0392"],["\u03bd","\u039d"],["\u03bc","\u039c"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["el"]};this.VKI_layout.Eesti={name:"Estonian",keys:[[["\u02c7","~"],["1","!"],["2",'"',"@","@"],["3","#","\u00a3","\u00a3"],["4","\u00a4","$","$"],["5","%","\u20ac"],["6","&"],["7","/","{","{"],["8","(","[","["],["9",")","]","]"],["0","=","}","}"],["+","?","\\","\\"],["\u00b4","`"],["Bksp","Bksp"]],
|
104 |
+
[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00fc","\u00dc"],["\u00f5","\u00d5","\u00a7","\u00a7"],["'","*","\u00bd","\u00bd"]],[["Caps","Caps"],["a","A"],["s","S","\u0161","\u0160"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f6","\u00d6"],["\u00e4","\u00c4","^","^"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|","|"],["z","Z","\u017e","\u017d"],["x","X"],["c","C"],["v","V"],["b",
|
105 |
+
"B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["et"]};this.VKI_layout["Espa\u00f1ol"]={name:"Spanish",keys:[[["\u00ba","\u00aa","\\"],["1","!","|"],["2",'"',"@"],["3","'","#"],["4","$","~"],["5","%","\u20ac"],["6","&","\u00ac"],["7","/"],["8","("],["9",")"],["0","="],["'","?"],["\u00a1","\u00bf"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],
|
106 |
+
["`","^","["],["+","*","]"],["\u00e7","\u00c7","}"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f1","\u00d1"],["\u00b4","\u00a8","{"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["es"]};this.VKI_layout["\u062f\u0631\u06cc"]={name:"Dari",keys:[[["\u200d","\u00f7","~"],
|
107 |
+
["\u06f1","!","`"],["\u06f2","\u066c","@"],["\u06f3","\u066b","#"],["\u06f4","\u060b","$"],["\u06f5","\u066a","%"],["\u06f6","\u00d7","^"],["\u06f7","\u060c","&"],["\u06f8","*","\u2022"],["\u06f9",")","\u200e"],["\u06f0","(","\u200f"],["-","\u0640","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0636","\u0652","\u00b0"],["\u0635","\u064c"],["\u062b","\u064d","\u20ac"],["\u0642","\u064b","\ufd3e"],["\u0641","\u064f","\ufd3f"],["\u063a","\u0650","\u0656"],["\u0639","\u064e","\u0659"],["\u0647","\u0651",
|
108 |
+
"\u0655"],["\u062e","]","'"],["\u062d","[",'"'],["\u062c","}","\u0681"],["\u0686","{","\u0685"],["\\","|","?"]],[["Caps","Caps"],["\u0634","\u0624","\u069a"],["\u0633","\u0626","\u06cd"],["\u06cc","\u064a","\u0649"],["\u0628","\u0625","\u06d0"],["\u0644","\u0623","\u06b7"],["\u0627","\u0622","\u0671"],["\u062a","\u0629","\u067c"],["\u0646","\u00bb","\u06bc"],["\u0645","\u00ab","\u06ba"],["\u06a9",":",";"],["\u06af","\u061b","\u06ab"],["Enter","Enter"]],[["Shift","Shift"],["\u0638","\u0643","\u06d2"],
|
109 |
+
["\u0637","\u0653","\u0691"],["\u0632","\u0698","\u0696"],["\u0631","\u0670","\u0693"],["\u0630","\u200c","\u0688"],["\u062f","\u0654","\u0689"],["\u067e","\u0621","\u0679"],["\u0648",">",","],[".","<","\u06c7"],["/","\u061f","\u06c9"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["fa-AF"]};this.VKI_layout["\u0641\u0627\u0631\u0633\u06cc"]={name:"Farsi",keys:[[["\u067e","\u0651 "],["1","!","\u00a1","\u00b9"],["2","@","\u00b2"],["3","#","\u00b3"],["4","$","\u00a4","\u00a3"],["5",
|
110 |
+
"%","\u20ac"],["6","^","\u00bc"],["7","&","\u00bd"],["8","*","\u00be"],["9","(","\u2018"],["0",")","\u2019"],["-","_","\u00a5"],["=","+","\u00d7","\u00f7"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0636","\u064e"],["\u0635","\u064b"],["\u062b","\u064f"],["\u0642","\u064c"],["\u0641","\u0644"],["\u063a","\u0625"],["\u0639","\u2018"],["\u0647","\u00f7"],["\u062e","\u00d7"],["\u062d","\u061b"],["\u062c","<"],["\u0686",">"],["\u0698","|"]],[["Caps","Caps"],["\u0634","\u0650"],["\u0633","\u064d"],["\u064a",
|
111 |
+
"]"],["\u0628","["],["\u0644","\u0644"],["\u0627","\u0623"],["\u062a","\u0640"],["\u0646","\u060c"],["\u0645","\\"],["\u06af",":"],["\u0643",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u0626","~"],["\u0621","\u0652"],["\u0632","}"],["\u0631","{"],["\u0630","\u0644"],["\u062f","\u0622"],["\u0626","\u0621"],["\u0648",","],[".","."],["/","\u061f"],["Shift","Shift"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["fa"]};this.VKI_layout["F\u00f8royskt"]={name:"Faeroese",keys:[[["\u00bd","\u00a7"],["1","!"],
|
112 |
+
["2",'"',"@"],["3","#","\u00a3"],["4","\u00a4","$"],["5","%","\u20ac"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["+","?"],["\u00b4","`","|"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e5","\u00c5","\u00a8"],["\u00f0","\u00d0","~"],["'","*"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e6","\u00c6"],["\u00f8",
|
113 |
+
"\u00d8","^"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\\"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u00b5"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["fo"]};this.VKI_layout["Fran\u00e7ais"]={name:"French",keys:[[["\u00b2","\u00b3"],["&","1"],["\u00e9","2","~"],['"',"3","#"],["'","4","{"],["(","5","["],["-","6","|"],["\u00e8","7","`"],["_","8","\\"],["\u00e7","9","^"],["\u00e0","0","@"],[")","\u00b0","]"],["=",
|
114 |
+
"+","}"],["Bksp","Bksp"]],[["Tab","Tab"],["a","A"],["z","Z"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["^","\u00a8"],["$","\u00a3","\u00a4"],["*","\u03bc"]],[["Caps","Caps"],["q","Q"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["m","M"],["\u00f9","%"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["w","W"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],[",","?"],[";","."],[":","/"],["!","\u00a7"],["Shift","Shift"]],
|
115 |
+
[[" "," "," "," "],["AltGr","AltGr"]]],lang:["fr"]};this.VKI_layout.Gaeilge={name:"Irish / Gaelic",keys:[[["`","\u00ac","\u00a6","\u00a6"],["1","!"],["2",'"'],["3","\u00a3"],["4","$","\u20ac"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u00e9","\u00c9"],["r","R"],["t","T"],["y","Y","\u00fd","\u00dd"],["u","U","\u00fa","\u00da"],["i","I","\u00ed","\u00cd"],["o","O","\u00f3","\u00d3"],["p","P"],["[","{"],
|
116 |
+
["]","}"],["#","~"]],[["Caps","Caps"],["a","A","\u00e1","\u00c1"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'","@","\u00b4","`"],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ga","gd"]};this.VKI_layout["\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0"]={name:"Gujarati",keys:[[[""],["1","\u0a8d",
|
117 |
+
"\u0ae7"],["2","\u0ac5","\u0ae8"],["3","\u0acd\u0ab0","\u0ae9"],["4","\u0ab0\u0acd","\u0aea"],["5","\u0a9c\u0acd\u0a9e","\u0aeb"],["6","\u0aa4\u0acd\u0ab0","\u0aec"],["7","\u0a95\u0acd\u0ab7","\u0aed"],["8","\u0ab6\u0acd\u0ab0","\u0aee"],["9","(","\u0aef"],["0",")","\u0ae6"],["-","\u0a83"],["\u0ac3","\u0a8b","\u0ac4","\u0ae0"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0acc","\u0a94"],["\u0ac8","\u0a90"],["\u0abe","\u0a86"],["\u0ac0","\u0a88"],["\u0ac2","\u0a8a"],["\u0aac","\u0aad"],["\u0ab9","\u0a99"],
|
118 |
+
["\u0a97","\u0a98"],["\u0aa6","\u0aa7"],["\u0a9c","\u0a9d"],["\u0aa1","\u0aa2"],["\u0abc","\u0a9e"],["\u0ac9","\u0a91"]],[["Caps","Caps"],["\u0acb","\u0a93"],["\u0ac7","\u0a8f"],["\u0acd","\u0a85"],["\u0abf","\u0a87"],["\u0ac1","\u0a89"],["\u0aaa","\u0aab"],["\u0ab0"],["\u0a95","\u0a96"],["\u0aa4","\u0aa5"],["\u0a9a","\u0a9b"],["\u0a9f","\u0aa0"],["Enter","Enter"]],[["Shift","Shift"],[""],["\u0a82","\u0a81","","\u0ad0"],["\u0aae","\u0aa3"],["\u0aa8"],["\u0ab5"],["\u0ab2","\u0ab3"],["\u0ab8","\u0ab6"],
|
119 |
+
[",","\u0ab7"],[".","\u0964","\u0965","\u0abd"],["\u0aaf"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["gu"]};this.VKI_layout["\u05e2\u05d1\u05e8\u05d9\u05ea"]={name:"Hebrew",keys:[[["~","`"],["1","!"],["2","@"],["3","#"],["4","$","\u20aa"],["5","%"],["6","^"],["7","&"],["8","*"],["9",")"],["0","("],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["/","Q"],["'","W"],["\u05e7","E","\u20ac"],["\u05e8","R"],["\u05d0","T"],["\u05d8","Y"],["\u05d5","U","\u05f0"],["\u05df","I"],
|
120 |
+
["\u05dd","O"],["\u05e4","P"],["\\","|"],["Enter","Enter"]],[["Caps","Caps"],["\u05e9","A"],["\u05d3","S"],["\u05d2","D"],["\u05db","F"],["\u05e2","G"],["\u05d9","H","\u05f2"],["\u05d7","J","\u05f1"],["\u05dc","K"],["\u05da","L"],["\u05e3",":"],[",",'"'],["]","}"],["[","{"]],[["Shift","Shift"],["\u05d6","Z"],["\u05e1","X"],["\u05d1","C"],["\u05d4","V"],["\u05e0","B"],["\u05de","N"],["\u05e6","M"],["\u05ea",">"],["\u05e5","<"],[".","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["he"]};
|
121 |
+
this.VKI_layout["\u0926\u0947\u0935\u0928\u093e\u0917\u0930\u0940"]={name:"Devanagari",keys:[[["\u094a","\u0912"],["1","\u090d","\u0967"],["2","\u0945","\u0968"],["3","\u094d\u0930","\u0969"],["4","\u0930\u094d","\u096a"],["5","\u091c\u094d\u091e","\u096b"],["6","\u0924\u094d\u0930","\u096c"],["7","\u0915\u094d\u0937","\u096d"],["8","\u0936\u094d\u0930","\u096e"],["9","(","\u096f"],["0",")","\u0966"],["-","\u0903"],["\u0943","\u090b","\u0944","\u0960"],["Bksp","Bksp"]],[["Tab","Tab"],["\u094c","\u0914"],
|
122 |
+
["\u0948","\u0910"],["\u093e","\u0906"],["\u0940","\u0908","\u0963","\u0961"],["\u0942","\u090a"],["\u092c","\u092d"],["\u0939","\u0919"],["\u0917","\u0918","\u095a"],["\u0926","\u0927"],["\u091c","\u091d","\u095b"],["\u0921","\u0922","\u095c","\u095d"],["\u093c","\u091e"],["\u0949","\u0911"]],[["Caps","Caps"],["\u094b","\u0913"],["\u0947","\u090f"],["\u094d","\u0905"],["\u093f","\u0907","\u0962","\u090c"],["\u0941","\u0909"],["\u092a","\u092b","","\u095e"],["\u0930","\u0931"],["\u0915","\u0916",
|
123 |
+
"\u0958","\u0959"],["\u0924","\u0925"],["\u091a","\u091b","\u0952"],["\u091f","\u0920","","\u0951"],["Enter","Enter"]],[["Shift","Shift"],["\u0946","\u090e","\u0953"],["\u0902","\u0901","","\u0950"],["\u092e","\u0923","\u0954"],["\u0928","\u0929"],["\u0935","\u0934"],["\u0932","\u0933"],["\u0938","\u0936"],[",","\u0937","\u0970"],[".","\u0964","\u0965","\u093d"],["\u092f","\u095f"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["hi-Deva"]};this.VKI_layout["\u0939\u093f\u0902\u0926\u0940"]=
|
124 |
+
{name:"Hindi",keys:[[["\u200d","\u200c","`","~"],["1","\u090d","\u0967","!"],["2","\u0945","\u0968","@"],["3","\u094d\u0930","\u0969","#"],["4","\u0930\u094d","\u096a","$"],["5","\u091c\u094d\u091e","\u096b","%"],["6","\u0924\u094d\u0930","\u096c","^"],["7","\u0915\u094d\u0937","\u096d","&"],["8","\u0936\u094d\u0930","\u096e","*"],["9","(","\u096f","("],["0",")","\u0966",")"],["-","\u0903","-","_"],["\u0943","\u090b","=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u094c","\u0914"],["\u0948","\u0910"],
|
125 |
+
["\u093e","\u0906"],["\u0940","\u0908"],["\u0942","\u090a"],["\u092c","\u092d"],["\u0939","\u0919"],["\u0917","\u0918"],["\u0926","\u0927"],["\u091c","\u091d"],["\u0921","\u0922","[","{"],["\u093c","\u091e","]","}"],["\u0949","\u0911","\\","|"]],[["Caps","Caps"],["\u094b","\u0913"],["\u0947","\u090f"],["\u094d","\u0905"],["\u093f","\u0907"],["\u0941","\u0909"],["\u092a","\u092b"],["\u0930","\u0931"],["\u0915","\u0916"],["\u0924","\u0925"],["\u091a","\u091b",";",":"],["\u091f","\u0920","'",'"'],["Enter",
|
126 |
+
"Enter"]],[["Shift","Shift"],[""],["\u0902","\u0901","","\u0950"],["\u092e","\u0923"],["\u0928"],["\u0935"],["\u0932","\u0933"],["\u0938","\u0936"],[",","\u0937",",","<"],[".","\u0964",".",">"],["\u092f","\u095f","/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["hi"]};this.VKI_layout.Hrvatski={name:"Croatian",keys:this.VKI_layout.Bosanski.keys.slice(0),lang:["hr"]};this.VKI_layout["\u0540\u0561\u0575\u0565\u0580\u0565\u0576 \u0561\u0580\u0565\u0582\u0574\u0578\u0582\u057f\u0584"]=
|
127 |
+
{name:"Western Armenian",keys:[[["\u055d","\u055c"],[":","1"],["\u0571","\u0541"],["\u0575","\u0545"],["\u055b","3"],[",","4"],["-","9"],[".","\u0587"],["\u00ab","("],["\u00bb",")"],["\u0585","\u0555"],["\u057c","\u054c"],["\u056a","\u053a"],["Bksp","Bksp"]],[["Tab","Tab"],["\u056d","\u053d"],["\u057e","\u054e"],["\u0567","\u0537"],["\u0580","\u0550"],["\u0564","\u0534"],["\u0565","\u0535"],["\u0568","\u0538"],["\u056b","\u053b"],["\u0578","\u0548"],["\u0562","\u0532"],["\u0579","\u0549"],["\u057b",
|
128 |
+
"\u054b"],["'","\u055e"]],[["Caps","Caps"],["\u0561","\u0531"],["\u057d","\u054d"],["\u057f","\u054f"],["\u0586","\u0556"],["\u056f","\u053f"],["\u0570","\u0540"],["\u0573","\u0543"],["\u0584","\u0554"],["\u056c","\u053c"],["\u0569","\u0539"],["\u0583","\u0553"],["Enter","Enter"]],[["Shift","Shift"],["\u0566","\u0536"],["\u0581","\u0551"],["\u0563","\u0533"],["\u0582","\u0552"],["\u057a","\u054a"],["\u0576","\u0546"],["\u0574","\u0544"],["\u0577","\u0547"],["\u0572","\u0542"],["\u056e","\u053e"],
|
129 |
+
["Shift","Shift"]],[[" "," "]]],lang:["hy-arevmda"]};this.VKI_layout["\u0540\u0561\u0575\u0565\u0580\u0565\u0576 \u0561\u0580\u0565\u0582\u0565\u056c\u0584"]={name:"Eastern Armenian",keys:[[["\u055d","\u055c"],[":","1"],["\u0571","\u0541"],["\u0575","\u0545"],["\u055b","3"],[",","4"],["-","9"],[".","\u0587"],["\u00ab","("],["\u00bb",")"],["\u0585","\u0555"],["\u057c","\u054c"],["\u056a","\u053a"],["Bksp","Bksp"]],[["Tab","Tab"],["\u056d","\u053d"],["\u0582","\u0552"],["\u0567","\u0537"],["\u0580",
|
130 |
+
"\u0550"],["\u057f","\u054f"],["\u0565","\u0535"],["\u0568","\u0538"],["\u056b","\u053b"],["\u0578","\u0548"],["\u057a","\u054a"],["\u0579","\u0549"],["\u057b","\u054b"],["'","\u055e"]],[["Caps","Caps"],["\u0561","\u0531"],["\u057d","\u054d"],["\u0564","\u0534"],["\u0586","\u0556"],["\u0584","\u0554"],["\u0570","\u0540"],["\u0573","\u0543"],["\u056f","\u053f"],["\u056c","\u053c"],["\u0569","\u0539"],["\u0583","\u0553"],["Enter","Enter"]],[["Shift","Shift"],["\u0566","\u0536"],["\u0581","\u0551"],
|
131 |
+
["\u0563","\u0533"],["\u057e","\u054e"],["\u0562","\u0532"],["\u0576","\u0546"],["\u0574","\u0544"],["\u0577","\u0547"],["\u0572","\u0542"],["\u056e","\u053e"],["Shift","Shift"]],[[" "," "]]],lang:["hy"]};this.VKI_layout["\u00cdslenska"]={name:"Icelandic",keys:[[["\u00b0","\u00a8","\u00b0"],["1","!"],["2",'"'],["3","#"],["4","$"],["5","%","\u20ac"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["\u00f6","\u00d6","\\"],["-","_"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","@"],["w",
|
132 |
+
"W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00f0","\u00d0"],["'","?","~"],["+","*","`"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e6","\u00c6"],["\u00b4","'","^"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u00b5"],[",",";"],[".",":"],["\u00fe","\u00de"],["Shift","Shift"]],[[" "," "," "," "],["AltGr",
|
133 |
+
"AltGr"]]],lang:["is"]};this.VKI_layout.Italiano={name:"Italian",keys:[[["\\","|"],["1","!"],["2",'"'],["3","\u00a3"],["4","$","\u20ac"],["5","%"],["6","&"],["7","/"],["8","("],["9",")"],["0","="],["'","?"],["\u00ec","^"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e8","\u00e9","[","{"],["+","*","]","}"],["\u00f9","\u00a7"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h",
|
134 |
+
"H"],["j","J"],["k","K"],["l","L"],["\u00f2","\u00e7","@"],["\u00e0","\u00b0","#"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["it"]};this.VKI_layout["\u65e5\u672c\u8a9e"]={name:"Japanese Hiragana/Katakana",keys:[[["\uff5e"],["\u306c","\u30cc"],["\u3075","\u30d5"],["\u3042","\u30a2","\u3041","\u30a1"],["\u3046","\u30a6","\u3045","\u30a5"],
|
135 |
+
["\u3048","\u30a8","\u3047","\u30a7"],["\u304a","\u30aa","\u3049","\u30a9"],["\u3084","\u30e4","\u3083","\u30e3"],["\u3086","\u30e6","\u3085","\u30e5"],["\u3088","\u30e8","\u3087","\u30e7"],["\u308f","\u30ef","\u3092","\u30f2"],["\u307b","\u30db","\u30fc","\uff1d"],["\u3078","\u30d8","\uff3e","\uff5e"],["Bksp","Bksp"]],[["Tab","Tab"],["\u305f","\u30bf"],["\u3066","\u30c6"],["\u3044","\u30a4","\u3043","\u30a3"],["\u3059","\u30b9"],["\u304b","\u30ab"],["\u3093","\u30f3"],["\u306a","\u30ca"],["\u306b",
|
136 |
+
"\u30cb"],["\u3089","\u30e9"],["\u305b","\u30bb"],["\u3001","\u3001","\uff20","\u2018"],["\u3002","\u3002","\u300c","\uff5b"],["\uffe5","","","\uff0a"],["\u309b",'"',"\uffe5","\uff5c"]],[["Caps","Caps"],["\u3061","\u30c1"],["\u3068","\u30c8"],["\u3057","\u30b7"],["\u306f","\u30cf"],["\u304d","\u30ad"],["\u304f","\u30af"],["\u307e","\u30de"],["\u306e","\u30ce"],["\u308c","\u30ec","\uff1b","\uff0b"],["\u3051","\u30b1","\uff1a","\u30f6"],["\u3080","\u30e0","\u300d","\uff5d"],["Enter","Enter"]],[["Shift",
|
137 |
+
"Shift"],["\u3064","\u30c4"],["\u3055","\u30b5"],["\u305d","\u30bd"],["\u3072","\u30d2"],["\u3053","\u30b3"],["\u307f","\u30df"],["\u3082","\u30e2"],["\u306d","\u30cd","\u3001","\uff1c"],["\u308b","\u30eb","\u3002","\uff1e"],["\u3081","\u30e1","\u30fb","\uff1f"],["\u308d","\u30ed","","\uff3f"],["Shift","Shift"]],[["AltLk","AltLk"],[" "," "," "," "],["Alt","Alt"]]],lang:["ja"]};this.VKI_layout["\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8"]={name:"Georgian",keys:[[["\u201e","\u201c"],["!","1"],["?",
|
138 |
+
"2"],["\u2116","3"],["\u00a7","4"],["%","5"],[":","6"],[".","7"],[";","8"],[",","9"],["/","0"],["\u2013","-"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u10e6","\u10e6"],["\u10ef","\u10ef"],["\u10e3","\u10e3"],["\u10d9","\u10d9"],["\u10d4","\u10d4","\u10f1"],["\u10dc","\u10dc"],["\u10d2","\u10d2"],["\u10e8","\u10e8"],["\u10ec","\u10ec"],["\u10d6","\u10d6"],["\u10ee","\u10ee","\u10f4"],["\u10ea","\u10ea"],["(",")"]],[["Caps","Caps"],["\u10e4","\u10e4","\u10f6"],["\u10eb","\u10eb"],["\u10d5","\u10d5",
|
139 |
+
"\u10f3"],["\u10d7","\u10d7"],["\u10d0","\u10d0"],["\u10de","\u10de"],["\u10e0","\u10e0"],["\u10dd","\u10dd"],["\u10da","\u10da"],["\u10d3","\u10d3"],["\u10df","\u10df"],["Enter","Enter"]],[["Shift","Shift"],["\u10ed","\u10ed"],["\u10e9","\u10e9"],["\u10e7","\u10e7"],["\u10e1","\u10e1"],["\u10db","\u10db"],["\u10d8","\u10d8","\u10f2"],["\u10e2","\u10e2"],["\u10e5","\u10e5"],["\u10d1","\u10d1"],["\u10f0","\u10f0","\u10f5"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ka"]};this.VKI_layout["\u049a\u0430\u0437\u0430\u049b\u0448\u0430"]=
|
140 |
+
{name:"Kazakh",keys:[[["(",")"],['"',"!"],["\u04d9","\u04d8"],["\u0456","\u0406"],["\u04a3","\u04a2"],["\u0493","\u0492"],[",",";"],[".",":"],["\u04af","\u04ae"],["\u04b1","\u04b0"],["\u049b","\u049a"],["\u04e9","\u04e8"],["\u04bb","\u04ba"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u0449","\u0429"],["\u0437","\u0417"],["\u0445","\u0425"],["\u044a",
|
141 |
+
"\u042a"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u044d","\u042d"],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],["\u2116","?"],
|
142 |
+
["Shift","Shift"]],[[" "," "]]],lang:["kk"]};this.VKI_layout["\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a"]={name:"Khmer",keys:[[["\u00ab","\u00bb","\u200d"],["\u17e1","!","\u200c","\u17f1"],["\u17e2","\u17d7","@","\u17f2"],["\u17e3",'"',"\u17d1","\u17f3"],["\u17e4","\u17db","$","\u17f4"],["\u17e5","%","\u20ac","\u17f5"],["\u17e6","\u17cd","\u17d9","\u17f6"],["\u17e7","\u17d0","\u17da","\u17f7"],["\u17e8","\u17cf","*","\u17f8"],["\u17e9","(","{","\u17f9"],["\u17e0",")","}","\u17f0"],["\u17a5",
|
143 |
+
"\u17cc","x"],["\u17b2","=","\u17ce"],["Bksp","Bksp"]],[["Tab","Tab"],["\u1786","\u1788","\u17dc","\u19e0"],["\u17b9","\u17ba","\u17dd","\u19e1"],["\u17c1","\u17c2","\u17af","\u19e2"],["\u179a","\u17ac","\u17ab","\u19e3"],["\u178f","\u1791","\u17a8","\u19e4"],["\u1799","\u17bd","\u1799\u17be\u1784","\u19e5"],["\u17bb","\u17bc","","\u19e6"],["\u17b7","\u17b8","\u17a6","\u19e7"],["\u17c4","\u17c5","\u17b1","\u19e8"],["\u1795","\u1797","\u17b0","\u19e9"],["\u17c0","\u17bf","\u17a9","\u19ea"],["\u17aa",
|
144 |
+
"\u17a7","\u17b3","\u19eb"],["\u17ae","\u17ad","\\"]],[["Caps","Caps"],["\u17b6","\u17b6\u17c6","\u17b5","\u19ec"],["\u179f","\u17c3","","\u19ed"],["\u178a","\u178c","\u17d3","\u19ee"],["\u1790","\u1792","","\u19ef"],["\u1784","\u17a2","\u17a4","\u19f0"],["\u17a0","\u17c7","\u17a3","\u19f1"],["\u17d2","\u1789","\u17b4","\u19f2"],["\u1780","\u1782","\u179d","\u19f3"],["\u179b","\u17a1","\u17d8","\u19f4"],["\u17be","\u17c4\u17c7","\u17d6","\u19f5"],["\u17cb","\u17c9","\u17c8","\u19f6"],["Enter","Enter"]],
|
145 |
+
[["Shift","Shift"],["\u178b","\u178d","|","\u19f7"],["\u1781","\u1783","\u1781\u17d2\u1789\u17bb\u17c6","\u19f8"],["\u1785","\u1787","-","\u19f9"],["\u179c","\u17c1\u17c7","+","\u19fa"],["\u1794","\u1796","\u179e","\u19fb"],["\u1793","\u178e","[","\u19fc"],["\u1798","\u17c6","]","\u19fd"],["\u17bb\u17c6","\u17bb\u17c7",",","\u19fe"],["\u17d4","\u17d5",".","\u19ff"],["\u17ca","?","/"],["Shift","Shift"]],[["\u200b"," ","\u00a0"," "],["AltGr","AltGr"]]],lang:["km"]};this.VKI_layout["\u0c95\u0ca8\u0ccd\u0ca8\u0ca1"]=
|
146 |
+
{name:"Kannada",keys:[[["\u0cca","\u0c92"],["1","","\u0ce7"],["2","","\u0ce8"],["3","\u0ccd\u0cb0","\u0ce9"],["4","\u0cb0\u0ccd","\u0cea"],["5","\u0c9c\u0ccd\u0c9e","\u0ceb"],["6","\u0ca4\u0ccd\u0cb0","\u0cec"],["7","\u0c95\u0ccd\u0cb7","\u0ced"],["8","\u0cb6\u0ccd\u0cb0","\u0cee"],["9","(","\u0cef"],["0",")","\u0ce6"],["-","\u0c83"],["\u0cc3","\u0c8b","\u0cc4","\u0ce0"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0ccc","\u0c94"],["\u0cc8","\u0c90","\u0cd6"],["\u0cbe","\u0c86"],["\u0cc0","\u0c88","","\u0ce1"],
|
147 |
+
["\u0cc2","\u0c8a"],["\u0cac","\u0cad"],["\u0cb9","\u0c99"],["\u0c97","\u0c98"],["\u0ca6","\u0ca7"],["\u0c9c","\u0c9d"],["\u0ca1","\u0ca2"],["Enter","Enter"]],[["Caps","Caps"],["\u0ccb","\u0c93"],["\u0cc7","\u0c8f","\u0cd5"],["\u0ccd","\u0c85"],["\u0cbf","\u0c87","","\u0c8c"],["\u0cc1","\u0c89"],["\u0caa","\u0cab","","\u0cde"],["\u0cb0","\u0cb1"],["\u0c95","\u0c96"],["\u0ca4","\u0ca5"],["\u0c9a","\u0c9b"],["\u0c9f","\u0ca0"],["","\u0c9e"]],[["Shift","Shift"],["\u0cc6","\u0c8f"],["\u0c82"],["\u0cae",
|
148 |
+
"\u0ca3"],["\u0ca8"],["\u0cb5"],["\u0cb2","\u0cb3"],["\u0cb8","\u0cb6"],[",","\u0cb7"],[".","|"],["\u0caf"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["kn"]};this.VKI_layout["\ud55c\uad6d\uc5b4"]={name:"Korean",keys:[[["`","~","`","~"],["1","!","1","!"],["2","@","2","@"],["3","#","3","#"],["4","$","4","$"],["5","%","5","%"],["6","^","6","^"],["7","&","7","&"],["8","*","8","*"],["9",")","9",")"],["0","(","0","("],["-","_","-","_"],["=","+","=","+"],["\u20a9","|","\u20a9","|"],
|
149 |
+
["Bksp","Bksp"]],[["Tab","Tab"],["\u1107","\u1108","q","Q"],["\u110c","\u110d","w","W"],["\u1103","\u1104","e","E"],["\u1100","\u1101","r","R"],["\u1109","\u110a","t","T"],["\u116d","","y","Y"],["\u1167","","u","U"],["\u1163","","i","I"],["\u1162","\u1164","o","O"],["\u1166","\u1168","p","P"],["[","{","[","{"],["]","}","]","}"]],[["Caps","Caps"],["\u1106","","a","A"],["\u1102","","s","S"],["\u110b","","d","D"],["\u1105","","f","F"],["\u1112","","g","G"],["\u1169","","h","H"],["\u1165","","j","J"],
|
150 |
+
["\u1161","","k","K"],["\u1175","","l","L"],[";",":",";",":"],["'",'"',"'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u110f","","z","Z"],["\u1110","","x","X"],["\u110e","","c","C"],["\u1111","","v","V"],["\u1172","","b","B"],["\u116e","","n","N"],["\u1173","","m","M"],[",","<",",","<"],[".",">",".",">"],["/","?","/","?"],["Shift","Shift"]],[[" "," "," "," "],["Kor","Alt"]]],lang:["ko"]};this.VKI_layout["Kurd\u00ee"]={name:"Kurdish",keys:[[["\u20ac","~"],["\u0661","!"],["\u0662","@"],["\u0663",
|
151 |
+
"#"],["\u0664","$"],["\u0665","%"],["\u0666","^"],["\u0667","&"],["\u0668","*"],["\u0669","("],["\u0660",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0642","`"],["\u0648","\u0648\u0648"],["\u06d5","\u064a"],["\u0631","\u0695"],["\u062a","\u0637"],["\u06cc","\u06ce"],["\u0626","\u0621"],["\u062d","\u0639"],["\u06c6","\u0624"],["\u067e","\u062b"],["[","{"],["]","}"],["\\","|"]],[["Caps","Caps"],["\u0627","\u0622"],["\u0633","\u0634"],["\u062f","\u0630"],["\u0641","\u0625"],["\u06af",
|
152 |
+
"\u063a"],["\u0647","\u200c"],["\u0698","\u0623"],["\u06a9","\u0643"],["\u0644","\u06b5"],["\u061b",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u0632","\u0636"],["\u062e","\u0635"],["\u062c","\u0686"],["\u06a4","\u0638"],["\u0628","\u0649"],["\u0646","\u0629"],["\u0645","\u0640"],["\u060c","<"],[".",">"],["/","\u061f"],["Shift","Shift"]],[[" "," "]]],lang:["ku"]};this.VKI_layout["\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430"]={name:"Kyrgyz",keys:[[["\u0451","\u0401"],["1","!"],["2",
|
153 |
+
'"'],["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423","\u04af","\u04ae"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d","\u04a3","\u04a2"],["\u0433","\u0413"],["\u0448","\u0428"],["\u0449","\u0429"],["\u0437","\u0417"],["\u0445","\u0425"],["\u044a","\u042a"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],
|
154 |
+
["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e","\u04e9","\u04e8"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u044d","\u042d"],["Enter","Enter"]],[["Shift","Shift"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],[".",","],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ky"]};this.VKI_layout["Latvie\u0161u"]=
|
155 |
+
{name:"Latvian",keys:[[["\u00ad","?"],["1","!","\u00ab"],["2","\u00ab","","@"],["3","\u00bb","","#"],["4","$","\u20ac","$"],["5","%",'"',"~"],["6","/","\u2019","^"],["7","&","","\u00b1"],["8","\u00d7",":"],["9","("],["0",")"],["-","_","\u2013","\u2014"],["f","F","=",";"],["Bksp","Bksp"]],[["Tab","Tab"],["\u016b","\u016a","q","Q"],["g","G","\u0123","\u0122"],["j","J"],["r","R","\u0157","\u0156"],["m","M","w","W"],["v","V","y","Y"],["n","N"],["z","Z"],["\u0113","\u0112"],["\u010d","\u010c"],["\u017e",
|
156 |
+
"\u017d","[","{"],["h","H","]","}"],["\u0137","\u0136"]],[["Caps","Caps"],["\u0161","\u0160"],["u","U"],["s","S"],["i","I"],["l","L"],["d","D"],["a","A"],["t","T"],["e","E","\u20ac"],["c","C"],["\u00b4","\u00b0","\u00b4","\u00a8"],["Enter","Enter"]],[["Shift","Shift"],["\u0146","\u0145"],["b","B","x","X"],["\u012b","\u012a"],["k","K","\u0137","\u0136"],["p","P"],["o","O","\u00f5","\u00d5"],["\u0101","\u0100"],[",",";","<"],[".",":",">"],["\u013c","\u013b"],["Shift","Shift"]],[[" "," "," "," "],["AltGr",
|
157 |
+
"AltGr"]]],lang:["lv"]};this.VKI_layout["Lietuvi\u0173"]={name:"Lithuanian",keys:[[["`","~"],["\u0105","\u0104"],["\u010d","\u010c"],["\u0119","\u0118"],["\u0117","\u0116"],["\u012f","\u012e"],["\u0161","\u0160"],["\u0173","\u0172"],["\u016b","\u016a"],["\u201e","("],["\u201c",")"],["-","_"],["\u017e","\u017d"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["[","{"],["]","}"],["\\","|"]],[["Caps","Caps"],["a","A"],
|
158 |
+
["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u2013","\u20ac"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "]]],lang:["lt"]};this.VKI_layout.Magyar={name:"Hungarian",keys:[[["0","\u00a7"],["1","'","~"],["2",'"',"\u02c7"],["3","+","\u02c6"],["4","!","\u02d8"],["5","%","\u00b0"],["6","/","\u02db"],["7","=","`"],["8","(","\u02d9"],
|
159 |
+
["9",")","\u00b4"],["\u00f6","\u00d6","\u02dd"],["\u00fc","\u00dc","\u00a8"],["\u00f3","\u00d3","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\\"],["w","W","|"],["e","E","\u00c4"],["r","R"],["t","T"],["z","Z"],["u","U","\u20ac"],["i","I","\u00cd"],["o","O"],["p","P"],["\u0151","\u0150","\u00f7"],["\u00fa","\u00da","\u00d7"],["\u0171","\u0170","\u00a4"]],[["Caps","Caps"],["a","A","\u00e4"],["s","S","\u0111"],["d","D","\u0110"],["f","F","["],["g","G","]"],["h","H"],["j","J","\u00ed"],["k","K",
|
160 |
+
"\u0141"],["l","L","\u0142"],["\u00e9","\u00c9","$"],["\u00e1","\u00c1","\u00df"],["Enter","Enter"]],[["Shift","Shift"],["\u00ed","\u00cd","<"],["y","Y",">"],["x","X","#"],["c","C","&"],["v","V","@"],["b","B","{"],["n","N","}"],["m","M","<"],[",","?",";"],[".",":",">"],["-","_","*"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["hu"]};this.VKI_layout.Malti={name:"Maltese 48",keys:[[["\u010b","\u010a","`"],["1","!"],["2",'"'],["3","\u20ac","\u00a3"],["4","$"],["5","%"],["6","^"],
|
161 |
+
["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u00e8","\u00c8"],["r","R"],["t","T"],["y","Y"],["u","U","\u00f9","\u00d9"],["i","I","\u00ec","\u00cc"],["o","O","\u00f2","\u00d2"],["p","P"],["\u0121","\u0120","[","{"],["\u0127","\u0126","]","}"],["#","\u017e"]],[["Caps","Caps"],["a","A","\u00e0","\u00c0"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'","@"],["Enter","Enter"]],[["Shift",
|
162 |
+
"Shift"],["\u017c","\u017b","\\","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?","","`"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["mt"]};this.VKI_layout["\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438"]={name:"Macedonian Cyrillic",keys:[[["`","~"],["1","!"],["2","\u201e"],["3","\u201c"],["4","\u2019"],["5","%"],["6","\u2018"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab",
|
163 |
+
"Tab"],["\u0459","\u0409"],["\u045a","\u040a"],["\u0435","\u0415","\u20ac"],["\u0440","\u0420"],["\u0442","\u0422"],["\u0455","\u0405"],["\u0443","\u0423"],["\u0438","\u0418"],["\u043e","\u041e"],["\u043f","\u041f"],["\u0448","\u0428","\u0402"],["\u0453","\u0403","\u0452"],["\u0436","\u0416"]],[["Caps","Caps"],["\u0430","\u0410"],["\u0441","\u0421"],["\u0434","\u0414"],["\u0444","\u0424","["],["\u0433","\u0413","]"],["\u0445","\u0425"],["\u0458","\u0408"],["\u043a","\u041a"],["\u043b","\u041b"],["\u0447",
|
164 |
+
"\u0427","\u040b"],["\u045c","\u040c","\u045b"],["Enter","Enter"]],[["Shift","Shift"],["\u0451","\u0401"],["\u0437","\u0417"],["\u045f","\u040f"],["\u0446","\u0426"],["\u0432","\u0412","@"],["\u0431","\u0411","{"],["\u043d","\u041d","}"],["\u043c","\u041c","\u00a7"],[",",";"],[".",":"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["mk"]};this.VKI_layout["\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02"]={name:"Malayalam",keys:[[["\u0d4a","\u0d12"],["1","","\u0d67"],["2","","\u0d68"],
|
165 |
+
["3","\u0d4d\u0d30","\u0d69"],["4","","\u0d6a"],["5","","\u0d6b"],["6","","\u0d6c"],["7","\u0d15\u0d4d\u0d37","\u0d6d"],["8","","\u0d6e"],["9","(","\u0d6f"],["0",")","\u0d66"],["-","\u0d03"],["\u0d43","\u0d0b","","\u0d60"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0d4c","\u0d14","\u0d57"],["\u0d48","\u0d10"],["\u0d3e","\u0d06"],["\u0d40","\u0d08","","\u0d61"],["\u0d42","\u0d0a"],["\u0d2c","\u0d2d"],["\u0d39","\u0d19"],["\u0d17","\u0d18"],["\u0d26","\u0d27"],["\u0d1c","\u0d1d"],["\u0d21","\u0d22"],["","\u0d1e"]],
|
166 |
+
[["Caps","Caps"],["\u0d4b","\u0d13"],["\u0d47","\u0d0f"],["\u0d4d","\u0d05","","\u0d0c"],["\u0d3f","\u0d07"],["\u0d41","\u0d09"],["\u0d2a","\u0d2b"],["\u0d30","\u0d31"],["\u0d15","\u0d16"],["\u0d24","\u0d25"],["\u0d1a","\u0d1b"],["\u0d1f","\u0d20"],["Enter","Enter"]],[["Shift","Shift"],["\u0d46","\u0d0f"],["\u0d02"],["\u0d2e","\u0d23"],["\u0d28"],["\u0d35","\u0d34"],["\u0d32","\u0d33"],["\u0d38","\u0d36"],[",","\u0d37"],["."],["\u0d2f"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ml"]};
|
167 |
+
this.VKI_layout["Misc. Symbols"]={name:"Misc. Symbols",keys:[[["\u2605","\u2606","\u260e","\u260f"],["\u2648","\u2673","\u2659","\u2630"],["\u2649","\u2674","\u2658","\u2631"],["\u264a","\u2675","\u2657","\u2632"],["\u264b","\u2676","\u2656","\u2633"],["\u264c","\u2677","\u2655","\u2634"],["\u264d","\u2678","\u2654","\u2635"],["\u264e","\u2679","\u265f","\u2636"],["\u264f","\u267a","\u265e","\u2637"],["\u2650","\u267b","\u265d","\u2686"],["\u2651","\u267c","\u265c","\u2687"],["\u2652","\u267d","\u265b",
|
168 |
+
"\u2688"],["\u2653","\u2672","\u265a","\u2689"],["Bksp","Bksp"]],[["\u263f","\u2680","\u268a","\u26a2"],["\u2640","\u2681","\u268b","\u26a3"],["\u2641","\u2682","\u268c","\u26a4"],["\u2642","\u2683","\u268d","\u26a5"],["\u2643","\u2684","\u268e","\u26a6"],["\u2644","\u2685","\u268f","\u26a7"],["\u2645","\u2620","\u26ff","\u26a8"],["\u2646","\u2622","\u2692","\u26a9"],["\u2647","\u2623","\u2693","\u26b2"],["\u2669","\u266d","\u2694","\u26ac"],["\u266a","\u266e","\u2695","\u26ad"],["\u266b","\u266f",
|
169 |
+
"\u2696","\u26ae"],["\u266c","\u2607","\u2697","\u26af"],["\u26f9","\u2608","\u2698","\u26b0"],["\u267f","\u262e","\u2638","\u2609"]],[["Tab","Tab"],["\u261e","\u261c","\u261d","\u261f"],["\u261b","\u261a","\u2618","\u2619"],["\u2602","\u2614","\u26f1","\u26d9"],["\u2615","\u2668","\u26fe","\u26d8"],["\u263a","\u2639","\u263b","\u26dc"],["\u2617","\u2616","\u26ca","\u26c9"],["\u2660","\u2663","\u2665","\u2666"],["\u2664","\u2667","\u2661","\u2662"],["\u26c2","\u26c0","\u26c3","\u26c1"],["\u2624",
|
170 |
+
"\u2625","\u269a","\u26b1"],["\u2610","\u2611","\u2612","\u2613"],["\u2628","\u2626","\u2627","\u2629"],["\u262a","\u262b","\u262c","\u262d"],["\u26fa","\u26fb","\u26fc","\u26fd"]],[["Caps","Caps"],["\u262f","\u2670","\u2671","\u267e"],["\u263c","\u2699","\u263d","\u263e"],["\u26c4","\u2603","\u26c7","\u26c6"],["\u26a0","\u26a1","\u2621","\u26d4"],["\u26e4","\u26e5","\u26e6","\u26e7"],["\u260a","\u260b","\u260c","\u260d"],["\u269c","\u269b","\u269d","\u2604"],["\u26b3","\u26b4","\u26b5","\u26b6"],
|
171 |
+
["\u26b7","\u26bf","\u26b8","\u26f8"],["\u26b9","\u26ba","\u26bb","\u26bc"],["\u26bd","\u26be","\u269f","\u269e"],["Enter","Enter"]],[["Shift","Shift"],["\u2600","\u2601","\u26c5","\u26c8"],["\u2691","\u2690","\u26ab","\u26aa"],["\u26cb","\u26cc","\u26cd","\u26ce"],["\u26cf","\u26d0","\u26d1","\u26d2"],["\u26d3","\u26d5","\u26d6","\u26d7"],["\u26da","\u26db","\u26dd","\u26de"],["\u26df","\u26e0","\u26e1","\u26e2"],["\u26e3","\u26e8","\u26e9","\u26ea"],["\u26eb","\u26ec","\u26ed","\u26ee"],["\u26ef",
|
172 |
+
"\u26f0","\u26f2","\u26f3"],["\u26f4","\u26f5","\u26f6","\u26f7"],["Shift","Shift"]],[["AltLk","AltLk"],[" "," "," "," "],["Alt","Alt"]]]};this.VKI_layout["\u041c\u043e\u043d\u0433\u043e\u043b"]={name:"Mongolian Cyrillic",keys:[[["=","+"],["\u2116","1"],["-","2"],['"',"3"],["\u20ae","4"],[":","5"],[".","6"],["_","7"],[",","8"],["%","9"],["?","0"],["\u0435","\u0415"],["\u0449","\u0429"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0444","\u0424"],["\u0446","\u0426"],["\u0443","\u0423"],["\u0436","\u0416"],
|
173 |
+
["\u044d","\u042d"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u04af","\u04ae"],["\u0437","\u0417"],["\u043a","\u041a"],["\u044a","\u042a"],["\\","|"]],[["Caps","Caps"],["\u0439","\u0419"],["\u044b","\u042b"],["\u0431","\u0411"],["\u04e9","\u04e8"],["\u0430","\u0410"],["\u0445","\u0425"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u043f","\u041f"],["Enter","Enter"]],[["Shift","Shift"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0451","\u0401"],
|
174 |
+
["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0432","\u0412"],["\u044e","\u042e"],["Shift","Shift"]],[[" "," "]]],lang:["mn"]};this.VKI_layout["\u092e\u0930\u093e\u0920\u0940"]={name:"Marathi",keys:[[["","","`","~"],["\u0967","\u090d","1","!"],["\u0968","\u0945","2","@"],["\u0969","\u094d\u0930","3","#"],["\u096a","\u0930\u094d","4","$"],["\u096b","\u091c\u094d\u091e","5","%"],["\u096c","\u0924\u094d\u0930","6","^"],["\u096d","\u0915\u094d\u0937",
|
175 |
+
"7","&"],["\u096e","\u0936\u094d\u0930","8","*"],["\u096f","(","9","("],["\u0966",")","0",")"],["-","\u0903","-","_"],["\u0943","\u090b","=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u094c","\u0914"],["\u0948","\u0910"],["\u093e","\u0906"],["\u0940","\u0908"],["\u0942","\u090a"],["\u092c","\u092d"],["\u0939","\u0919"],["\u0917","\u0918"],["\u0926","\u0927"],["\u091c","\u091d"],["\u0921","\u0922","[","{"],["\u093c","\u091e","]","}"],["\u0949","\u0911","\\","|"]],[["Caps","Caps"],["\u094b","\u0913"],
|
176 |
+
["\u0947","\u090f"],["\u094d","\u0905"],["\u093f","\u0907"],["\u0941","\u0909"],["\u092a","\u092b"],["\u0930","\u0931"],["\u0915","\u0916"],["\u0924","\u0925"],["\u091a","\u091b",";",":"],["\u091f","\u0920","'",'"'],["Enter","Enter"]],[["Shift","Shift"],[""],["\u0902","\u0901","","\u0950"],["\u092e","\u0923"],["\u0928"],["\u0935"],["\u0932","\u0933"],["\u0938","\u0936"],[",","\u0937",",","<"],[".","\u0964",".",">"],["\u092f","\u095f","/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],
|
177 |
+
lang:["mr"]};this.VKI_layout["\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c"]={name:"Burmese",keys:[[["\u1039`","~"],["\u1041","\u100d"],["\u1042","\u100e"],["\u1043","\u100b"],["\u1044","\u1000\u103b\u1015\u103a"],["\u1045","%"],["\u1046","/"],["\u1047","\u101b"],["\u1048","\u1002"],["\u1049","("],["\u1040",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u1006","\u1029"],["\u1010","\u1040"],["\u1014","\u103f"],["\u1019","\u1023"],["\u1021","\u1024"],["\u1015","\u104c"],
|
178 |
+
["\u1000","\u1009"],["\u1004","\u104d"],["\u101e","\u1025"],["\u1005","\u100f"],["\u101f","\u1027"],["\u2018","\u2019"],["\u104f","\u100b\u1039\u100c"]],[["Caps","Caps"],["\u200b\u1031","\u1017"],["\u200b\u103b","\u200b\u103e"],["\u200b\u102d","\u200b\u102e"],["\u200b\u103a","\u1004\u103a\u1039\u200b"],["\u200b\u102b","\u200b\u103d"],["\u200b\u1037","\u200b\u1036"],["\u200b\u103c","\u200b\u1032"],["\u200b\u102f","\u200b\u102f"],["\u200b\u1030","\u200b\u1030"],["\u200b\u1038","\u200b\u102b\u103a"],
|
179 |
+
["\u1012","\u1013"],["Enter","Enter"]],[["Shift","Shift"],["\u1016","\u1007"],["\u1011","\u100c"],["\u1001","\u1003"],["\u101c","\u1020"],["\u1018","\u1026"],["\u100a","\u1008"],["\u200b\u102c","\u102a"],["\u101a","\u101b"],[".","\u101b"],["\u104b","\u104a"],["Shift","Shift"]],[[" "," "]]],lang:["my"]};this.VKI_layout.Nederlands={name:"Dutch",keys:[[["@","\u00a7","\u00ac"],["1","!","\u00b9"],["2",'"',"\u00b2"],["3","#","\u00b3"],["4","$","\u00bc"],["5","%","\u00bd"],["6","&","\u00be"],["7","_","\u00a3"],
|
180 |
+
["8","(","{"],["9",")","}"],["0","'"],["/","?","\\"],["\u00b0","~","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R","\u00b6"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00a8","^"],["*","|"],["<",">"]],[["Caps","Caps"],["a","A"],["s","S","\u00df"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["+","\u00b1"],["\u00b4","`"],["Enter","Enter"]],[["Shift","Shift"],["]","[","\u00a6"],["z","Z","\u00ab"],["x","X","\u00bb"],
|
181 |
+
["c","C","\u00a2"],["v","V"],["b","B"],["n","N"],["m","M","\u00b5"],[",",";"],[".",":","\u00b7"],["-","="],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["nl"]};this.VKI_layout.Norsk={name:"Norwegian",keys:[[["|","\u00a7"],["1","!"],["2",'"',"@"],["3","#","\u00a3"],["4","\u00a4","$"],["5","%"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["+","?"],["\\","`","\u00b4"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y",
|
182 |
+
"Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e5","\u00c5"],["\u00a8","^","~"],["'","*"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f8","\u00d8"],["\u00e6","\u00c6"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u03bc","\u039c"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["no","nb","nn"]};this.VKI_layout["\u067e\u069a\u062a\u0648"]=
|
183 |
+
{name:"Pashto",keys:[[["\u200d","\u00f7","`"],["\u06f1","!","`"],["\u06f2","\u066c","@"],["\u06f3","\u066b","\u066b"],["\u06f4","\u00a4","\u00a3"],["\u06f5","\u066a","%"],["\u06f6","\u00d7","^"],["\u06f7","\u00ab","&"],["\u06f8","\u00bb","*"],["\u06f9","(","\ufdf2"],["\u06f0",")","\ufefb"],["-","\u0640","_"],["=","+","\ufe87","\u00f7"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0636","\u0652","\u06d5"],["\u0635","\u064c","\u0653"],["\u062b","\u064d","\u20ac"],["\u0642","\u064b","\ufef7"],["\u0641","\u064f",
|
184 |
+
"\ufef5"],["\u063a","\u0650","'"],["\u0639","\u064e","\ufe84"],["\u0647","\u0651","\u0670"],["\u062e","\u0681","'"],["\u062d","\u0685",'"'],["\u062c","]","}"],["\u0686","[","{"],["\\","\u066d","|"]],[["Caps","Caps"],["\u0634","\u069a","\ufbb0"],["\u0633","\u06cd","\u06d2"],["\u06cc","\u064a","\u06d2"],["\u0628","\u067e","\u06ba"],["\u0644","\u0623","\u06b7"],["\u0627","\u0622","\u0671"],["\u062a","\u067c","\u0679"],["\u0646","\u06bc","<"],["\u0645","\u0629",">"],["\u06a9",":","\u0643"],["\u06af",
|
185 |
+
"\u061b","\u06ab"],["Enter","Enter"]],[["Shift","Shift"],["\u0638","\u0626","?"],["\u0637","\u06d0",";"],["\u0632","\u0698","\u0655"],["\u0631","\u0621","\u0654"],["\u0630","\u200c","\u0625"],["\u062f","\u0689","\u0688"],["\u0693","\u0624","\u0691"],["\u0648","\u060c",","],["\u0696",".","\u06c7"],["/","\u061f","\u06c9"],["Shift","Shift","\u064d"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["ps"]};this.VKI_layout["\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40"]={name:"Punjabi (Gurmukhi)",keys:[[[""],["1","\u0a4d\u0a35",
|
186 |
+
"\u0a67","\u0a67"],["2","\u0a4d\u0a2f","\u0a68","\u0a68"],["3","\u0a4d\u0a30","\u0a69","\u0a69"],["4","\u0a71","\u0a6a","\u0a6a"],["5","","\u0a6b","\u0a6b"],["6","","\u0a6c","\u0a6c"],["7","","\u0a6d","\u0a6d"],["8","","\u0a6e","\u0a6e"],["9","(","\u0a6f","\u0a6f"],["0",")","\u0a66","\u0a66"],["-"],[""],["Bksp","Bksp"]],[["Tab","Tab"],["\u0a4c","\u0a14"],["\u0a48","\u0a10"],["\u0a3e","\u0a06"],["\u0a40","\u0a08"],["\u0a42","\u0a0a"],["\u0a2c","\u0a2d"],["\u0a39","\u0a19"],["\u0a17","\u0a18","\u0a5a",
|
187 |
+
"\u0a5a"],["\u0a26","\u0a27"],["\u0a1c","\u0a1d","\u0a5b","\u0a5b"],["\u0a21","\u0a22","\u0a5c","\u0a5c"],["Enter","Enter"]],[["Caps","Caps"],["\u0a4b","\u0a13"],["\u0a47","\u0a0f"],["\u0a4d","\u0a05"],["\u0a3f","\u0a07"],["\u0a41","\u0a09"],["\u0a2a","\u0a2b","\u0a5e","\u0a5e"],["\u0a30"],["\u0a15","\u0a16","\u0a59","\u0a59"],["\u0a24","\u0a25"],["\u0a1a","\u0a1b"],["\u0a1f","\u0a20"],["\u0a3c","\u0a1e"]],[["Shift","Shift"],[""],["\u0a02","\u0a02"],["\u0a2e","\u0a23"],["\u0a28"],["\u0a35","\u0a72",
|
188 |
+
"\u0a73","\u0a73"],["\u0a32","\u0a33"],["\u0a38","\u0a36"],[","],[".","|","\u0965","\u0965"],["\u0a2f"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["pa"]};this.VKI_layout["\u62fc\u97f3 (Pinyin)"]={name:"Pinyin",keys:[[["`","~","\u4e93","\u301c"],["1","!","\uff62"],["2","@","\uff63"],["3","#","\u301d"],["4","$","\u301e"],["5","%","\u301f"],["6","^","\u3008"],["7","&","\u3009"],["8","*","\u302f"],["9","(","\u300a"],["0",")","\u300b"],["-","_","\u300e"],["=","+","\u300f"],["Bksp",
|
189 |
+
"Bksp"]],[["Tab","Tab"],["q","Q","\u0101","\u0100"],["w","W","\u00e1","\u00c1"],["e","E","\u01ce","\u01cd"],["r","R","\u00e0","\u00c0"],["t","T","\u0113","\u0112"],["y","Y","\u00e9","\u00c9"],["u","U","\u011b","\u011a"],["i","I","\u00e8","\u00c8"],["o","O","\u012b","\u012a"],["p","P","\u00ed","\u00cd"],["[","{","\u01d0","\u01cf"],["]","}","\u00ec","\u00cc"],["\\","|","\u3020"]],[["Caps","Caps"],["a","A","\u014d","\u014c"],["s","S","\u00f3","\u00d3"],["d","D","\u01d2","\u01d1"],["f","F","\u00f2","\u00d2"],
|
190 |
+
["g","G","\u00fc","\u00dc"],["h","H","\u016b","\u016a"],["j","J","\u00fa","\u00da"],["k","K","\u01d4","\u01d3"],["l","L","\u00f9","\u00d9"],[";",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["z","Z","\u01d6","\u01d5"],["x","X","\u01d8","\u01d7"],["c","C","\u01da","\u01d9"],["v","V","\u01dc","\u01db"],["b","B"],["n","N"],["m","M"],[",","<","\u3001"],[".",">","\u3002"],["/","?"],["Shift","Shift"]],[["AltLk","AltLk"],[" "," "," "," "],["Alt","Alt"]]],lang:["zh-Latn"]};this.VKI_layout.Polski=
|
191 |
+
{name:"Polish (214)",keys:[[["\u02db","\u00b7"],["1","!","~"],["2",'"',"\u02c7"],["3","#","^"],["4","\u00a4","\u02d8"],["5","%","\u00b0"],["6","&","\u02db"],["7","/","`"],["8","(","\u00b7"],["9",")","\u00b4"],["0","=","\u02dd"],["+","?","\u00a8"],["'","*","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\\"],["w","W","\u00a6"],["e","E"],["r","R"],["t","T"],["z","Z"],["u","U","\u20ac"],["i","I"],["o","O"],["p","P"],["\u017c","\u0144","\u00f7"],["\u015b","\u0107","\u00d7"],["\u00f3","\u017a"]],[["Caps",
|
192 |
+
"Caps"],["a","A"],["s","S","\u0111"],["d","D","\u0110"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u0142","\u0141","$"],["\u0105","\u0119","\u00df"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["y","Y"],["x","X"],["c","C"],["v","V","@"],["b","B","{"],["n","N","}"],["m","M","\u00a7"],[",",";","<"],[".",":",">"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]]};this.VKI_layout["Polski Programisty"]={name:"Polish Programmers",keys:[[["`","~"],["1","!"],["2",
|
193 |
+
"@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u0119","\u0118"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O","\u00f3","\u00d3"],["p","P"],["[","{"],["]","}"],["\\","|"]],[["Caps","Caps"],["a","A","\u0105","\u0104"],["s","S","\u015b","\u015a"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L","\u0142","\u0141"],[";",":"],["'",'"'],["Enter","Enter"]],
|
194 |
+
[["Shift","Shift"],["z","Z","\u017c","\u017b"],["x","X","\u017a","\u0179"],["c","C","\u0107","\u0106"],["v","V"],["b","B"],["n","N","\u0144","\u0143"],["m","M"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["pl"]};this.VKI_layout["Portugu\u00eas Brasileiro"]={name:"Portuguese (Brazil)",keys:[[["'",'"'],["1","!","\u00b9"],["2","@","\u00b2"],["3","#","\u00b3"],["4","$","\u00a3"],["5","%","\u00a2"],["6","\u00a8","\u00ac"],["7","&"],["8","*"],["9","("],["0",
|
195 |
+
")"],["-","_"],["=","+","\u00a7"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","/"],["w","W","?"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00b4","`"],["[","{","\u00aa"],["Enter","Enter"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e7","\u00c7"],["~","^"],["]","}","\u00ba"],["/","?"]],[["Shift","Shift"],["\\","|"],["z","Z"],["x","X"],["c","C","\u20a2"],["v","V"],["b","B"],["n","N"],
|
196 |
+
["m","M"],[",","<"],[".",">"],[":",":"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["pt-BR"]};this.VKI_layout["Portugu\u00eas"]={name:"Portuguese",keys:[[["\\","|"],["1","!"],["2",'"',"@"],["3","#","\u00a3"],["4","$","\u00a7"],["5","%"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["'","?"],["\u00ab","\u00bb"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["+","*",
|
197 |
+
"\u00a8"],["\u00b4","`"],["~","^"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e7","\u00c7"],["\u00ba","\u00aa"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\\"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["pt"]};this.VKI_layout["Rom\u00e2n\u0103"]={name:"Romanian",keys:[[["\u201e","\u201d","`","~"],["1","!",
|
198 |
+
"~"],["2","@","\u02c7"],["3","#","^"],["4","$","\u02d8"],["5","%","\u00b0"],["6","^","\u02db"],["7","&","`"],["8","*","\u02d9"],["9","(","\u00b4"],["0",")","\u02dd"],["-","_","\u00a8"],["=","+","\u00b8","\u00b1"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P","\u00a7"],["\u0103","\u0102","[","{"],["\u00ee","\u00ce","]","}"],["\u00e2","\u00c2","\\","|"]],[["Caps","Caps"],["a","A"],["s","S","\u00df"],["d","D",
|
199 |
+
"\u00f0","\u00d0"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L","\u0142","\u0141"],[this.VKI_isIElt8?"\u015f":"\u0219",this.VKI_isIElt8?"\u015e":"\u0218",";",":"],[this.VKI_isIElt8?"\u0163":"\u021b",this.VKI_isIElt8?"\u0162":"\u021a","'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["z","Z"],["x","X"],["c","C","\u00a9"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";","<","\u00ab"],[".",":",">","\u00bb"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ro"]};
|
200 |
+
this.VKI_layout["\u0420\u0443\u0441\u0441\u043a\u0438\u0439"]={name:"Russian",keys:[[["\u0451","\u0401"],["1","!"],["2",'"'],["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u0449","\u0429"],["\u0437","\u0417"],["\u0445","\u0425"],["\u044a","\u042a"],
|
201 |
+
["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u044d","\u042d"],["Enter","Enter"]],[["Shift","Shift"],["/","|"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],[".",","],["Shift","Shift"]],
|
202 |
+
[[" "," "]]],lang:["ru"]};this.VKI_layout.Schweizerdeutsch={name:"Swiss German",keys:[[["\u00a7","\u00b0"],["1","+","\u00a6"],["2",'"',"@"],["3","*","#"],["4","\u00e7","\u00b0"],["5","%","\u00a7"],["6","&","\u00ac"],["7","/","|"],["8","(","\u00a2"],["9",")"],["0","="],["'","?","\u00b4"],["^","`","~"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00fc","\u00e8","["],["\u00a8","!","]"],["$","\u00a3","}"]],
|
203 |
+
[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f6","\u00e9"],["\u00e4","\u00e0","{"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\\"],["y","Y"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["de-CH"]};this.VKI_layout.Shqip={name:"Albanian",keys:[[["\\","|"],["1","!","~"],["2",'"',"\u02c7"],["3","#","^"],["4","$","\u02d8"],
|
204 |
+
["5","%","\u00b0"],["6","^","\u02db"],["7","&","`"],["8","*","\u02d9"],["9","(","\u00b4"],["0",")","\u02dd"],["-","_","\u00a8"],["=","+","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\\"],["w","W","|"],["e","E"],["r","R"],["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e7","\u00c7","\u00f7"],["[","{","\u00df"],["]","}","\u00a4"]],[["Caps","Caps"],["a","A"],["s","S","\u0111"],["d","D","\u0110"],["f","F","["],["g","G","]"],["h","H"],["j","J"],["k","K","\u0142"],["l","L","\u0141"],
|
205 |
+
["\u00eb","\u00cb","$"],["@","'","\u00d7"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["y","Y"],["x","X"],["c","C"],["v","V","@"],["b","B","{"],["n","N","}"],["m","M","\u00a7"],[",",";","<"],[".",":",">"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["sq"]};this.VKI_layout["Sloven\u010dina"]={name:"Slovak",keys:[[[";","\u00b0"],["+","1","~"],["\u013e","2","\u02c7"],["\u0161","3","^"],["\u010d","4","\u02d8"],["\u0165","5","\u00b0"],["\u017e","6","\u02db"],["\u00fd",
|
206 |
+
"7","`"],["\u00e1","8","\u02d9"],["\u00ed","9","\u00b4"],["\u00e9","0","\u02dd"],["=","%","\u00a8"],["\u00b4","\u02c7","\u00b8"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\\"],["w","W","|"],["e","E","\u20ac"],["r","R"],["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P","'"],["\u00fa","/","\u00f7"],["\u00e4","(","\u00d7"],["\u0148",")","\u00a4"]],[["Caps","Caps"],["a","A"],["s","S","\u0111"],["d","D","\u0110"],["f","F","["],["g","G","]"],["h","H"],["j","J"],["k","K","\u0142"],["l","L","\u0141"],
|
207 |
+
["\u00f4",'"',"$"],["\u00a7","!","\u00df"],["Enter","Enter"]],[["Shift","Shift"],["&","*","<"],["y","Y",">"],["x","X","#"],["c","C","&"],["v","V","@"],["b","B","{"],["n","N","}"],["m","M"],[",","?","<"],[".",":",">"],["-","_","*"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["sk"]};this.VKI_layout["Sloven\u0161\u010dina"]={name:"Slovenian",keys:this.VKI_layout.Bosanski.keys.slice(0),lang:["sl"]};this.VKI_layout["\u0441\u0440\u043f\u0441\u043a\u0438"]={name:"Serbian Cyrillic",keys:[[["`",
|
208 |
+
"~"],["1","!"],["2",'"'],["3","#"],["4","$"],["5","%"],["6","&"],["7","/"],["8","("],["9",")"],["0","="],["'","?"],["+","*"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0459","\u0409"],["\u045a","\u040a"],["\u0435","\u0415","\u20ac"],["\u0440","\u0420"],["\u0442","\u0422"],["\u0437","\u0417"],["\u0443","\u0423"],["\u0438","\u0418"],["\u043e","\u041e"],["\u043f","\u041f"],["\u0448","\u0428"],["\u0452","\u0402"],["\u0436","\u0416"]],[["Caps","Caps"],["\u0430","\u0410"],["\u0441","\u0421"],["\u0434","\u0414"],
|
209 |
+
["\u0444","\u0424"],["\u0433","\u0413"],["\u0445","\u0425"],["\u0458","\u0408"],["\u043a","\u041a"],["\u043b","\u041b"],["\u0447","\u0427"],["\u045b","\u040b"],["Enter","Enter"]],[["Shift","Shift"],["<",">"],["\u0455","\u0405"],["\u045f","\u040f"],["\u0446","\u0426"],["\u0432","\u0412"],["\u0431","\u0411"],["\u043d","\u041d"],["\u043c","\u041c"],[",",";","<"],[".",":",">"],["-","_","\u00a9"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["sr-Cyrl"]};this.VKI_layout.Srpski={name:"Serbian Latin",
|
210 |
+
keys:this.VKI_layout.Bosanski.keys.slice(0),lang:["sr"]};this.VKI_layout.Suomi={name:"Finnish",keys:[[["\u00a7","\u00bd"],["1","!"],["2",'"',"@"],["3","#","\u00a3"],["4","\u00a4","$"],["5","%","\u20ac"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["+","?","\\"],["\u00b4","`"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\u00e2","\u00c2"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T","\u0167","\u0166"],["y","Y"],["u","U"],["i","I","\u00ef","\u00cf"],["o","O","\u00f5","\u00d5"],
|
211 |
+
["p","P"],["\u00e5","\u00c5"],["\u00a8","^","~"],["'","*"]],[["Caps","Caps"],["a","A","\u00e1","\u00c1"],["s","S","\u0161","\u0160"],["d","D","\u0111","\u0110"],["f","F","\u01e5","\u01e4"],["g","G","\u01e7","\u01e6"],["h","H","\u021f","\u021e"],["j","J"],["k","K","\u01e9","\u01e8"],["l","L"],["\u00f6","\u00d6","\u00f8","\u00d8"],["\u00e4","\u00c4","\u00e6","\u00c6"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|"],["z","Z","\u017e","\u017d"],["x","X"],["c","C","\u010d","\u010c"],["v","V","\u01ef",
|
212 |
+
"\u01ee"],["b","B","\u0292","\u01b7"],["n","N","\u014b","\u014a"],["m","M","\u00b5"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[["Alt","Alt"],[" "," "," "," "],["AltGr","AltGr"]]],lang:["fi"]};this.VKI_layout.Svenska={name:"Swedish",keys:[[["\u00a7","\u00bd"],["1","!"],["2",'"',"@"],["3","#","\u00a3"],["4","\u00a4","$"],["5","%","\u20ac"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["+","?","\\"],["\u00b4","`"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e",
|
213 |
+
"E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e5","\u00c5"],["\u00a8","^","~"],["'","*"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00f6","\u00d6"],["\u00e4","\u00c4"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M","\u03bc","\u039c"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],
|
214 |
+
lang:["sv"]};this.VKI_layout["Swiss Fran\u00e7ais"]={name:"Swiss French",keys:[[["\u00a7","\u00b0"],["1","+","\u00a6"],["2",'"',"@"],["3","*","#"],["4","\u00e7","\u00b0"],["5","%","\u00a7"],["6","&","\u00ac"],["7","/","|"],["8","(","\u00a2"],["9",")"],["0","="],["'","?","\u00b4"],["^","`","~"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["z","Z"],["u","U"],["i","I"],["o","O"],["p","P"],["\u00e8","\u00fc","["],["\u00a8","!","]"],["$","\u00a3","}"]],[["Caps",
|
215 |
+
"Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u00e9","\u00f6"],["\u00e0","\u00e4","{"],["Enter","Enter"]],[["Shift","Shift"],["<",">","\\"],["y","Y"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",",";"],[".",":"],["-","_"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["fr-CH"]};this.VKI_layout["\u0723\u0718\u072a\u071d\u071d\u0710"]={name:"Syriac",keys:[[["\u070f","\u032e","\u0651","\u0651"],["1","!","\u0701",
|
216 |
+
"\u0701"],["2","\u030a","\u0702","\u0702"],["3","\u0325","\u0703","\u0703"],["4","\u0749","\u0704","\u0704"],["5","\u2670","\u0705","\u0705"],["6","\u2671","\u0708","\u0708"],["7","\u070a","\u0709","\u0709"],["8","\u00bb","\u070b","\u070b"],["9",")","\u070c","\u070c"],["0","(","\u070d","\u070d"],["-","\u00ab","\u250c","\u250c"],["=","+","\u2510","\u2510"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0714","\u0730","\u064e","\u064e"],["\u0728","\u0733","\u064b","\u064b"],["\u0716","\u0736","\u064f","\u064f"],
|
217 |
+
["\u0729","\u073a","\u064c","\u064c"],["\u0726","\u073d","\u0653","\u0653"],["\u071c","\u0740","\u0654","\u0654"],["\u0725","\u0741","\u0747","\u0747"],["\u0717","\u0308","\u0743","\u0743"],["\u071e","\u0304","\u0745","\u0745"],["\u071a","\u0307","\u032d","\u032d"],["\u0713","\u0303"],["\u0715","\u074a"],["\u0706",":"]],[["Caps","Caps"],["\u072b","\u0731","\u0650","\u0650"],["\u0723","\u0734","\u064d","\u064d"],["\u071d","\u0737"],["\u0712","\u073b","\u0621","\u0621"],["\u0720","\u073e","\u0655",
|
218 |
+
"\u0655"],["\u0710","\u0711","\u0670","\u0670"],["\u072c","\u0640","\u0748","\u0748"],["\u0722","\u0324","\u0744","\u0744"],["\u0721","\u0331","\u0746","\u0746"],["\u071f","\u0323"],["\u071b","\u0330"],["Enter","Enter"]],[["Shift","Shift"],["]","\u0732"],["[","\u0735","\u0652","\u0652"],["\u0724","\u0738"],["\u072a","\u073c","\u200d"],["\u0727","\u073f","\u200c"],["\u0700","\u0739","\u200e"],[".","\u0742","\u200f"],["\u0718","\u060c"],["\u0719","\u061b"],["\u0707","\u061f"],["Shift","Shift"]],[[" ",
|
219 |
+
" "," "," "],["AltGr","AltGr"]]],lang:["syc"]};this.VKI_layout["\u0ba4\u0bae\u0bbf\u0bb4\u0bcd"]={name:"Tamil",keys:[[["\u0bca","\u0b92"],["1","","\u0be7"],["2","","\u0be8"],["3","","\u0be9"],["4","","\u0bea"],["5","","\u0beb"],["6","\u0ba4\u0bcd\u0bb0","\u0bec"],["7","\u0b95\u0bcd\u0bb7","\u0bed"],["8","\u0bb7\u0bcd\u0bb0","\u0bee"],["9","","\u0bef"],["0","","\u0bf0"],["-","\u0b83","\u0bf1"],["","","\u0bf2"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0bcc","\u0b94"],["\u0bc8","\u0b90"],["\u0bbe","\u0b86"],
|
220 |
+
["\u0bc0","\u0b88"],["\u0bc2","\u0b8a"],["\u0baa","\u0baa"],["\u0bb9","\u0b99"],["\u0b95","\u0b95"],["\u0ba4","\u0ba4"],["\u0b9c","\u0b9a"],["\u0b9f","\u0b9f"],["\u0b9e"]],[["Caps","Caps"],["\u0bcb","\u0b93"],["\u0bc7","\u0b8f"],["\u0bcd","\u0b85"],["\u0bbf","\u0b87"],["\u0bc1","\u0b89"],["\u0baa","\u0baa"],["\u0bb0","\u0bb1"],["\u0b95","\u0b95"],["\u0ba4","\u0ba4"],["\u0b9a","\u0b9a"],["\u0b9f","\u0b9f"],["Enter","Enter"]],[["Shift","Shift"],["\u0bc6","\u0b8e"],[""],["\u0bae","\u0ba3"],["\u0ba8",
|
221 |
+
"\u0ba9"],["\u0bb5","\u0bb4"],["\u0bb2","\u0bb3"],["\u0bb8","\u0bb7"],[",","\u0bb7"],[".","\u0bb8\u0bcd\u0bb0\u0bc0"],["\u0baf","\u0baf"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["ta"]};this.VKI_layout["\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41"]={name:"Telugu",keys:[[["\u0c4a","\u0c12"],["1","","\u0c67"],["2","","\u0c68"],["3","\u0c4d\u0c30","\u0c69"],["4","","\u0c6a"],["5","\u0c1c\u0c4d\u0c1e","\u0c6b"],["6","\u0c24\u0c4d\u0c30","\u0c6c"],["7","\u0c15\u0c4d\u0c37","\u0c6d"],["8",
|
222 |
+
"\u0c36\u0c4d\u0c30","\u0c6e"],["9","(","\u0c6f"],["0",")","\u0c66"],["-","\u0c03"],["\u0c43","\u0c0b","\u0c44"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0c4c","\u0c14"],["\u0c48","\u0c10","\u0c56"],["\u0c3e","\u0c06"],["\u0c40","\u0c08","","\u0c61"],["\u0c42","\u0c0a"],["\u0c2c"],["\u0c39","\u0c19"],["\u0c17","\u0c18"],["\u0c26","\u0c27"],["\u0c1c","\u0c1d"],["\u0c21","\u0c22"],["","\u0c1e"]],[["Caps","Caps"],["\u0c4b","\u0c13"],["\u0c47","\u0c0f","\u0c55"],["\u0c4d","\u0c05"],["\u0c3f","\u0c07","","\u0c0c"],
|
223 |
+
["\u0c41","\u0c09"],["\u0c2a","\u0c2b"],["\u0c30","\u0c31"],["\u0c15","\u0c16"],["\u0c24","\u0c25"],["\u0c1a","\u0c1b"],["\u0c1f","\u0c25"],["Enter","Enter"]],[["Shift","Shift"],["\u0c46","\u0c0e"],["\u0c02","\u0c01"],["\u0c2e","\u0c23"],["\u0c28","\u0c28"],["\u0c35"],["\u0c32","\u0c33"],["\u0c38","\u0c36"],[",","\u0c37"],["."],["\u0c2f"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["te"]};this.VKI_layout["Ti\u1ebfng Vi\u1ec7t"]={name:"Vietnamese",keys:[[["`","~","`","~"],["\u0103",
|
224 |
+
"\u0102","1","!"],["\u00e2","\u00c2","2","@"],["\u00ea","\u00ca","3","#"],["\u00f4","\u00d4","4","$"],["\u0300","\u0300","5","%"],["\u0309","\u0309","6","^"],["\u0303","\u0303","7","&"],["\u0301","\u0301","8","*"],["\u0323","\u0323","9","("],["\u0111","\u0110","0",")"],["-","_","-","_"],["\u20ab","+","=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","q","Q"],["w","W","w","W"],["e","E","e","E"],["r","R","r","R"],["t","T","t","T"],["y","Y","y","Y"],["u","U","u","U"],["i","I","i","I"],["o","O","o","O"],
|
225 |
+
["p","P","p","P"],["\u01b0","\u01af","[","{"],["\u01a1","\u01a0","]","}"],["\\","|","\\","|"]],[["Caps","Caps"],["a","A","a","A"],["s","S","s","S"],["d","D","d","D"],["f","F","f","F"],["g","G","g","G"],["h","H","h","H"],["j","J","j","J"],["k","K","k","K"],["l","L","l","L"],[";",":",";",":"],["'",'"',"'",'"'],["Enter","Enter"]],[["Shift","Shift"],["z","Z","z","Z"],["x","X","x","X"],["c","C","c","C"],["v","V","v","V"],["b","B","b","B"],["n","N","n","N"],["m","M","m","M"],[",","<",",","<"],[".",">",
|
226 |
+
".",">"],["/","?","/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["vi"]};this.VKI_layout["\u0e44\u0e17\u0e22 Kedmanee"]={name:"Thai Kedmanee",keys:[[["_","%"],["\u0e45","+"],["/","\u0e51"],["-","\u0e52"],["\u0e20","\u0e53"],["\u0e16","\u0e54"],["\u0e38","\u0e39"],["\u0e36","\u0e3f"],["\u0e04","\u0e55"],["\u0e15","\u0e56"],["\u0e08","\u0e57"],["\u0e02","\u0e58"],["\u0e0a","\u0e59"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0e46","\u0e50"],["\u0e44",'"'],["\u0e33","\u0e0e"],["\u0e1e",
|
227 |
+
"\u0e11"],["\u0e30","\u0e18"],["\u0e31","\u0e4d"],["\u0e35","\u0e4a"],["\u0e23","\u0e13"],["\u0e19","\u0e2f"],["\u0e22","\u0e0d"],["\u0e1a","\u0e10"],["\u0e25",","],["\u0e03","\u0e05"]],[["Caps","Caps"],["\u0e1f","\u0e24"],["\u0e2b","\u0e06"],["\u0e01","\u0e0f"],["\u0e14","\u0e42"],["\u0e40","\u0e0c"],["\u0e49","\u0e47"],["\u0e48","\u0e4b"],["\u0e32","\u0e29"],["\u0e2a","\u0e28"],["\u0e27","\u0e0b"],["\u0e07","."],["Enter","Enter"]],[["Shift","Shift"],["\u0e1c","("],["\u0e1b",")"],["\u0e41","\u0e09"],
|
228 |
+
["\u0e2d","\u0e2e"],["\u0e34","\u0e3a"],["\u0e37","\u0e4c"],["\u0e17","?"],["\u0e21","\u0e12"],["\u0e43","\u0e2c"],["\u0e1d","\u0e26"],["Shift","Shift"]],[[" "," "]]],lang:["th"]};this.VKI_layout["\u0e44\u0e17\u0e22 Pattachote"]={name:"Thai Pattachote",keys:[[["_","\u0e3f"],["=","+"],["\u0e52",'"'],["\u0e53","/"],["\u0e54",","],["\u0e55","?"],["\u0e39","\u0e38"],["\u0e57","_"],["\u0e58","."],["\u0e59","("],["\u0e50",")"],["\u0e51","-"],["\u0e56","%"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0e47","\u0e4a"],
|
229 |
+
["\u0e15","\u0e24"],["\u0e22","\u0e46"],["\u0e2d","\u0e0d"],["\u0e23","\u0e29"],["\u0e48","\u0e36"],["\u0e14","\u0e1d"],["\u0e21","\u0e0b"],["\u0e27","\u0e16"],["\u0e41","\u0e12"],["\u0e43","\u0e2f"],["\u0e0c","\u0e26"],["\uf8c7","\u0e4d"]],[["Caps","Caps"],["\u0e49","\u0e4b"],["\u0e17","\u0e18"],["\u0e07","\u0e33"],["\u0e01","\u0e13"],["\u0e31","\u0e4c"],["\u0e35","\u0e37"],["\u0e32","\u0e1c"],["\u0e19","\u0e0a"],["\u0e40","\u0e42"],["\u0e44","\u0e06"],["\u0e02","\u0e11"],["Enter","Enter"]],[["Shift",
|
230 |
+
"Shift"],["\u0e1a","\u0e0e"],["\u0e1b","\u0e0f"],["\u0e25","\u0e10"],["\u0e2b","\u0e20"],["\u0e34","\u0e31"],["\u0e04","\u0e28"],["\u0e2a","\u0e2e"],["\u0e30","\u0e1f"],["\u0e08","\u0e09"],["\u0e1e","\u0e2c"],["Shift","Shift"]],[[" "," "]]]};this.VKI_layout["\u0422\u0430\u0442\u0430\u0440\u0447\u0430"]={name:"Tatar",keys:[[["\u04bb","\u04ba","\u0451","\u0401"],["1","!"],["2",'"',"@"],["3","\u2116","#"],["4",";","$"],["5","%"],["6",":"],["7","?","["],["8","*","]"],["9","(","{"],["0",")","}"],["-",
|
231 |
+
"_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u04e9","\u04e8","\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u04d9","\u04d8","\u0449","\u0429"],["\u0437","\u0417"],["\u0445","\u0425"],["\u04af","\u04ae","\u044a","\u042a"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u044b","\u042b"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],
|
232 |
+
["\u043b","\u041b"],["\u0434","\u0414"],["\u04a3","\u04a2","\u0436","\u0416"],["\u044d","\u042d","'"],["Enter","Enter"]],[["Shift","Shift"],["\u0491","\u0490"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u0497","\u0496","\u044c","\u042c"],["\u0431","\u0411","<"],["\u044e","\u042e",">"],[".",","],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["tt"]};this.VKI_layout["T\u00fcrk\u00e7e F"]={name:"Turkish F",
|
233 |
+
keys:[[["+","*","\u00ac"],["1","!","\u00b9","\u00a1"],["2",'"',"\u00b2"],["3","^","#","\u00b3"],["4","$","\u00bc","\u00a4"],["5","%","\u00bd"],["6","&","\u00be"],["7","'","{"],["8","(","["],["9",")","]"],["0","=","}"],["/","?","\\","\u00bf"],["-","_","|"],["Bksp","Bksp"]],[["Tab","Tab"],["f","F","@"],["g","G"],["\u011f","\u011e"],["\u0131","I","\u00b6","\u00ae"],["o","O"],["d","D","\u00a5"],["r","R"],["n","N"],["h","H","\u00f8","\u00d8"],["p","P","\u00a3"],["q","Q","\u00a8"],["w","W","~"],["x","X",
|
234 |
+
"`"]],[["Caps","Caps"],["u","U","\u00e6","\u00c6"],["i","\u0130","\u00df","\u00a7"],["e","E","\u20ac"],["a","A"," ","\u00aa"],["\u00fc","\u00dc"],["t","T"],["k","K"],["m","M"],["l","L"],["y","Y","\u00b4"],["\u015f","\u015e"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|","\u00a6"],["j","J","\u00ab","<"],["\u00f6","\u00d6","\u00bb",">"],["v","V","\u00a2","\u00a9"],["c","C"],["\u00e7","\u00c7"],["z","Z"],["s","S","\u00b5","\u00ba"],["b","B","\u00d7"],[".",":","\u00f7"],[",",";","-"],["Shift","Shift"]],
|
235 |
+
[[" "," "," "," "],["AltGr","AltGr"]]]};this.VKI_layout["T\u00fcrk\u00e7e Q"]={name:"Turkish Q",keys:[[['"',"\u00e9","<"],["1","!",">"],["2","'","\u00a3"],["3","^","#"],["4","+","$"],["5","%","\u00bd"],["6","&"],["7","/","{"],["8","(","["],["9",")","]"],["0","=","}"],["*","?","\\"],["-","_","|"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","@"],["w","W"],["e","E","\u20ac"],["r","R"],["t","T"],["y","Y"],["u","U"],["\u0131","I","i","\u0130"],["o","O"],["p","P"],["\u011f","\u011e","\u00a8"],["\u00fc","\u00dc",
|
236 |
+
"~"],[",",";","`"]],[["Caps","Caps"],["a","A","\u00e6","\u00c6"],["s","S","\u00df"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],["\u015f","\u015e","\u00b4"],["i","\u0130"],["Enter","Enter"]],[["Shift","Shift"],["<",">","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],["\u00f6","\u00d6"],["\u00e7","\u00c7"],[".",":"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["tr"]};this.VKI_layout["\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430"]=
|
237 |
+
{name:"Ukrainian",keys:[[["\u00b4","~"],["1","!"],["2",'"'],["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d","\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u0449","\u0429"],["\u0437","\u0417"],["\u0445","\u0425"],["\u0457","\u0407"],["\u0491","\u0490"]],[["Caps","Caps"],["\u0444","\u0424"],["\u0456",
|
238 |
+
"\u0406"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u0454","\u0404"],["Enter","Enter"]],[["Shift","Shift"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438","\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],[".",","],["Shift","Shift"]],[[" "," "]]],lang:["uk"]};this.VKI_layout["United Kingdom"]={name:"United Kingdom",
|
239 |
+
keys:[[["`","\u00ac","\u00a6"],["1","!"],["2",'"'],["3","\u00a3"],["4","$","\u20ac"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E","\u00e9","\u00c9"],["r","R"],["t","T"],["y","Y"],["u","U","\u00fa","\u00da"],["i","I","\u00ed","\u00cd"],["o","O","\u00f3","\u00d3"],["p","P"],["[","{"],["]","}"],["#","~"]],[["Caps","Caps"],["a","A","\u00e1","\u00c1"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],
|
240 |
+
["k","K"],["l","L"],[";",":"],["'","@"],["Enter","Enter"]],[["Shift","Shift"],["\\","|"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "," "," "],["AltGr","AltGr"]]],lang:["en-gb"]};this.VKI_layout["\u0627\u0631\u062f\u0648"]={name:"Urdu",keys:[[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","\u066a"],["6","^"],["7","\u06d6"],["8","\u066d"],["9",")"],["0","("],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],
|
241 |
+
["\u0637","\u0638"],["\u0635","\u0636"],["\u06be","\u0630"],["\u062f","\u0688"],["\u0679","\u062b"],["\u067e","\u0651"],["\u062a","\u06c3"],["\u0628","\u0640"],["\u062c","\u0686"],["\u062d","\u062e"],["]","}"],["[","{"],["\\","|"]],[["Caps","Caps"],["\u0645","\u0698"],["\u0648","\u0632"],["\u0631","\u0691"],["\u0646","\u06ba"],["\u0644","\u06c2"],["\u06c1","\u0621"],["\u0627","\u0622"],["\u06a9","\u06af"],["\u06cc","\u064a"],["\u061b",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u0642",
|
242 |
+
"\u200d"],["\u0641","\u200c"],["\u06d2","\u06d3"],["\u0633","\u200e"],["\u0634","\u0624"],["\u063a","\u0626"],["\u0639","\u200f"],["\u060c",">"],["\u06d4","<"],["/","\u061f"],["Shift","Shift"]],[[" "," "]]],lang:["ur"]};this.VKI_layout["US Standard"]={name:"US Standard",keys:[[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u",
|
243 |
+
"U"],["i","I"],["o","O"],["p","P"],["[","{"],["]","}"],["\\","|"]],[["Caps","Caps"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "]]],lang:["en-us"]};this.VKI_layout["US International"]={name:"US International",keys:[[["`","~"],["1","!","\u00a1","\u00b9"],["2","@","\u00b2"],
|
244 |
+
["3","#","\u00b3"],["4","$","\u00a4","\u00a3"],["5","%","\u20ac"],["6","^","\u00bc"],["7","&","\u00bd"],["8","*","\u00be"],["9","(","\u2018"],["0",")","\u2019"],["-","_","\u00a5"],["=","+","\u00d7","\u00f7"],["Bksp","Bksp"]],[["Tab","Tab"],["q","Q","\u00e4","\u00c4"],["w","W","\u00e5","\u00c5"],["e","E","\u00e9","\u00c9"],["r","R","\u00ae"],["t","T","\u00fe","\u00de"],["y","Y","\u00fc","\u00dc"],["u","U","\u00fa","\u00da"],["i","I","\u00ed","\u00cd"],["o","O","\u00f3","\u00d3"],["p","P","\u00f6",
|
245 |
+
"\u00d6"],["[","{","\u00ab"],["]","}","\u00bb"],["\\","|","\u00ac","\u00a6"]],[["Caps","Caps"],["a","A","\u00e1","\u00c1"],["s","S","\u00df","\u00a7"],["d","D","\u00f0","\u00d0"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L","\u00f8","\u00d8"],[";",":","\u00b6","\u00b0"],["'",'"',"\u00b4","\u00a8"],["Enter","Enter"]],[["Shift","Shift"],["z","Z","\u00e6","\u00c6"],["x","X"],["c","C","\u00a9","\u00a2"],["v","V"],["b","B"],["n","N","\u00f1","\u00d1"],["m","M","\u00b5"],[",","<","\u00e7",
|
246 |
+
"\u00c7"],[".",">"],["/","?","\u00bf"],["Shift","Shift"]],[[" "," "," "," "],["Alt","Alt"]]],lang:["en"]};this.VKI_layout["\u040e\u0437\u0431\u0435\u043a\u0447\u0430"]={name:"Uzbek Cyrillic",keys:[[["\u0451","\u0401"],["1","!"],["2",'"'],["3","\u2116"],["4",";"],["5","%"],["6",":"],["7","?"],["8","*"],["9","("],["0",")"],["\u0493","\u0492"],["\u04b3","\u04b2"],["Bksp","Bksp"]],[["Tab","Tab"],["\u0439","\u0419"],["\u0446","\u0426"],["\u0443","\u0423"],["\u043a","\u041a"],["\u0435","\u0415"],["\u043d",
|
247 |
+
"\u041d"],["\u0433","\u0413"],["\u0448","\u0428"],["\u045e","\u040e"],["\u0437","\u0417"],["\u0445","\u0425"],["\u044a","\u042a"],["\\","/"]],[["Caps","Caps"],["\u0444","\u0424"],["\u049b","\u049a"],["\u0432","\u0412"],["\u0430","\u0410"],["\u043f","\u041f"],["\u0440","\u0420"],["\u043e","\u041e"],["\u043b","\u041b"],["\u0434","\u0414"],["\u0436","\u0416"],["\u044d","\u042d"],["Enter","Enter"]],[["Shift","Shift"],["\u044f","\u042f"],["\u0447","\u0427"],["\u0441","\u0421"],["\u043c","\u041c"],["\u0438",
|
248 |
+
"\u0418"],["\u0442","\u0422"],["\u044c","\u042c"],["\u0431","\u0411"],["\u044e","\u042e"],[".",","],["Shift","Shift"]],[[" "," "]]],lang:["uz"]};this.VKI_layout["\u4e2d\u6587\u6ce8\u97f3\u7b26\u53f7"]={name:"Chinese Bopomofo IME",keys:[[["\u20ac","~"],["\u3105","!"],["\u3109","@"],["\u02c7","#"],["\u02cb","$"],["\u3113","%"],["\u02ca","^"],["\u02d9","&"],["\u311a","*"],["\u311e",")"],["\u3122","("],["\u3126","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u3106","q"],["\u310a","w"],["\u310d","e"],
|
249 |
+
["\u3110","r"],["\u3114","t"],["\u3117","y"],["\u3127","u"],["\u311b","i"],["\u311f","o"],["\u3123","p"],["[","{"],["]","}"],["\\","|"]],[["Caps","Caps"],["\u3107","a"],["\u310b","s"],["\u310e","d"],["\u3111","f"],["\u3115","g"],["\u3118","h"],["\u3128","j"],["\u311c","k"],["\u3120","l"],["\u3124",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\u3108","z"],["\u310c","x"],["\u310f","c"],["\u3112","v"],["\u3116","b"],["\u3119","n"],["\u3129","m"],["\u311d","<"],["\u3121",">"],["\u3125","?"],
|
250 |
+
["Shift","Shift"]],[[" "," "]]],lang:["zh-Bopo"]};this.VKI_layout["\u4e2d\u6587\u4ed3\u9889\u8f93\u5165\u6cd5"]={name:"Chinese Cangjie IME",keys:[[["\u20ac","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9",")"],["0","("],["-","_"],["=","+"],["Bksp","Bksp"]],[["Tab","Tab"],["\u624b","q"],["\u7530","w"],["\u6c34","e"],["\u53e3","r"],["\u5eff","t"],["\u535c","y"],["\u5c71","u"],["\u6208","i"],["\u4eba","o"],["\u5fc3","p"],["[","{"],["]","}"],["\\","|"]],[["Caps",
|
251 |
+
"Caps"],["\u65e5","a"],["\u5c38","s"],["\u6728","d"],["\u706b","f"],["\u571f","g"],["\u7af9","h"],["\u5341","j"],["\u5927","k"],["\u4e2d","l"],[";",":"],["'",'"'],["Enter","Enter"]],[["Shift","Shift"],["\uff3a","z"],["\u96e3","x"],["\u91d1","c"],["\u5973","v"],["\u6708","b"],["\u5f13","n"],["\u4e00","m"],[",","<"],[".",">"],["/","?"],["Shift","Shift"]],[[" "," "]]],lang:["zh"]};this.VKI_deadkey={};this.VKI_deadkey['"']=this.VKI_deadkey["\u00a8"]=this.VKI_deadkey["\u309b"]={a:"\u00e4",e:"\u00eb",i:"\u00ef",
|
252 |
+
o:"\u00f6",u:"\u00fc",y:"\u00ff","\u03b9":"\u03ca","\u03c5":"\u03cb","\u016b":"\u01d6","\u00fa":"\u01d8","\u01d4":"\u01da","\u00f9":"\u01dc",A:"\u00c4",E:"\u00cb",I:"\u00cf",O:"\u00d6",U:"\u00dc",Y:"\u0178","\u0399":"\u03aa","\u03a5":"\u03ab","\u016a":"\u01d5","\u00da":"\u01d7","\u01d3":"\u01d9","\u00d9":"\u01db","\u304b":"\u304c","\u304d":"\u304e","\u304f":"\u3050","\u3051":"\u3052","\u3053":"\u3054","\u305f":"\u3060","\u3061":"\u3062","\u3064":"\u3065","\u3066":"\u3067","\u3068":"\u3069","\u3055":"\u3056",
|
253 |
+
"\u3057":"\u3058","\u3059":"\u305a","\u305b":"\u305c","\u305d":"\u305e","\u306f":"\u3070","\u3072":"\u3073","\u3075":"\u3076","\u3078":"\u3079","\u307b":"\u307c","\u30ab":"\u30ac","\u30ad":"\u30ae","\u30af":"\u30b0","\u30b1":"\u30b2","\u30b3":"\u30b4","\u30bf":"\u30c0","\u30c1":"\u30c2","\u30c4":"\u30c5","\u30c6":"\u30c7","\u30c8":"\u30c9","\u30b5":"\u30b6","\u30b7":"\u30b8","\u30b9":"\u30ba","\u30bb":"\u30bc","\u30bd":"\u30be","\u30cf":"\u30d0","\u30d2":"\u30d3","\u30d5":"\u30d6","\u30d8":"\u30d9",
|
254 |
+
"\u30db":"\u30dc"};this.VKI_deadkey["~"]={a:"\u00e3",l:"\u0142",n:"\u00f1",o:"\u00f5",A:"\u00c3",L:"\u0141",N:"\u00d1",O:"\u00d5"};this.VKI_deadkey["^"]={a:"\u00e2",e:"\u00ea",i:"\u00ee",o:"\u00f4",u:"\u00fb",w:"\u0175",y:"\u0177",A:"\u00c2",E:"\u00ca",I:"\u00ce",O:"\u00d4",U:"\u00db",W:"\u0174",Y:"\u0176"};this.VKI_deadkey["\u02c7"]={c:"\u010d",d:"\u010f",e:"\u011b",s:"\u0161",l:"\u013e",n:"\u0148",r:"\u0159",t:"\u0165",u:"\u01d4",z:"\u017e","\u00fc":"\u01da",C:"\u010c",D:"\u010e",E:"\u011a",S:"\u0160",
|
255 |
+
L:"\u013d",N:"\u0147",R:"\u0158",T:"\u0164",U:"\u01d3",Z:"\u017d","\u00dc":"\u01d9"};this.VKI_deadkey["\u02d8"]={a:"\u0103",g:"\u011f",A:"\u0102",G:"\u011e"};this.VKI_deadkey["-"]=this.VKI_deadkey["\u00af"]={a:"\u0101",e:"\u0113",i:"\u012b",o:"\u014d",u:"\u016b",y:"\u0233","\u00fc":"\u01d6",A:"\u0100",E:"\u0112",I:"\u012a",O:"\u014c",U:"\u016a",Y:"\u0232","\u00dc":"\u01d5"};this.VKI_deadkey["`"]={a:"\u00e0",e:"\u00e8",i:"\u00ec",o:"\u00f2",u:"\u00f9","\u00fc":"\u01dc",A:"\u00c0",E:"\u00c8",I:"\u00cc",
|
256 |
+
O:"\u00d2",U:"\u00d9","\u00dc":"\u01db"};this.VKI_deadkey["'"]=this.VKI_deadkey["\u00b4"]=this.VKI_deadkey["\u0384"]={a:"\u00e1",e:"\u00e9",i:"\u00ed",o:"\u00f3",u:"\u00fa",y:"\u00fd","\u03b1":"\u03ac","\u03b5":"\u03ad","\u03b7":"\u03ae","\u03b9":"\u03af","\u03bf":"\u03cc","\u03c5":"\u03cd","\u03c9":"\u03ce","\u00fc":"\u01d8",A:"\u00c1",E:"\u00c9",I:"\u00cd",O:"\u00d3",U:"\u00da",Y:"\u00dd","\u0391":"\u0386","\u0395":"\u0388","\u0397":"\u0389","\u0399":"\u038a","\u039f":"\u038c","\u03a5":"\u038e",
|
257 |
+
"\u03a9":"\u038f","\u00dc":"\u01d7"};this.VKI_deadkey["\u02dd"]={o:"\u0151",u:"\u0171",O:"\u0150",U:"\u0170"};this.VKI_deadkey["\u0385"]={"\u03b9":"\u0390","\u03c5":"\u03b0"};this.VKI_deadkey["\u00b0"]=this.VKI_deadkey["\u00ba"]={a:"\u00e5",u:"\u016f",A:"\u00c5",U:"\u016e"};this.VKI_deadkey["\u02db"]={a:"\u0106",e:"\u0119",i:"\u012f",o:"\u01eb",u:"\u0173",y:"\u0177",A:"\u0105",E:"\u0118",I:"\u012e",O:"\u01ea",U:"\u0172",Y:"\u0176"};this.VKI_deadkey["\u02d9"]={c:"\u010b",e:"\u0117",g:"\u0121",z:"\u017c",
|
258 |
+
C:"\u010a",E:"\u0116",G:"\u0120",Z:"\u017b"};this.VKI_deadkey["\u00b8"]=this.VKI_deadkey["\u201a"]={c:"\u00e7",s:"\u015f",C:"\u00c7",S:"\u015e"};this.VKI_deadkey[","]={s:this.VKI_isIElt8?"\u015f":"\u0219",t:this.VKI_isIElt8?"\u0163":"\u021b",S:this.VKI_isIElt8?"\u015e":"\u0218",T:this.VKI_isIElt8?"\u0162":"\u021a"};this.VKI_deadkey["\u3002"]={"\u306f":"\u3071","\u3072":"\u3074","\u3075":"\u3077","\u3078":"\u307a","\u307b":"\u307d","\u30cf":"\u30d1","\u30d2":"\u30d4","\u30d5":"\u30d7","\u30d8":"\u30da",
|
259 |
+
"\u30db":"\u30dd"};this.VKI_symbol={"\u00a0":"NB\nSP","\u200b":"ZW\nSP","\u200c":"ZW\nNJ","\u200d":"ZW\nJ"};this.VKI_numpad=[[["$"],["\u00a3"],["\u20ac"],["\u00a5"]],[["7"],["8"],["9"],["/"]],[["4"],["5"],["6"],["*"]],[["1"],["2"],["3"],["-"]],[["0"],["."],["="],["+"]]];this.VKI_attachKeyboard=VKI_attach=function(b){if(b.getAttribute("VKI_attached"))return false;if(this.VKI_imageURI){var c=document.createElement("img");c.src=this.VKI_imageURI;c.alt=this.VKI_i18n["00"];c.className="keyboardInputInitiator";
|
260 |
+
c.title=this.VKI_i18n["01"];c.elem=b;c.onclick=function(d){d=d||event;if(d.stopPropagation)d.stopPropagation();else d.cancelBubble=true;a.VKI_show(this.elem)};b.parentNode.insertBefore(c,b.dir=="rtl"?b:b.nextSibling)}else b.onfocus=function(){a.VKI_target!=this&&a.VKI_show(this)};b.setAttribute("VKI_attached","true");if(this.VKI_isIE)b.onclick=b.onselect=b.onkeyup=function(d){if((d||event).type!="keyup"||!this.readOnly)this.range=document.selection.createRange()};g(b,"click",function(d){if(a.VKI_target==
|
261 |
+
this){d=d||event;if(d.stopPropagation)d.stopPropagation();else d.cancelBubble=true}return false},false);this.VKI_isMoz&&b.addEventListener("blur",function(){this.setAttribute("_scrollTop",this.scrollTop)},false)};this.VKI_keyboard=document.createElement("table");this.VKI_keyboard.id="keyboardInputMaster";this.VKI_keyboard.dir="ltr";this.VKI_keyboard.cellSpacing="0";this.VKI_keyboard.reflow=function(){this.style.width="50px";this.style.width=""};g(this.VKI_keyboard,"click",function(b){b=b||event;if(b.stopPropagation)b.stopPropagation();
|
262 |
+
else b.cancelBubble=true;return false},false);if(!this.VKI_layout[this.VKI_kt])return alert('No keyboard named "'+this.VKI_kt+'"');this.VKI_langCode={};var x=document.createElement("thead"),v=document.createElement("tr"),n=document.createElement("th");n.colSpan="2";var r=document.createElement("div");r.title=this.VKI_i18n["02"];g(r,"click",function(){var b=this.getElementsByTagName("ol")[0];if(b.style.display)b.style.display="";else{b.style.display="block";for(var c=b.getElementsByTagName("li"),d=
|
263 |
+
0,i=0;d<c.length;d++)if(VKI_kt==c[d].firstChild.nodeValue){c[d].className="selected";i=c[d].offsetTop-c[d].offsetHeight*2}else c[d].className="";setTimeout(function(){b.scrollTop=i},0)}},false);r.appendChild(document.createTextNode(this.VKI_kt));r.appendChild(document.createTextNode(this.VKI_isIElt8?" \u2193":" \u25be"));var p=document.createElement("ol");for(ktype in this.VKI_layout)if(typeof this.VKI_layout[ktype]=="object"){if(!this.VKI_layout[ktype].lang)this.VKI_layout[ktype].lang=[];for(var f=
|
264 |
+
0;f<this.VKI_layout[ktype].lang.length;f++)this.VKI_langCode[this.VKI_layout[ktype].lang[f].toLowerCase().replace(/-/g,"_")]=ktype;f=document.createElement("li");f.title=this.VKI_layout[ktype].name;g(f,"click",function(b){b=b||event;if(b.stopPropagation)b.stopPropagation();else b.cancelBubble=true;this.parentNode.style.display="";a.VKI_kts=a.VKI_kt=r.firstChild.nodeValue=this.firstChild.nodeValue;a.VKI_buildKeys();a.VKI_position(true)},false);u(f);f.appendChild(document.createTextNode(ktype));p.appendChild(f)}r.appendChild(p);
|
265 |
+
n.appendChild(r);this.VKI_langCode.index=[];for(prop in this.VKI_langCode)prop!="index"&&typeof this.VKI_langCode[prop]=="string"&&this.VKI_langCode.index.push(prop);this.VKI_langCode.index.sort();this.VKI_langCode.index.reverse();if(this.VKI_numberPad){f=document.createElement("span");f.appendChild(document.createTextNode("#"));f.title=this.VKI_i18n["00"];g(f,"click",function(){w.style.display=!w.style.display?"none":"";a.VKI_position(true)},false);u(f);n.appendChild(f)}this.VKI_kbsize=function(){a.VKI_size=
|
266 |
+
Math.min(5,Math.max(1,a.VKI_size));a.VKI_keyboard.className=a.VKI_keyboard.className.replace(/ ?keyboardInputSize\d ?/,"");if(a.VKI_size!=2)a.VKI_keyboard.className+=" keyboardInputSize"+a.VKI_size;a.VKI_position(true);a.VKI_isOpera&&a.VKI_keyboard.reflow()};if(this.VKI_sizeAdj){f=document.createElement("small");f.title=this.VKI_i18n["10"];g(f,"click",function(){--a.VKI_size;a.VKI_kbsize()},false);u(f);f.appendChild(document.createTextNode(this.VKI_isIElt8?"\u2193":"\u21d3"));n.appendChild(f);f=document.createElement("big");
|
267 |
+
f.title=this.VKI_i18n["11"];g(f,"click",function(){++a.VKI_size;a.VKI_kbsize()},false);u(f);f.appendChild(document.createTextNode(this.VKI_isIElt8?"\u2191":"\u21d1"));n.appendChild(f)}f=document.createElement("strong");f.appendChild(document.createTextNode("X"));f.title=this.VKI_i18n["06"];g(f,"click",function(){a.VKI_close()},false);u(f);n.appendChild(f);v.appendChild(n);x.appendChild(v);this.VKI_keyboard.appendChild(x);x=document.createElement("tbody");v=document.createElement("tr");f=document.createElement("td");
|
268 |
+
n=document.createElement("div");if(this.VKI_deadBox){p=document.createElement("label");var s=document.createElement("input");s.type="checkbox";s.title=this.VKI_i18n["03"]+": "+(this.VKI_deadkeysOn?this.VKI_i18n["04"]:this.VKI_i18n["05"]);s.defaultChecked=this.VKI_deadkeysOn;g(s,"click",function(){this.title=a.VKI_i18n["03"]+": "+(this.checked?a.VKI_i18n["04"]:a.VKI_i18n["05"]);a.VKI_modify("");return true},false);p.appendChild(s);s.checked=this.VKI_deadkeysOn;n.appendChild(p);this.VKI_deadkeysOn=
|
269 |
+
s}else this.VKI_deadkeysOn.checked=this.VKI_deadkeysOn;if(this.VKI_showVersion){p=document.createElement("var");p.title=this.VKI_i18n["09"]+" "+this.VKI_version;p.appendChild(document.createTextNode("v"+this.VKI_version));n.appendChild(p)}f.appendChild(n);v.appendChild(f);var w=document.createElement("td");w.id="keyboardInputNumpad";if(!this.VKI_numberPadOn)w.style.display="none";n=document.createElement("table");n.cellSpacing="0";p=document.createElement("tbody");for(f=0;f<this.VKI_numpad.length;f++){s=
|
270 |
+
document.createElement("tr");for(var B=0;B<this.VKI_numpad[f].length;B++){var y=document.createElement("td");g(y,"click",D,false);u(y);y.appendChild(document.createTextNode(this.VKI_numpad[f][B]));s.appendChild(y)}p.appendChild(s)}n.appendChild(p);w.appendChild(n);v.appendChild(w);x.appendChild(v);this.VKI_keyboard.appendChild(x);if(this.VKI_isIE6){this.VKI_iframe=document.createElement("iframe");this.VKI_iframe.style.position="absolute";this.VKI_iframe.style.border="0px none";this.VKI_iframe.style.filter=
|
271 |
+
"mask()";this.VKI_iframe.style.zIndex="999999";this.VKI_iframe.src=this.VKI_imageURI}this.VKI_buildKeys=function(){this.VKI_shift=this.VKI_shiftlock=this.VKI_altgr=this.VKI_altgrlock=this.VKI_dead=false;for(var b=this.VKI_keyboard.tBodies[0].getElementsByTagName("div")[0],c=b.getElementsByTagName("table"),d=c.length-1;d>=0;d--)b.removeChild(c[d]);d=0;c=false;for(var i;i=this.VKI_layout[this.VKI_kt].keys[d++];){var e=document.createElement("table");e.cellSpacing="0";if(i.length<=this.VKI_keyCenter)e.className=
|
272 |
+
"keyboardInputCenter";for(var l=document.createElement("tbody"),j=document.createElement("tr"),m=0,h;h=i[m++];){var k=document.createElement("td");if(this.VKI_symbol[h[0]]){var q=this.VKI_symbol[h[0]].split("\n"),z=document.createElement("small");z.setAttribute("char",h[0]);for(var t=0;t<q.length;t++){t&&z.appendChild(document.createElement("br"));z.appendChild(document.createTextNode(q[t]))}k.appendChild(z)}else k.appendChild(document.createTextNode(h[0]||"\u00a0"));q=[];if(this.VKI_deadkeysOn.checked)for(key in this.VKI_deadkey)if(key===
|
273 |
+
h[0]){q.push("deadkey");break}i.length>this.VKI_keyCenter&&m==i.length&&q.push("last");if(h[0]==" "||h[1]==" ")q.push("space");k.className=q.join(" ");switch(h[1]){case "Caps":case "Shift":case "Alt":case "AltGr":case "AltLk":g(k,"click",function(o){return function(){a.VKI_modify(o);return false}}(h[1]),false);break;case "Tab":g(k,"click",function(){a.VKI_insert("\t");return false},false);break;case "Bksp":g(k,"click",function(){a.VKI_target.focus();if(a.VKI_target.setSelectionRange&&!a.VKI_target.readOnly){var o=
|
274 |
+
[a.VKI_target.selectionStart,a.VKI_target.selectionEnd];o[0]<o[1]&&o[0]++;a.VKI_target.value=a.VKI_target.value.substr(0,o[0]-1)+a.VKI_target.value.substr(o[1]);a.VKI_target.setSelectionRange(o[0]-1,o[0]-1)}else if(a.VKI_target.createTextRange&&!a.VKI_target.readOnly){try{a.VKI_target.range.select()}catch(C){a.VKI_target.range=document.selection.createRange()}a.VKI_target.range.text.length||a.VKI_target.range.moveStart("character",-1);a.VKI_target.range.text=""}else a.VKI_target.value=a.VKI_target.value.substr(0,
|
275 |
+
a.VKI_target.value.length-1);jQuery(a.VKI_target).keyup();a.VKI_shift&&a.VKI_modify("Shift");a.VKI_altgr&&a.VKI_modify("AltGr");a.VKI_target.focus();return true},false);break;case "Enter":g(k,"click",function(){if(a.VKI_target.nodeName!="TEXTAREA"){if(a.VKI_target.form){for(var o=0,C=false;o<a.VKI_target.form.elements.length;o++)if(a.VKI_target.form.elements[o].type=="submit")C=true;C||a.VKI_target.form.submit()}a.VKI_close()}else a.VKI_insert("\n");return true},false);break;default:g(k,"click",D,
|
276 |
+
false)}u(k);j.appendChild(k);for(t=0;t<4;t++)if(this.VKI_deadkey[h[t]=h[t]||""])c=true}l.appendChild(j);e.appendChild(l);b.appendChild(e)}if(this.VKI_deadBox)this.VKI_deadkeysOn.style.display=c?"inline":"none";if(this.VKI_isIE6){this.VKI_iframe.style.width=this.VKI_keyboard.offsetWidth+"px";this.VKI_iframe.style.height=this.VKI_keyboard.offsetHeight+"px"}};this.VKI_buildKeys();g(this.VKI_keyboard,"selectstart",function(){return false},false);this.VKI_keyboard.unselectable="on";this.VKI_isOpera&&g(this.VKI_keyboard,
|
277 |
+
"mousedown",function(){return false},false);this.VKI_modify=function(b){switch(b){case "Alt":case "AltGr":this.VKI_altgr=!this.VKI_altgr;break;case "AltLk":this.VKI_altgr=0;this.VKI_altgrlock=!this.VKI_altgrlock;break;case "Caps":this.VKI_shift=0;this.VKI_shiftlock=!this.VKI_shiftlock;break;case "Shift":this.VKI_shift=!this.VKI_shift}var c=0;if(!this.VKI_shift!=!this.VKI_shiftlock)c+=1;if(!this.VKI_altgr!=!this.VKI_altgrlock)c+=2;for(var d=this.VKI_keyboard.tBodies[0].getElementsByTagName("div")[0].getElementsByTagName("table"),
|
278 |
+
i=0;i<d.length;i++)for(var e=d[i].getElementsByTagName("td"),l=0;l<e.length;l++){var j=[],m=this.VKI_layout[this.VKI_kt].keys[i][l];switch(m[1]){case "Alt":case "AltGr":this.VKI_altgr&&j.push("pressed");break;case "AltLk":this.VKI_altgrlock&&j.push("pressed");break;case "Shift":this.VKI_shift&&j.push("pressed");break;case "Caps":this.VKI_shiftlock&&j.push("pressed");break;case "Tab":case "Enter":case "Bksp":break;default:if(b){e[l].removeChild(e[l].firstChild);if(this.VKI_symbol[m[c]]){var h=this.VKI_symbol[m[c]].split("\n"),
|
279 |
+
k=document.createElement("small");k.setAttribute("char",m[c]);for(var q=0;q<h.length;q++){q&&k.appendChild(document.createElement("br"));k.appendChild(document.createTextNode(h[q]))}e[l].appendChild(k)}else e[l].appendChild(document.createTextNode(m[c]||"\u00a0"))}if(this.VKI_deadkeysOn.checked){h=e[l].firstChild.nodeValue||e[l].firstChild.className;if(this.VKI_dead){h==this.VKI_dead&&j.push("pressed");this.VKI_deadkey[this.VKI_dead][h]&&j.push("target")}this.VKI_deadkey[h]&&j.push("deadkey")}}l==
|
280 |
+
e.length-1&&e.length>this.VKI_keyCenter&&j.push("last");if(m[0]==" "||m[1]==" ")j.push("space");e[l].className=j.join(" ")}};this.VKI_insert=function(b){this.VKI_target.focus();if(this.VKI_target.maxLength)this.VKI_target.maxlength=this.VKI_target.maxLength;if(typeof this.VKI_target.maxlength=="undefined"||this.VKI_target.maxlength<0||this.VKI_target.value.length<this.VKI_target.maxlength){if(this.VKI_target.setSelectionRange&&!this.VKI_target.readOnly){var c=[this.VKI_target.selectionStart,this.VKI_target.selectionEnd];
|
281 |
+
this.VKI_target.value=this.VKI_target.value.substr(0,c[0])+b+this.VKI_target.value.substr(c[1]);b=="\n"&&this.VKI_isOpera&&c[0]++;this.VKI_target.setSelectionRange(c[0]+b.length,c[0]+b.length)}else if(this.VKI_target.createTextRange&&!this.VKI_target.readOnly){try{this.VKI_target.range.select()}catch(d){this.VKI_target.range=document.selection.createRange()}this.VKI_target.range.text=b;this.VKI_target.range.collapse(true);this.VKI_target.range.select()}else this.VKI_target.value+=b;this.VKI_shift&&
|
282 |
+
this.VKI_modify("Shift");this.VKI_altgr&&this.VKI_modify("AltGr");this.VKI_target.focus();jQuery(this.VKI_target).keyup()}else this.VKI_target.createTextRange&&this.VKI_target.range&&this.VKI_target.range.select()};this.VKI_show=function(b){if(this.VKI_target)this.VKI_close();else{this.VKI_target=b;if(this.VKI_langAdapt&&this.VKI_target.lang){b=false;var c=this.VKI_target.lang.toLowerCase().replace(/-/g,"_"),d=0;for(b=false;!b&&d<this.VKI_langCode.index.length;d++)if(c.indexOf(this.VKI_langCode.index[d])==
|
283 |
+
0)b=r.firstChild.nodeValue=this.VKI_kt=this.VKI_langCode[this.VKI_langCode.index[d]];b&&this.VKI_buildKeys()}if(this.VKI_isIE){if(!this.VKI_target.range){this.VKI_target.range=this.VKI_target.createTextRange();this.VKI_target.range.moveStart("character",this.VKI_target.value.length)}this.VKI_target.range.select()}try{this.VKI_keyboard.parentNode.removeChild(this.VKI_keyboard)}catch(i){}if(this.VKI_clearPasswords&&this.VKI_target.type=="password")this.VKI_target.value="";b=this.VKI_target;this.VKI_target.keyboardPosition=
|
284 |
+
"absolute";do{if(b.currentStyle)var e=b.currentStyle.position;else if(window.getComputedStyle)e=window.getComputedStyle(b,null).position;if(e=="fixed"){this.VKI_target.keyboardPosition="fixed";break}}while(b=b.offsetParent);this.VKI_isIE6&&document.body.appendChild(this.VKI_iframe);document.body.appendChild(this.VKI_keyboard);this.VKI_keyboard.style.position=this.VKI_target.keyboardPosition;this.VKI_isOpera&&this.VKI_keyboard.reflow();this.VKI_position(true);if(a.VKI_isMoz||a.VKI_isWebKit)this.VKI_position(true);
|
285 |
+
this.VKI_target.blur();this.VKI_target.focus()}};this.VKI_position=function(b){if(a.VKI_target){var c=A(a.VKI_keyboard),d=E(),i=F(),e=false,l=a.VKI_target.offsetHeight+3;if(b!==true)if(c[1]+a.VKI_keyboard.offsetHeight-i[1]-d[1]>0){e=true;l=-a.VKI_keyboard.offsetHeight-3}else if(c[1]-i[1]<0)e=true;if(e||b===true){c=A(a.VKI_target);for(e=a.VKI_target;e=e.parentNode;){if(e==document.body)break;if(e.scrollHeight>e.offsetHeight||e.scrollWidth>e.offsetWidth){if(!e.getAttribute("VKI_scrollListener")){e.setAttribute("VKI_scrollListener",
|
286 |
+
true);g(e,"scroll",function(){a.VKI_position(true)},false)}var j=A(e),m=c[1]-j[1],h=c[0]-j[0];j=m+a.VKI_target.offsetHeight;var k=h+a.VKI_target.offsetWidth;m=e.offsetHeight-m-a.VKI_target.offsetHeight;h=e.offsetWidth-h-a.VKI_target.offsetWidth;a.VKI_keyboard.style.display=j<0||k<0||m<0||h<0?"none":"";if(a.VKI_isIE6)a.VKI_iframe.style.display=j<0||k<0||m<0||h<0?"none":""}}a.VKI_keyboard.style.top=c[1]-(a.VKI_target.keyboardPosition=="fixed"&&!a.VKI_isIE&&!a.VKI_isMoz?i[1]:0)+l+"px";a.VKI_keyboard.style.left=
|
287 |
+
Math.max(10,Math.min(d[0]-a.VKI_keyboard.offsetWidth-25,c[0]))+"px";if(a.VKI_isIE6){a.VKI_iframe.style.width=a.VKI_keyboard.offsetWidth+"px";a.VKI_iframe.style.height=a.VKI_keyboard.offsetHeight+"px";a.VKI_iframe.style.top=a.VKI_keyboard.style.top;a.VKI_iframe.style.left=a.VKI_keyboard.style.left}}b===true&&a.VKI_position()}};this.VKI_close=VKI_close=function(){if(this.VKI_target){try{this.VKI_keyboard.parentNode.removeChild(this.VKI_keyboard);this.VKI_isIE6&&this.VKI_iframe.parentNode.removeChild(this.VKI_iframe)}catch(b){}if(this.VKI_kt!=
|
288 |
+
this.VKI_kts){r.firstChild.nodeValue=this.VKI_kt=this.VKI_kts;this.VKI_buildKeys()}r.getElementsByTagName("ol")[0].style.display="";this.VKI_target.focus();if(this.VKI_isIE)setTimeout(function(){a.VKI_target=false},0);else this.VKI_target=false}};g(window,"resize",this.VKI_position,false);g(window,"scroll",this.VKI_position,false);this.VKI_kbsize();g(window,"load",function(){for(var b=[document.getElementsByTagName("input"),document.getElementsByTagName("textarea")],c=0,d;d=b[c++];)for(var i=0,e;e=
|
289 |
+
d[i++];)if((e.nodeName=="TEXTAREA"||e.type=="text"||e.type=="password")&&e.className.indexOf("keyboardInput")>-1)a.VKI_attachKeyboard(e);g(document.documentElement,"click",function(){a.VKI_close()},false)},false)})();
|
js/l/es.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
+
* http://transposh.org/
|
4 |
+
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
+
* Licensed under the GPL Version 2 or higher.
|
7 |
+
* http://transposh.org/license
|
8 |
+
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
+
*/
|
11 |
+
t_jp.l={"Close without saving?":"Cerrar sin guardar?","You have made a change to the translation. Are you sure you want to discard it?":"Has cambiado la traducion. Estas seguro que lo quieres eliminar?",History:"Historia","Loading...":"Cargando...",Translated:"Traducido",By:"Por",At:"En",google:"google",bing:"bing",apertium:"apertium","manual translation":"traducci\u00f3n manual","bing suggest":"sugerencia de bing","google suggest":"sugerencia de google","apertium suggest":"sugerencia de apertium",
|
12 |
+
"Edit Translation":"Editar traducci\u00f3n","Original text":"Texto original","read alternate translations":"lee traducci\u00f3nes alternativas","previous translation":"traducci\u00f3n anterior","find on page":"encuentra en la pagina","next translation":"siguiente traducci\u00f3n","Translate to":"Traducir a","view translation log":"muestra diario de traducion","virtual keyboard":"teclado virtual","approve translation":"aprueba traducion","delete":"eliminar",Discard:"Descartar",Cancel:"Cancelar"};
|
js/l/he.js
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
+
* http://transposh.org/
|
4 |
+
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
+
* Licensed under the GPL Version 2 or higher.
|
7 |
+
* http://transposh.org/license
|
8 |
+
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
+
*/
|
11 |
+
t_jp.l={"Close without saving?":"\u05dc\u05e1\u05d2\u05d5\u05e8 \u05d1\u05dc\u05d9 \u05dc\u05e9\u05de\u05d5\u05e8?","You have made a change to the translation. Are you sure you want to discard it?":"\u05d1\u05d9\u05e6\u05e2\u05ea \u05e9\u05d9\u05e0\u05d5\u05d9 \u05d1\u05ea\u05e8\u05d2\u05d5\u05dd, \u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d0\u05ea\u05d4 \u05e8\u05d5\u05e6\u05d4 \u05dc\u05d5\u05d5\u05ea\u05e8 \u05e2\u05dc\u05d9\u05d5?",History:"\u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d4",
|
12 |
+
"Loading...":"\u05d8\u05d5\u05e2\u05df...",Translated:"\u05ea\u05d5\u05e8\u05d2\u05dd",By:"\u05e2\u05dc \u05d9\u05d3\u05d9",At:"\u05d1",google:"\u05d2\u05d5\u05d2\u05dc",bing:"\u05d1\u05d9\u05e0\u05d2",apertium:"\u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd","manual translation":"\u05ea\u05e8\u05d2\u05d5\u05dd \u05d9\u05d3\u05e0\u05d9","bing suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d1\u05d9\u05e0\u05d2","google suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d2\u05d5\u05d2\u05dc","apertium suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd",
|
13 |
+
"Edit Translation":"\u05e2\u05e8\u05d9\u05db\u05ea \u05ea\u05e8\u05d2\u05d5\u05dd","Original text":"\u05d8\u05e7\u05e1\u05d8 \u05de\u05e7\u05d5\u05e8\u05d9","read alternate translations":"\u05e7\u05e8\u05d0 \u05ea\u05e8\u05d2\u05d5\u05de\u05d9\u05dd \u05d0\u05dc\u05d8\u05e8\u05e0\u05d8\u05d9\u05d1\u05d9\u05d9\u05dd","previous translation":"\u05ea\u05e8\u05d2\u05d5\u05dd \u05e7\u05d5\u05d3\u05dd","find on page":"\u05de\u05e6\u05d0 \u05d1\u05d3\u05e3","next translation":"\u05ea\u05e8\u05d2\u05d5\u05dd \u05d4\u05d1\u05d0",
|
14 |
+
"Translate to":"\u05ea\u05e8\u05d2\u05dd \u05dc","view translation log":"\u05d4\u05e6\u05d2 \u05dc\u05d5\u05d2 \u05ea\u05e8\u05d2\u05d5\u05dd","virtual keyboard":"\u05de\u05e7\u05dc\u05d3\u05ea \u05d5\u05d9\u05e8\u05d8\u05d5\u05d0\u05dc\u05d9\u05ea","approve translation":"\u05d0\u05e9\u05e8 \u05ea\u05e8\u05d2\u05d5\u05dd","delete":"\u05de\u05d7\u05e7",Discard:"\u05d5\u05d5\u05ea\u05e8",Cancel:"\u05d1\u05d8\u05dc"};
|
js/lazy.js
CHANGED
@@ -1,12 +1,15 @@
|
|
1 |
/*
|
2 |
-
*
|
3 |
-
*
|
|
|
4 |
*
|
5 |
-
*
|
6 |
-
*
|
7 |
-
* http://transposh.org/license
|
8 |
*
|
9 |
-
*
|
|
|
|
|
|
|
10 |
*/
|
11 |
(function(b){function s(){function h(a,c){t[a](c,function(d){d=="error"?i.push(c):k.push(c)&&g.each(c);o()},"lazy-loaded-"+(g.name?g.name:(new Date).getTime()))}function j(a){g.complete(a,k,i);g[a](a=="error"?i:k);clearTimeout(p);clearTimeout(u)}function o(){if(k.length==l.length)j("success");else k.length+i.length==l.length&&j("error")}function q(){i.push(this.src);o()}var t=this,g,k=[],i=[],p,u,n,l=[];this.init=function(a){if(a){g=b.extend({},b.xLazyLoader.defaults,a);n={js:g.js,css:g.css,img:g.img};
|
12 |
b.each(n,function(c,d){if(typeof d=="string")d=d.split(",");l=l.concat(d)});if(l.length){if(g.timeout)p=setTimeout(function(){var c=k.concat(i);b.each(l,function(d,f){b.inArray(f,c)==-1&&i.push(f)});j("error")},g.timeout);b.each(n,function(c,d){if(b.isArray(d))b.each(d,function(f,e){h(c,e)});else typeof d=="string"&&h(c,d)})}else j("error")}};this.js=function(a,c,d){var f=b('script[src*="'+a+'"]');if(f.length)f.attr("pending")?f.bind("scriptload",c):c();else{var e=document.createElement("script");
|
1 |
/*
|
2 |
+
* xLazyLoader 1.3 - Plugin for jQuery
|
3 |
+
*
|
4 |
+
* Load js, css and images asynchron and get different callbacks
|
5 |
*
|
6 |
+
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
7 |
+
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
|
|
|
8 |
*
|
9 |
+
* Depends:
|
10 |
+
* jquery.js
|
11 |
+
*
|
12 |
+
* Copyright (c) 2008 Oleg Slobodskoi (ajaxsoft.de)
|
13 |
*/
|
14 |
(function(b){function s(){function h(a,c){t[a](c,function(d){d=="error"?i.push(c):k.push(c)&&g.each(c);o()},"lazy-loaded-"+(g.name?g.name:(new Date).getTime()))}function j(a){g.complete(a,k,i);g[a](a=="error"?i:k);clearTimeout(p);clearTimeout(u)}function o(){if(k.length==l.length)j("success");else k.length+i.length==l.length&&j("error")}function q(){i.push(this.src);o()}var t=this,g,k=[],i=[],p,u,n,l=[];this.init=function(a){if(a){g=b.extend({},b.xLazyLoader.defaults,a);n={js:g.js,css:g.css,img:g.img};
|
15 |
b.each(n,function(c,d){if(typeof d=="string")d=d.split(",");l=l.concat(d)});if(l.length){if(g.timeout)p=setTimeout(function(){var c=k.concat(i);b.each(l,function(d,f){b.inArray(f,c)==-1&&i.push(f)});j("error")},g.timeout);b.each(n,function(c,d){if(b.isArray(d))b.each(d,function(f,e){h(c,e)});else typeof d=="string"&&h(c,d)})}else j("error")}};this.js=function(a,c,d){var f=b('script[src*="'+a+'"]');if(f.length)f.attr("pending")?f.bind("scriptload",c):c();else{var e=document.createElement("script");
|
js/transposh.js
CHANGED
@@ -1,18 +1,19 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
-
* Copyright
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
-
(function(a){function v(b,e){if(a.trim(e).length!==0){var
|
12 |
-
{ln0:t_jp.lang,sr0:
|
13 |
-
"&q="+encodeURIComponent(b[g])});if(e)f=t_jp.olang;a.ajax({url:"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0"+
|
14 |
-
function y(b,e){var
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
1 |
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
*/
|
11 |
+
(function(a){function v(b,e){if(a.trim(e).length!==0){var c=function(){var d=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),f=a("#"+h+"img_"+d);a("#"+h+d).attr("data-source",1);f.removeClass("tr-icon-yellow").removeClass("tr-icon-green").addClass("tr-icon-yellow")};a("*[data-token='"+b+"'][data-hidden!='y']").html(e).each(c);a("*[data-token='"+b+"'][data-hidden='y']").attr("data-trans",e).each(c)}}function w(b,e){clearTimeout(p);i.push(b);n.push(e);v(b,e);p=setTimeout(function(){var c=
|
12 |
+
{ln0:t_jp.lang,sr0:o,translation_posted:"2",items:i.length},d;for(d=0;d<i.length;d+=1){c["tk"+d]=i[d];c["tr"+d]=n[d];q+=a("*[data-token='"+i[d]+"']").size()}a.ajax({type:"POST",url:t_jp.post_url,data:c,success:function(){var f=q/k*100;t_jp.progress&&a("#"+l).progressbar("value",f)}});n=[];i=[]},200)}function j(b,e){w(b,a("<div>"+a.trim(e)+"</div>").text());var c=(k-a("."+h+'[data-source=""]').size())/k*100;t_jp.progress&&a("#"+m).progressbar("value",c)}function x(b,e,c){var d="",f="";a(b).each(function(g){d+=
|
13 |
+
"&q="+encodeURIComponent(b[g])});if(e)f=t_jp.olang;a.ajax({url:"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0"+d+"&langpair="+f+"%7C"+t_jp.lang,dataType:"jsonp",success:c})}function r(b,e,c){x(e,c,function(d){if(d.responseStatus>=200&&d.responseStatus<300)d.responseData.translatedText!==undefined?j(b[0],d.responseData.translatedText):a(d.responseData).each(function(f){this.responseStatus===200&&j(b[f],this.responseData.translatedText)});else d.responseStatus>=400&&!c&&r(b,e,true)})}
|
14 |
+
function y(b,e){var c="[";a(b).each(function(d){c+='"'+encodeURIComponent(b[d])+'",'});c=c.slice(0,-1)+"]";a.ajax({url:"http://api.microsofttranslator.com/V2/Ajax.svc/TranslateArray?appId="+t_jp.MSN_APPID+"&to="+t_jp.binglang+"&texts="+c,dataType:"jsonp",jsonp:"oncomplete",success:e})}function z(b,e){o=2;y(e,function(c){a(c).each(function(d){j(b[d],this.TranslatedText)})})}function A(b,e){a.getJSON(t_jp.post_url+"?tgp="+e+"&tgl="+t_jp.lang,function(c){c.sentences!==undefined&&c.sentences[0].trans&&
|
15 |
+
j(b,c.sentences[0].trans)})}function B(b,e){var c="";a(b).each(function(d){c+="&q="+encodeURIComponent(b[d])});a.ajax({url:"http://api.apertium.org/json/translate?"+c+"&langpair="+t_jp.olang+"%7C"+t_jp.lang+"&markUnknown=no",dataType:"jsonp",success:e})}function C(b,e){o=3;B(e,function(c){if(c.responseStatus>=200&&c.responseStatus<300)c.responseData.translatedText!==undefined?j(b[0],c.responseData.translatedText):a(c.responseData).each(function(d){this.responseStatus===200&&j(b[d],this.responseData.translatedText)})})}
|
16 |
+
function s(b,e){if(t_jp.msn&&t_jp.preferred==="2")z(b,e);else if(t_jp.apertium&&(t_jp.olang==="en"||t_jp.olang==="es"))C(b,e);else if(t_jp.tgp)e[0]&&A(b[0],e[0]);else r(b,e,false)}function t(){var b=[],e=0,c=[],d=[];if(t_jp.tgp)u=0;a("."+h+'[data-source=""]').each(function(){var f=a(this).attr("data-token"),g=a(this).attr("data-orig");if(g===undefined)g=a(this).html();if(b[g]!==1){b[g]=1;if(e+g.length>u){s(d,c);e=0;c=[];d=[]}e+=g.length;d.push(f);c.push(g)}});s(d,c)}var u=128,k,h=t_jp.prefix,m=h+
|
17 |
+
"pbar",l=m+"_s",o=1,q=0,p,i=[],n=[];t_jp.MSN_APPID="FACA8E2DF8DCCECE0DC311C6E57DA98EFEFA9BC6";t_jp.jQueryUI="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/";a(document).ready(function(){if(t_jp.msn){t_jp.binglang=t_jp.lang;if(t_jp.binglang==="zh")t_jp.binglang="zh-chs";else if(t_jp.binglang==="zh-tw")t_jp.binglang="zh-cht"}a("#"+h+"setdeflang").click(function(){a.get(t_jp.post_url+"?tr_cookie="+Math.random());a(this).hide("slow");return false});k=a("."+h+'[data-source=""]').size();a.ajaxSetup({cache:true});
|
18 |
+
if(k&&!t_jp.noauto&&(t_jp.google||t_jp.msn||t_jp.apertium||t_jp.tgp))if(t_jp.progress){var b=function(){a.xLazyLoader({js:t_jp.jQueryUI+"jquery-ui.min.js",css:t_jp.jQueryUI+"themes/"+t_jp.theme+"/jquery-ui.css",success:function(){a("#"+h+"credit").css({overflow:"auto"}).append('<div style="float: left;width: 90%;height: 10px" id="'+m+'"/><div style="margin-bottom:10px;float:left;width: 90%;height: 10px" id="'+l+'"/>');a("#"+m).progressbar({value:0});a("#"+l).progressbar({value:0});a("#"+l+" > div").css({background:"#28F828",
|
19 |
+
border:"#08A908 1px solid"});t()}})};typeof a.xLazyLoader==="function"?b():a.getScript(t_jp.plugin_url+"/js/lazy.js",b)}else t();t_jp.edit&&a.getScript(t_jp.plugin_url+"/js/transposhedit.js")})})(jQuery);
|
js/transposhadmin.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
-
* Copyright
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
var timer,items=0,translations=[],tokens=[],langs=[],sources=[],BATCH_SIZE=128,pair_count=0,curr_pair=0;t_jp.MSN_APPID="FACA8E2DF8DCCECE0DC311C6E57DA98EFEFA9BC6";function make_progress(e,b){curr_pair+=1;jQuery("#progress_bar").progressbar("value",curr_pair/pair_count*100);jQuery("#p").text("("+b+") "+e);curr_pair===pair_count&&jQuery("#tr_loading").data("done",true)}
|
12 |
function ajax_translate_me(e,b,c,d){b=jQuery("<div>"+jQuery.trim(b)+"</div>").text();make_progress(b,c);clearTimeout(timer);items+=1;tokens.push(e);translations.push(b);langs.push(c);sources.push(d);timer=setTimeout(function(){var f={translation_posted:"2",items:items},a;for(a=0;a<items;a+=1){if(tokens[a]!==tokens[a-1])f["tk"+a]=tokens[a];if(langs[a]!==langs[a-1])f["ln"+a]=langs[a];if(translations[a]!==translations[a-1])f["tr"+a]=translations[a];if(sources[a]!==sources[a-1])f["sr"+a]=sources[a]}jQuery.ajax({type:"POST",
|
1 |
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
*/
|
11 |
var timer,items=0,translations=[],tokens=[],langs=[],sources=[],BATCH_SIZE=128,pair_count=0,curr_pair=0;t_jp.MSN_APPID="FACA8E2DF8DCCECE0DC311C6E57DA98EFEFA9BC6";function make_progress(e,b){curr_pair+=1;jQuery("#progress_bar").progressbar("value",curr_pair/pair_count*100);jQuery("#p").text("("+b+") "+e);curr_pair===pair_count&&jQuery("#tr_loading").data("done",true)}
|
12 |
function ajax_translate_me(e,b,c,d){b=jQuery("<div>"+jQuery.trim(b)+"</div>").text();make_progress(b,c);clearTimeout(timer);items+=1;tokens.push(e);translations.push(b);langs.push(c);sources.push(d);timer=setTimeout(function(){var f={translation_posted:"2",items:items},a;for(a=0;a<items;a+=1){if(tokens[a]!==tokens[a-1])f["tk"+a]=tokens[a];if(langs[a]!==langs[a-1])f["ln"+a]=langs[a];if(translations[a]!==translations[a-1])f["tr"+a]=translations[a];if(sources[a]!==sources[a-1])f["sr"+a]=sources[a]}jQuery.ajax({type:"POST",
|
js/transposhcontrol.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
-
* Copyright
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
jQuery(function(){jQuery("#tr_anon").click(function(){if(jQuery("#tr_anon").attr("checked")){jQuery(".translateable").addClass("active").removeClass("translateable");jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")})}jQuery("#yellowcolor").toggleClass("hidden")});jQuery("#sortable").sortable({placeholder:"highlight",update:function(b,a){a.item.unbind("click");a.item.one("click",function(c){c.stopImmediatePropagation();jQuery(this).click(clickfunction)})}});
|
12 |
jQuery("#sortable").disableSelection();jQuery("#changename").click(function(){jQuery(".langname").toggleClass("hidden");return false});jQuery("#selectall").click(function(){jQuery("#sortable .languages").addClass("active").removeClass("translateable");jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")});return false});clickfunction=function(){if(jQuery(this).attr("id")!=jQuery("#default_list li").attr("id")){if(jQuery("#tr_anon").attr("checked"))jQuery(this).toggleClass("active");
|
@@ -15,6 +15,7 @@ drop:function(b,a){jQuery("#default_list").empty();jQuery(a.draggable.clone().re
|
|
15 |
return jQuery(b).attr("id")>jQuery(a).attr("id")?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery("#sortname").click(function(){jQuery("#sortable li").sort(function(b,a){langa=jQuery(".langname",b).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langb=jQuery(".langname",a).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langdef=jQuery(".langname","#default_list li").filter(function(){return!jQuery(this).hasClass("hidden")}).text();
|
16 |
if(langa==langdef)return-1;if(langb==langdef)return 1;return langa>langb?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery.ajaxSetup({cache:false});backupclick=function(){jQuery("#transposh-backup").unbind("click").click(function(){return false}).text("Backup In Progress");jQuery.get(t_jp.post_url+"?backup",function(b){var a="red";if(b[0]=="2")a="green";jQuery("#backup_result").html(b).css("color",a);jQuery("#transposh-backup").unbind("click").click(backupclick).text("Do Backup Now")});
|
17 |
return false};jQuery("#transposh-backup").click(backupclick);cleanautoclick=function(b,a){if(!confirm("Are you sure you want to do this?"))return false;if(b==0&&!confirm("Are you REALLY sure you want to do this?"))return false;var c=a.text();a.unbind("click").click(function(){return false}).text("Cleanup in progress");jQuery.get(t_jp.post_url+"?nonce="+a.attr("nonce")+"&days="+b+"&cleanup",function(){a.unbind("click").click(function(){cleanautoclick(b,a);return false}).text(c)});return false};jQuery("#transposh-clean-auto").click(function(){cleanautoclick(0,
|
18 |
-
jQuery(this));return false});jQuery("#transposh-clean-auto14").click(function(){cleanautoclick(14,jQuery(this));return false});
|
19 |
-
(
|
20 |
-
stop_translate_var=
|
|
1 |
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
*/
|
11 |
jQuery(function(){jQuery("#tr_anon").click(function(){if(jQuery("#tr_anon").attr("checked")){jQuery(".translateable").addClass("active").removeClass("translateable");jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")})}jQuery("#yellowcolor").toggleClass("hidden")});jQuery("#sortable").sortable({placeholder:"highlight",update:function(b,a){a.item.unbind("click");a.item.one("click",function(c){c.stopImmediatePropagation();jQuery(this).click(clickfunction)})}});
|
12 |
jQuery("#sortable").disableSelection();jQuery("#changename").click(function(){jQuery(".langname").toggleClass("hidden");return false});jQuery("#selectall").click(function(){jQuery("#sortable .languages").addClass("active").removeClass("translateable");jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")});return false});clickfunction=function(){if(jQuery(this).attr("id")!=jQuery("#default_list li").attr("id")){if(jQuery("#tr_anon").attr("checked"))jQuery(this).toggleClass("active");
|
15 |
return jQuery(b).attr("id")>jQuery(a).attr("id")?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery("#sortname").click(function(){jQuery("#sortable li").sort(function(b,a){langa=jQuery(".langname",b).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langb=jQuery(".langname",a).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langdef=jQuery(".langname","#default_list li").filter(function(){return!jQuery(this).hasClass("hidden")}).text();
|
16 |
if(langa==langdef)return-1;if(langb==langdef)return 1;return langa>langb?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery.ajaxSetup({cache:false});backupclick=function(){jQuery("#transposh-backup").unbind("click").click(function(){return false}).text("Backup In Progress");jQuery.get(t_jp.post_url+"?backup",function(b){var a="red";if(b[0]=="2")a="green";jQuery("#backup_result").html(b).css("color",a);jQuery("#transposh-backup").unbind("click").click(backupclick).text("Do Backup Now")});
|
17 |
return false};jQuery("#transposh-backup").click(backupclick);cleanautoclick=function(b,a){if(!confirm("Are you sure you want to do this?"))return false;if(b==0&&!confirm("Are you REALLY sure you want to do this?"))return false;var c=a.text();a.unbind("click").click(function(){return false}).text("Cleanup in progress");jQuery.get(t_jp.post_url+"?nonce="+a.attr("nonce")+"&days="+b+"&cleanup",function(){a.unbind("click").click(function(){cleanautoclick(b,a);return false}).text(c)});return false};jQuery("#transposh-clean-auto").click(function(){cleanautoclick(0,
|
18 |
+
jQuery(this));return false});jQuery("#transposh-clean-auto14").click(function(){cleanautoclick(14,jQuery(this));return false});maintclick=function(b){if(!confirm("Are you sure you want to do this?"))return false;var a=b.text();b.unbind("click").click(function(){return false}).text("Maintenance in progress");jQuery.get(t_jp.post_url+"?nonce="+b.attr("nonce")+"&maint",function(){b.unbind("click").click(function(){maintclick(b);return false}).text(a)});return false};jQuery("#transposh-maint").click(function(){maintclick(jQuery(this));
|
19 |
+
return false});do_translate_all=function(){jQuery("#progress_bar_all").progressbar({value:0});stop_translate_var=false;jQuery("#tr_loading").data("done",true);jQuery.ajaxSetup({cache:false});jQuery.getJSON(t_jp.post_url,{translate_all:"y"},function(b){dotimer=function(a){clearTimeout(timer2);if(jQuery("#tr_loading").data("done")||jQuery("#tr_loading").data("attempt")>4){jQuery("#progress_bar_all").progressbar("value",(a+1)/b.length*100);jQuery("#tr_loading").data("attempt",0);translate_post(b[a]);
|
20 |
+
if(b[a]&&!stop_translate_var)timer2=setTimeout(function(){dotimer(a+1)},1E3)}else{jQuery("#tr_loading").data("attempt",jQuery("#tr_loading").data("attempt")+1);timer2=setTimeout(function(){dotimer(a)},6E4)}};timer2=setTimeout(function(){dotimer(0)},0)});jQuery("#transposh-translate").text("Stop translate");jQuery("#transposh-translate").unbind("click").click(stop_translate);return false};stop_translate=function(){clearTimeout(timer2);stop_translate_var=true;jQuery("#transposh-translate").text("Translate All Now");
|
21 |
+
jQuery("#transposh-translate").unbind("click").click(do_translate_all);return false};jQuery("#transposh-translate").click(do_translate_all)});
|
js/transposhedit.js
CHANGED
@@ -1,23 +1,38 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
-
* Copyright
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
-
(function(a){function
|
12 |
-
c);a.ajax({type:"POST",url:t_jp.post_url,data:{ln0:t_jp.lang,sr0:0,translation_posted:"2",items:1,tk0:
|
13 |
-
|
14 |
-
"
|
15 |
-
|
16 |
-
|
17 |
-
b
|
18 |
-
a("
|
19 |
-
"
|
20 |
-
|
21 |
-
|
22 |
-
"
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/*
|
2 |
+
* Transposh v0.7.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
+
* Copyright 2011, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
10 |
*/
|
11 |
+
(function(a){function f(c){var d;if(typeof t_jp.l==="object"&&(d=t_jp.l[c]))return d;return c}function t(c,d,j){if(a.trim(d).length===0)d=a("[data-token='"+c+"']").attr("data-orig");var h=function(){var g=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),m=a(b+"img_"+g);a(b+g).attr("data-source",j);m.removeClass("tr-icon-yellow").removeClass("tr-icon-green");if(j==0)m.addClass("tr-icon-green");else j&&m.addClass("tr-icon-yellow")};a("*[data-token='"+c+"'][data-hidden!='y']").html(d).each(h);
|
12 |
+
a("*[data-token='"+c+"'][data-hidden='y']").attr("data-trans",d).each(h);a(b+"translation").data("origval",d);a(b+"translation").keyup()}function w(c,d){t(c,d,0);a.ajax({type:"POST",url:t_jp.post_url,data:{ln0:t_jp.lang,sr0:0,translation_posted:"2",items:1,tk0:c,tr0:d},success:function(){},error:function(j){alert("Error !!! failed to translate.\n\nServer's message: "+j.statusText)}})}function x(c,d){a.ajax({url:"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q="+encodeURIComponent(c)+
|
13 |
+
"&langpair=%7C"+t_jp.lang,dataType:"jsonp",success:d})}function y(){x(a(b+"original").val(),function(c){c.responseStatus===200&&a(b+"translation").val(a("<div>"+a.trim(c.responseData.translatedText)+"</div>").text()).keyup()})}function z(c,d){a.ajax({url:"http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId="+t_jp.MSN_APPID+"&to="+t_jp.binglang+"&text="+encodeURIComponent(c),dataType:"jsonp",jsonp:"oncomplete",success:d})}function A(){z(a(b+"original").val(),function(c){a(b+"translation").val(a("<div>"+
|
14 |
+
a.trim(c)+"</div>").text()).keyup()})}function B(c,d){a.ajax({url:"http://api.apertium.org/json/translate?q="+encodeURIComponent(c)+"&langpair=en%7C"+t_jp.lang,dataType:"jsonp",success:d})}function C(){B(a(b+"original").val(),function(c){a(b+"translation").val(a("<div>"+a.trim(c.responseData.translatedText)+"</div>").text()).keyup()})}function s(c){var d,j,h;d=a(c).dialog("widget").find(".ui-dialog-title");j=d.css("margin-right");h=d.css("margin-left");d.css({"float":k,"margin-right":h,"margin-left":j});
|
15 |
+
c=a(c).dialog("widget").find(".ui-dialog-titlebar-close");j=c.css("right");h=c.css("left");c.css({right:h,left:j})}function D(){var c=b+"confirmdialog";a(c).remove();a('<div id="'+e+'confirmdialog" title="'+f("Close without saving?")+'"><span class="ui-icon ui-icon-alert" style="float:'+k+"; margin-bottom:20px; margin-"+l+':7px"></span><span style="clear:both">'+f("You have made a change to the translation. Are you sure you want to discard it?")+'<span><span id="'+e+'dcbar" style="display:block"><button id="'+
|
16 |
+
e+'cancel">'+f("Cancel")+'</button><button id="'+e+'discard">'+f("Discard")+"</button></span>"+ +"</div>").appendTo("body").dialog({resizable:false,modal:true,minHeight:50,overlay:{backgroundColor:"#000",opacity:0.5}});a(b+"cancel").button({icons:{primary:"ui-icon-closethick"},text:false}).click(function(){a(c).dialog("close")});a(b+"discard").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){a(b+"translation").data("changed",false);a(c).dialog("close");a(b+"dialog").dialog("close")});
|
17 |
+
a(b+"dcbar").css({"float":l}).buttonset();if(a("html").attr("dir")==="rtl"){s(c);a(b+"dcbar button:first").addClass("ui-corner-"+k).removeClass("ui-corner-"+l);a(b+"dcbar button:last").addClass("ui-corner-"+l).removeClass("ui-corner-"+k)}}function E(c){var d=b+"historydialog";a(d).remove();a('<div id="'+e+'historydialog" title="'+f("History")+'">'+f("Loading...")+"</div>").appendTo("body");a(d).css("padding",0).dialog({width:"450px",show:"slide"});a("html").attr("dir")==="rtl"&&s(d);a.ajax({url:t_jp.post_url,
|
18 |
+
data:{tr_token_hist:a(b+c).attr("data-token"),lang:t_jp.lang},dataType:"json",cache:false,success:function(j){var h,g,m,p;a(d).empty().append('<table width="100%"><col style="width: 80%;"><col><col><thead><tr> <th>'+f("Translated")+"</th><th>"+f("By")+"</th><th>"+f("At")+"</th></tr></thead><tbody></tbody></table>");a.each(j,function(n,i){switch(i.source){case "1":h="tr-icon-google";g=f("google");break;case "2":h="tr-icon-bing";g=f("bing");break;case "3":h="tr-icon-apertium";g=f("apertium");break;
|
19 |
+
default:h="ui-icon-person";g=f("manual translation")}if(i.user_login===null)i.user_login=i.translated_by;m='<span class="ui-button ui-widget ui-button-icon-only" style="width: 18px; border: 0px; margin-'+l+': 3px"><span title="'+g+'" style="cursor: default" class="ui-button-icon-primary ui-icon '+h+'"></span><span class="ui-button-text" style="display: inline-block; "></span></span>';p=i.can_delete?'<span class="'+e+'delete" title="'+f("delete")+'" style="width: 18px; margin-'+k+': 3px">':"";a(d+
|
20 |
+
" tbody").append("<tr><td>"+i.translated+'</td><td id="'+e+'histby">'+m+i.user_login+'</td><td id="'+e+'histstamp">'+i.timestamp+p+"</td></tr>")});a(b+"histby,"+b+"histstamp").css("white-space","nowrap");a(d+" th").addClass("ui-widget-header").css("padding","3px");a(d+" td").addClass("ui-widget-content").css("padding","3px");a("."+e+"delete").button({icons:{primary:"ui-icon-circle-close"},text:false}).click(function(){var n=a(this).parents("tr");a.ajax({url:t_jp.post_url,data:{tr_token_hist:a(b+c).attr("data-token"),
|
21 |
+
timestamp:a(this).parents("tr").children(":last").text(),action:"delete",lang:t_jp.lang},dataType:"json",cache:false,success:function(i){if(i===false)a(n).children().addClass("ui-state-error");else{a(n).empty();t(a(b+c).attr("data-token"),i.translated,i.source)}}})});a("."+e+"delete .ui-button-text").css("display","inline-block")}})}function q(c){var d="",j="",h="",g=b+"dialog";if(t_jp.msn)d='<button class="'+e+'suggest" id="'+e+'bing">'+f("bing suggest")+"</button>";if(t_jp.google)j='<button class="'+
|
22 |
+
e+'suggest" id="'+e+'google">'+f("google suggest")+"</button>";if(t_jp.apertium)h='<button class="'+e+'suggest" id="'+e+'apertium">'+f("apertium suggest")+"</button>";a(g).remove();a('<div id="'+e+'dialog" title="'+f("Edit Translation")+'"/>').appendTo("body");var m=a(b+c).attr("data-srclang");if(m===undefined)m=t_jp.olang;a(g).css("padding","1px").append('<div style="width: 100%"><label for="original">'+f("Original text")+' (<a href="#" title="'+f("read alternate translations")+'" id="'+e+'orglang">'+
|
23 |
+
r[m]+'</a>)</label><textarea cols="80" row="3" name="original" id="'+e+'original" readonly="y"/><span id="'+e+'utlbar"><button id="'+e+'prev">'+f("previous translation")+'</button><button id="'+e+'zoom">'+f("find on page")+'</button><button id="'+e+'next">'+f("next translation")+'</button></span><label for="translation">'+f("Translate to")+'</label><textarea cols="80" row="3" name="translation" lang="'+t_jp.lang+'"id="'+e+'translation"/><span id="'+e+'ltlbar"><button id="'+e+'history">'+f("view translation log")+
|
24 |
+
'</button><button id="'+e+'keyboard">'+f("virtual keyboard")+"</button>"+j+d+h+'<button id="'+e+'approve">'+f("approve translation")+"</button></span></div>");a(b+"utlbar,"+b+"ltlbar").css({"float":l}).buttonset();a(g+" textarea").css({width:"485px",padding:".4em",margin:"2px 0 0 0",resize:"vertical"}).addClass("text ui-widget-content ui-corner-all");a(g+" label").css({display:"block",clear:"both"});a(b+"orglang").click(function(){a(b+"langmenu").length?a(b+"langmenu").toggle():a.xLazyLoader({js:[t_jp.plugin_url+
|
25 |
+
"/js/jquery.ui.menu.js"],success:function(){a.ajax({url:t_jp.post_url,data:{tr_token_alt:a(b+c).attr("data-token")},dataType:"json",cache:false,success:function(p){var n;if(!(n=a(b+c).attr("data-srclang")))n=t_jp.olang;var i='<li data-translated="'+a(b+c).attr("data-orig")+'"><a href="#">'+r[n]+"</a></li>";a(p).each(function(F,o){if(o.lang!==t_jp.lang)i=i+'<li data-translated="'+o.translated+'"><a href="#">'+r[o.lang]+"</a></li>"});a('<ul style="position: absolute; top: 0px" id="'+e+'langmenu">'+
|
26 |
+
i).appendTo(g);a(b+"langmenu").menu({select:function(F,o){a(this).hide();a(b+"original").val(o.item.attr("data-translated"));a(b+"orglang").text(o.item.text()).addClass("ui-state-highlight");r[n]===o.item.text()&&a(b+"orglang").removeClass("ui-state-highlight")},input:a(this)}).show().css({top:0,left:0}).position({my:k+" top",at:k+" bottom",of:a(b+"orglang")})}})}});return false});a(b+"prev").button({icons:{primary:"ui-icon-seek-"+u},text:false});a(b+"zoom").button({icons:{primary:"ui-icon-search"},
|
27 |
+
text:false});a(b+"next").button({icons:{primary:"ui-icon-seek-"+v},text:false});a(b+(Number(c)-1)).length?a(b+"prev").click(function(){q(Number(c)-1)}):a(b+"prev").button("disable");a(b+"zoom").click(function(){a("html, body").animate({scrollTop:a(b+c).offset().top},500);a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top-window.scrollY,position:"fixed"});a(b+c).animate({opacity:0.1},"slow",function(){a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top,position:"absolute"})}).animate({opacity:1},
|
28 |
+
"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow")});a(b+(Number(c)+1)).length?a(b+"next").click(function(){q(Number(c)+1)}):a(b+"next").button("disable");a(b+"history").button({icons:{primary:"ui-icon-clipboard"},text:false}).click(function(){E(c)});a(b+"keyboard").button({icons:{primary:"ui-icon-calculator"},text:false}).click(function(){a.xLazyLoader({js:[t_jp.plugin_url+"/js/keyboard.js"],css:[t_jp.plugin_url+"/css/keyboard.css"],
|
29 |
+
success:function(){VKI_attach(a(b+"translation").get(0));VKI_show(a(b+"translation").get(0))}})});a(b+"google").button({icons:{primary:"tr-icon-google"},text:false}).click(function(){y();a("."+e+"suggest").button("enable");a(this).button("disable")});a(b+"bing").button({icons:{primary:"tr-icon-bing"},text:false}).click(function(){A();a("."+e+"suggest").button("enable");a(this).button("disable")});a(b+"apertium").button({icons:{primary:"tr-icon-apertium"},text:false}).click(function(){C();a("."+e+
|
30 |
+
"suggest").button("enable");a(this).button("disable")});a(b+"approve").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){var p=a(b+"translation").val(),n=a(b+c).attr("data-token");if(a(b+"translation").data("changed")||a(b+c).attr("data-source")!=="0")w(n,p)});a(b+"original").val(a(b+c).attr("data-orig"));a(b+"translation").val(a(b+c).html());a(b+c).attr("data-trans")&&a(b+"translation").val(a(b+c).attr("data-trans"));a(b+"translation").data("origval",a(b+"translation").val());
|
31 |
+
a(b+"translation").keyup(function(){if(a(this).data("origval")!==a(this).val()){a(this).addClass("ui-state-highlight");a(b+"approve").button("enable");a(this).data("changed",true)}else{a(this).removeClass("ui-state-highlight");a(b+c).attr("data-source")==="0"&&a(b+"approve").button("disable");a(this).data("changed",false)}});a(b+"translation").keyup();a(g).dialog({resizable:false,width:500});if(a("html").attr("dir")==="rtl"){s(g);a(b+"utlbar button:first").addClass("ui-corner-"+k).removeClass("ui-corner-"+
|
32 |
+
l);a(b+"utlbar button:last").addClass("ui-corner-"+l).removeClass("ui-corner-"+k);a(b+"ltlbar button:first").addClass("ui-corner-"+k).removeClass("ui-corner-"+l);a(b+"ltlbar button:last").addClass("ui-corner-"+l).removeClass("ui-corner-"+k)}a(b+"orglang").blur();a(g).bind("dialogclose",function(){typeof VKI_close==="function"&&VKI_close(a(b+"translation").get(0));a(b+"historydialog").remove()});a(g).bind("dialogbeforeclose",function(){if(a(b+"translation").data("changed")){D();return false}return true})}
|
33 |
+
var r={en:"English",af:"Afrikaans",sq:"Shqip",ar:"\u0627\u0644\u0639\u0631\u0628\u064a\u0629",hy:"\u0540\u0561\u0575\u0565\u0580\u0565\u0576",az:"az\u0259rbaycan dili",eu:"Euskara",be:"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bg:"\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",ca:"Catal\u00e0",zh:"\u4e2d\u6587 - \u7b80\u4f53","zh-tw":"\u4e2d\u6587 - \u6f22\u5b57",hr:"Hrvatski",cs:"\u010ce\u0161tina",da:"Dansk",nl:"Nederlands",eo:"Esperanto",et:"Eesti keel",fi:"Suomi",
|
34 |
+
fr:"Fran\u00e7ais",gl:"Galego",ka:"\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",de:"Deutsch",el:"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",ht:"Krey\u00f2l ayisyen",he:"\u05e2\u05d1\u05e8\u05d9\u05ea",hi:"\u0939\u093f\u0928\u094d\u0926\u0940; \u0939\u093f\u0902\u0926\u0940",hu:"Magyar",is:"\u00cdslenska",id:"Bahasa Indonesia",ga:"Gaeilge",it:"Italiano",ja:"\u65e5\u672c\u8a9e",ko:"\uc6b0\ub9ac\ub9d0",la:"lat\u012bna",lv:"Latvie\u0161u valoda",lt:"Lietuvi\u0173 kalba",mk:"\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438 \u0458\u0430\u0437\u0438\u043a",
|
35 |
+
ms:"Bahasa Melayu",mt:"Malti",no:"Norsk",fa:"\u0641\u0627\u0631\u0633\u06cc",pl:"Polski",pt:"Portugu\u00eas",ro:"Rom\u00e2n\u0103",ru:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"C\u0440\u043f\u0441\u043a\u0438 \u0458\u0435\u0437\u0438\u043a",sk:"Sloven\u010dina",sl:"Sloven\u0161\u010dina",es:"Espa\u00f1ol",sw:"Kiswahili",sv:"svenska",tl:"Tagalog",th:"\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22",tr:"T\u00fcrk\u00e7e",uk:"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",ur:"\u0627\u0631\u062f\u0648",
|
36 |
+
vi:"Ti\u1ebfng Vi\u1ec7t",cy:"Cymraeg",yi:"\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9"},e=t_jp.prefix,b="#"+e,u="prev",v="next",l="right",k="left";if(a("html").attr("dir")==="rtl"){l="left";k="right";u="next";v="prev"}a("."+e).each(function(){var c=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),d;a(this).after('<span id="'+e+"img_"+c+'" class="tr-icon" title="'+a(this).attr("data-orig")+'"></span>');d=a(b+"img_"+c);d.click(function(){if(typeof a.fn.tabs!=="function"||typeof a.fn.dialog!==
|
37 |
+
"function"){a.ajaxSetup({cache:true});a.getScript(t_jp.plugin_url+"/js/lazy.js",function(){a.xLazyLoader({js:t_jp.jQueryUI+"jquery-ui.min.js",css:t_jp.jQueryUI+"themes/"+t_jp.theme+"/jquery-ui.css",success:function(){t_jp.locale?a.xLazyLoader({js:[t_jp.plugin_url+"/js/l/"+t_jp.lang+".js"],success:function(){q(c)}}):q(c)}})})}else t_jp.locale?a.xLazyLoader({js:[t_jp.plugin_url+"/js/l/"+t_jp.lang+".js"],success:function(){q(c)}}):q(c);return false}).css({border:"0px",margin:"1px",padding:"0px"});if(a(this).attr("data-source")===
|
38 |
+
"0")d.addClass("tr-icon-green");else a(this).attr("data-source")&&d.addClass("tr-icon-yellow");a(this).attr("data-hidden")==="y"&&d.css({opacity:"0.6"})})})(jQuery);
|
langs/transposh-he_IL.mo
CHANGED
Binary file
|
langs/transposh-he_IL.po
CHANGED
@@ -101,7 +101,7 @@ msgstr "תכונות קהילתיות בטרנספוש"
|
|
101 |
#: wp/transposh_postpublish.php:50
|
102 |
#: wp/transposh_widget.php:88
|
103 |
#: wp/transposh_widget.php:91
|
104 |
-
#: wp/transposh_widget.php:
|
105 |
#@ transposh
|
106 |
msgid "Transposh"
|
107 |
msgstr "טרנספוש"
|
@@ -116,36 +116,6 @@ msgstr "תרגם על ידי לחיצה על הכפתור למטה"
|
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "תרגם הכל עכשיו"
|
118 |
|
119 |
-
#: transposh.php:650
|
120 |
-
#@ transposh
|
121 |
-
msgctxt "Edit Interface"
|
122 |
-
msgid "Edit Translation"
|
123 |
-
msgstr "עריכת תרגום"
|
124 |
-
|
125 |
-
#: transposh.php:651
|
126 |
-
#@ transposh
|
127 |
-
msgctxt "Edit Interface"
|
128 |
-
msgid "Translate"
|
129 |
-
msgstr "תרגם"
|
130 |
-
|
131 |
-
#: transposh.php:652
|
132 |
-
#@ transposh
|
133 |
-
msgctxt "Edit Interface"
|
134 |
-
msgid "History"
|
135 |
-
msgstr "היסטוריה"
|
136 |
-
|
137 |
-
#: transposh.php:653
|
138 |
-
#@ transposh
|
139 |
-
msgctxt "Edit Interface"
|
140 |
-
msgid "Original Text"
|
141 |
-
msgstr "טקסט מקורי"
|
142 |
-
|
143 |
-
#: transposh.php:654
|
144 |
-
#@ transposh
|
145 |
-
msgctxt "Edit Interface"
|
146 |
-
msgid "Translate To"
|
147 |
-
msgstr "תרגם ל"
|
148 |
-
|
149 |
#: wp/transposh_admin.php:278
|
150 |
#@ transposh
|
151 |
msgid "Plugin Homepage"
|
@@ -181,192 +151,192 @@ msgstr "שפה נתמכת ע\"י המתרגם של גוגל"
|
|
181 |
msgid "Language supported by bing translate"
|
182 |
msgstr "שפה נתמכת ע\"י המתרגם של בינג"
|
183 |
|
184 |
-
#: wp/transposh_admin.php:
|
185 |
#@ transposh
|
186 |
msgid "Language is written from right to left"
|
187 |
msgstr "שפה הנכתבת מימין לשמאל"
|
188 |
|
189 |
-
#: wp/transposh_admin.php:
|
190 |
#@ transposh
|
191 |
msgid "Display options:"
|
192 |
msgstr "הגדרות תצוגה:"
|
193 |
|
194 |
-
#: wp/transposh_admin.php:
|
195 |
#@ transposh
|
196 |
msgid "Toggle names of languages between English and Original"
|
197 |
msgstr "שנה את הצגת שפות השפות בין אנגלית למקןר"
|
198 |
|
199 |
-
#: wp/transposh_admin.php:
|
200 |
#@ transposh
|
201 |
msgid "Make all languages active"
|
202 |
msgstr "הפוך את כל השפות לפעילות"
|
203 |
|
204 |
-
#: wp/transposh_admin.php:
|
205 |
#@ transposh
|
206 |
msgid "Sort by language name"
|
207 |
msgstr "מיין לפי שם השפה"
|
208 |
|
209 |
-
#: wp/transposh_admin.php:
|
210 |
#@ transposh
|
211 |
msgid "Sort by lSO code"
|
212 |
msgstr "מיין לפי קוד ה-ISO"
|
213 |
|
214 |
-
#: wp/transposh_admin.php:
|
215 |
#@ transposh
|
216 |
msgid "Legend:"
|
217 |
msgstr "מקרא:"
|
218 |
|
219 |
-
#: wp/transposh_admin.php:
|
220 |
#@ transposh
|
221 |
msgid "Green - active"
|
222 |
msgstr "ירוק - פעיל"
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Yellow - translateable (only translators will see this language)"
|
227 |
msgstr "צהוב - ניתן לתרגום (רק מתרגמים יראו את השפה)"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "blank - inactive"
|
232 |
msgstr "ללא צבע - לא פעיל"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
#@ transposh
|
236 |
msgid "Who can translate ?"
|
237 |
msgstr "מי יכול לתרגם?"
|
238 |
|
239 |
-
#: wp/transposh_admin.php:
|
240 |
#@ transposh
|
241 |
msgid "Anonymous"
|
242 |
msgstr "אנונימי"
|
243 |
|
244 |
-
#: wp/transposh_admin.php:
|
245 |
#@ transposh
|
246 |
msgid "Enable default language translation"
|
247 |
msgstr "אפשר תרגום של שפת ברירת המחדל"
|
248 |
|
249 |
-
#: wp/transposh_admin.php:
|
250 |
#@ transposh
|
251 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
252 |
msgstr "אפשר תרגום שפת ברירת המחדל - שימושי באתרים עם יותר משפה עיקרית אחת"
|
253 |
|
254 |
-
#: wp/transposh_admin.php:
|
255 |
#@ transposh
|
256 |
msgid "Enable search in translated languages"
|
257 |
msgstr "אפשר חיפוש בשפות המתורגמות"
|
258 |
|
259 |
-
#: wp/transposh_admin.php:
|
260 |
#@ transposh
|
261 |
msgid "Allow search of translated languages, in those languages (and the original language)"
|
262 |
msgstr "אפשר חיפוש בשפות המתורגמות, בשפות אלו (ובשפת המקור)"
|
263 |
|
264 |
-
#: wp/transposh_admin.php:
|
265 |
#@ transposh
|
266 |
msgid "Allow translation of permalinks and urls"
|
267 |
msgstr "אפשר תרגום של קישורים קבועים וכתובות אינטרנט"
|
268 |
|
269 |
-
#: wp/transposh_admin.php:
|
270 |
#@ transposh
|
271 |
msgid "Enable automatic translation"
|
272 |
msgstr "אפשר תרגום אוטומטי"
|
273 |
|
274 |
-
#: wp/transposh_admin.php:
|
275 |
#@ transposh
|
276 |
msgid "Allow automatic translation of pages"
|
277 |
msgstr "אפשר תרגום אוטומטי של דפים"
|
278 |
|
279 |
-
#: wp/transposh_admin.php:
|
280 |
#@ transposh
|
281 |
msgid "Enable automatic translation after posting"
|
282 |
msgstr "אפשר תרגום אוטומטי לאחר יצירת פוסט"
|
283 |
|
284 |
-
#: wp/transposh_admin.php:
|
285 |
#@ transposh
|
286 |
msgid "Do automatic translation immediately after a post has been published"
|
287 |
msgstr "בצע תרגום אוטומטי מייד לאחר שפוסט מפורסם"
|
288 |
|
289 |
-
#: wp/transposh_admin.php:
|
290 |
#@ transposh
|
291 |
msgid "Select preferred auto translation engine"
|
292 |
msgstr "בחר את מנוע התרגום האוטומטי המועדף"
|
293 |
|
294 |
-
#: wp/transposh_admin.php:
|
295 |
#@ transposh
|
296 |
msgid "Translation engine:"
|
297 |
msgstr "מנוע תרגום:"
|
298 |
|
299 |
-
#: wp/transposh_admin.php:
|
300 |
#@ transposh
|
301 |
msgid "Google"
|
302 |
msgstr "גוגל"
|
303 |
|
304 |
-
#: wp/transposh_admin.php:
|
305 |
#@ transposh
|
306 |
msgid "Bing"
|
307 |
msgstr "בינג"
|
308 |
|
309 |
-
#: wp/transposh_admin.php:
|
310 |
#@ transposh
|
311 |
msgid "Rewrite URLs"
|
312 |
msgstr "שיכתוב כתובות אינטרנט"
|
313 |
|
314 |
-
#: wp/transposh_admin.php:
|
315 |
#@ transposh
|
316 |
msgid "Add scripts to footer"
|
317 |
msgstr "הוסף סקריפטים לתחתית הדף"
|
318 |
|
319 |
-
#: wp/transposh_admin.php:
|
320 |
#@ transposh
|
321 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
322 |
msgstr "הכנס את הסקריפטים של טרנספוש לתחתית העמוד במקום לחלקו העליון, העמוד יטען מהר יותר. ערכת העיצוב חייבת להכיל תמיכה בחלק תחתון."
|
323 |
|
324 |
-
#: wp/transposh_admin.php:
|
325 |
#@ transposh
|
326 |
msgid "Auto detect language for users"
|
327 |
msgstr "זהה שפה עבור המשתמשים באופן אוטומטי"
|
328 |
|
329 |
-
#: wp/transposh_admin.php:
|
330 |
#@ transposh
|
331 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
332 |
msgstr "תכונה זו מאפשרת זיהוי אוטומטי של השפה בה משתמשים המשתמשים כפי שמוגדרת ב-ACCEPT_LANGUAGES אותו הם שולחים. תכונה זו תשלח את הדף הראשון אל דף זהה בשפה שזוהתה."
|
333 |
|
334 |
-
#: wp/transposh_admin.php:
|
335 |
#@ transposh
|
336 |
msgid "Delete all automated translations"
|
337 |
msgstr "מחק את כל התרגומים האוטומטיים"
|
338 |
|
339 |
-
#: wp/transposh_admin.php:
|
340 |
#@ transposh
|
341 |
msgid "Delete automated translations older than 14 days"
|
342 |
msgstr "מחק תרגומים אוטומטיים בני יותר מ-14 ימים"
|
343 |
|
344 |
-
#: wp/transposh_admin.php:
|
345 |
#@ transposh
|
346 |
msgid "Backup service for human translation"
|
347 |
msgstr "שרות גיבוי לתרגום אנושי"
|
348 |
|
349 |
-
#: wp/transposh_admin.php:
|
350 |
#@ transposh
|
351 |
msgid "Enable daily backup"
|
352 |
msgstr "אפשר גיבוי יומי"
|
353 |
|
354 |
-
#: wp/transposh_admin.php:
|
355 |
#@ transposh
|
356 |
msgid "Enable live backup"
|
357 |
msgstr "אפשר גיבוי חי"
|
358 |
|
359 |
-
#: wp/transposh_admin.php:
|
360 |
#@ transposh
|
361 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
362 |
msgstr "בטל גיבוי (ניתן להריץ ידנית על ידי לחיצה על הכפתור למטה)"
|
363 |
|
364 |
-
#: wp/transposh_admin.php:
|
365 |
#@ transposh
|
366 |
msgid "How to restore?"
|
367 |
msgstr "איך לשחזר?"
|
368 |
|
369 |
-
#: wp/transposh_admin.php:
|
370 |
#@ transposh
|
371 |
msgid "Do Backup Now"
|
372 |
msgstr "גבה עכשיו"
|
@@ -391,91 +361,91 @@ msgstr "שאלות נפוצות"
|
|
391 |
msgid "Transposh control center"
|
392 |
msgstr "מרכז השליטה של טרנספוש"
|
393 |
|
394 |
-
#: wp/transposh_admin.php:
|
395 |
#@ transposh
|
396 |
msgid "Enable url translation"
|
397 |
msgstr "אפשר תרגום כתובות אינטרנט"
|
398 |
|
399 |
-
#: wp/transposh_admin.php:
|
400 |
-
#: wp/transposh_admin.php:
|
401 |
#@ transposh
|
402 |
msgid "experimental"
|
403 |
msgstr "נסיוני"
|
404 |
|
405 |
-
#: wp/transposh_admin.php:
|
406 |
#@ transposh
|
407 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
408 |
msgstr "שכתוב כתובות אינטרנט כדי שיהיו ידידותיות למנועי חיפוש, למשל (http://transposh.org/<strong>en</strong>). יש חובה להפעיל קישורים קבועים."
|
409 |
|
410 |
-
#: wp/transposh_db.php:
|
411 |
#@ transposh
|
412 |
msgid "Database stats"
|
413 |
msgstr "סטטיסטיקות בסיס הנתונים"
|
414 |
|
415 |
-
#: wp/transposh_db.php:
|
416 |
#, php-format
|
417 |
#@ transposh
|
418 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
419 |
msgstr "סך הכל <strong style=\"color:red\">%s</strong> מקטעים מתורגמים."
|
420 |
|
421 |
-
#: wp/transposh_db.php:
|
422 |
#, php-format
|
423 |
#@ transposh
|
424 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
425 |
msgstr "ב-<strong>%1s</strong> ישנם <strong style=\"color:red\">%2s</strong> מקטעים מתורגמים על ידי בן אדם."
|
426 |
|
427 |
-
#: wp/transposh_db.php:
|
428 |
#@ transposh
|
429 |
msgid "Recent activity"
|
430 |
msgstr "פעילות אחרונה"
|
431 |
|
432 |
-
#: wp/transposh_db.php:
|
433 |
#, php-format
|
434 |
#@ transposh
|
435 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
436 |
msgstr "ב <strong>%1s</strong><br/>המשתמש <strong>%2s</strong> תרגם את<br/>\"<strong>%3s</strong>\"<br/>ל <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
437 |
|
438 |
-
#: wp/transposh_widget.php:
|
439 |
#@ transposh
|
440 |
msgid "Style:"
|
441 |
msgstr "סגנון:"
|
442 |
|
443 |
-
#: wp/transposh_widget.php:
|
444 |
#@ transposh
|
445 |
msgid "Effects:"
|
446 |
msgstr "אפקטים:"
|
447 |
|
448 |
-
#: wp/transposh_widget.php:
|
449 |
#@ transposh
|
450 |
msgid "Show progress bar when a client triggers automatic translation"
|
451 |
msgstr "הראה בר התקדמות בעת שמשתמש יוזם תרגום אוטומטי"
|
452 |
|
453 |
-
#: wp/transposh_widget.php:
|
454 |
#@ transposh
|
455 |
msgid "Show progress bar"
|
456 |
msgstr "הצג בר התקדמות"
|
457 |
|
458 |
-
#: wp/transposh_widget.php:
|
459 |
#@ transposh
|
460 |
msgid "Widget will allow setting this language as user default"
|
461 |
msgstr "הישומון יאפשר הגדרת שפה זו כברירת מחדל"
|
462 |
|
463 |
-
#: wp/transposh_widget.php:
|
464 |
#@ transposh
|
465 |
msgid "Allow user to set current language as default"
|
466 |
msgstr "אפשר למשתמש לבחור את השפה הנוכחית כברירת מחדל"
|
467 |
|
468 |
-
#: wp/transposh_widget.php:
|
469 |
#@ transposh
|
470 |
msgid "Transposh logo will not appear on widget"
|
471 |
msgstr "הלוגו של טרנספוש לא יופיע בישומון"
|
472 |
|
473 |
-
#: wp/transposh_widget.php:
|
474 |
#@ transposh
|
475 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
476 |
msgstr "הסרת הלוגו של טרנספוש (ראה <a href=\"http://transposh.org/logoterms\">תנאים</a>)"
|
477 |
|
478 |
-
#: wp/transposh_admin.php:
|
479 |
#@ transposh
|
480 |
msgid "Service Key:"
|
481 |
msgstr "מפתח שרות:"
|
@@ -517,7 +487,7 @@ msgstr "צוות טרנספוש"
|
|
517 |
msgid "%VERSION%"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: transposh.php:
|
521 |
#@ default
|
522 |
msgid "Settings"
|
523 |
msgstr ""
|
@@ -527,13 +497,53 @@ msgstr ""
|
|
527 |
msgid "Save Changes"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: wp/transposh_admin.php:
|
531 |
#@ transposh
|
532 |
msgid "Enable gettext integration"
|
533 |
msgstr "אפשר אינטגרציית gettext"
|
534 |
|
535 |
-
#: wp/transposh_admin.php:
|
536 |
#@ transposh
|
537 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
538 |
msgstr "אפשר אינטגרציה של טרנספוש עם ממשק gettext הקיים (קבצי .po/.mo)"
|
539 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
#: wp/transposh_postpublish.php:50
|
102 |
#: wp/transposh_widget.php:88
|
103 |
#: wp/transposh_widget.php:91
|
104 |
+
#: wp/transposh_widget.php:252
|
105 |
#@ transposh
|
106 |
msgid "Transposh"
|
107 |
msgstr "טרנספוש"
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "תרגם הכל עכשיו"
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
#: wp/transposh_admin.php:278
|
120 |
#@ transposh
|
121 |
msgid "Plugin Homepage"
|
151 |
msgid "Language supported by bing translate"
|
152 |
msgstr "שפה נתמכת ע\"י המתרגם של בינג"
|
153 |
|
154 |
+
#: wp/transposh_admin.php:383
|
155 |
#@ transposh
|
156 |
msgid "Language is written from right to left"
|
157 |
msgstr "שפה הנכתבת מימין לשמאל"
|
158 |
|
159 |
+
#: wp/transposh_admin.php:388
|
160 |
#@ transposh
|
161 |
msgid "Display options:"
|
162 |
msgstr "הגדרות תצוגה:"
|
163 |
|
164 |
+
#: wp/transposh_admin.php:389
|
165 |
#@ transposh
|
166 |
msgid "Toggle names of languages between English and Original"
|
167 |
msgstr "שנה את הצגת שפות השפות בין אנגלית למקןר"
|
168 |
|
169 |
+
#: wp/transposh_admin.php:390
|
170 |
#@ transposh
|
171 |
msgid "Make all languages active"
|
172 |
msgstr "הפוך את כל השפות לפעילות"
|
173 |
|
174 |
+
#: wp/transposh_admin.php:391
|
175 |
#@ transposh
|
176 |
msgid "Sort by language name"
|
177 |
msgstr "מיין לפי שם השפה"
|
178 |
|
179 |
+
#: wp/transposh_admin.php:392
|
180 |
#@ transposh
|
181 |
msgid "Sort by lSO code"
|
182 |
msgstr "מיין לפי קוד ה-ISO"
|
183 |
|
184 |
+
#: wp/transposh_admin.php:393
|
185 |
#@ transposh
|
186 |
msgid "Legend:"
|
187 |
msgstr "מקרא:"
|
188 |
|
189 |
+
#: wp/transposh_admin.php:393
|
190 |
#@ transposh
|
191 |
msgid "Green - active"
|
192 |
msgstr "ירוק - פעיל"
|
193 |
|
194 |
+
#: wp/transposh_admin.php:393
|
195 |
#@ transposh
|
196 |
msgid "Yellow - translateable (only translators will see this language)"
|
197 |
msgstr "צהוב - ניתן לתרגום (רק מתרגמים יראו את השפה)"
|
198 |
|
199 |
+
#: wp/transposh_admin.php:393
|
200 |
#@ transposh
|
201 |
msgid "blank - inactive"
|
202 |
msgstr "ללא צבע - לא פעיל"
|
203 |
|
204 |
+
#: wp/transposh_admin.php:410
|
205 |
#@ transposh
|
206 |
msgid "Who can translate ?"
|
207 |
msgstr "מי יכול לתרגם?"
|
208 |
|
209 |
+
#: wp/transposh_admin.php:417
|
210 |
#@ transposh
|
211 |
msgid "Anonymous"
|
212 |
msgstr "אנונימי"
|
213 |
|
214 |
+
#: wp/transposh_admin.php:423
|
215 |
#@ transposh
|
216 |
msgid "Enable default language translation"
|
217 |
msgstr "אפשר תרגום של שפת ברירת המחדל"
|
218 |
|
219 |
+
#: wp/transposh_admin.php:425
|
220 |
#@ transposh
|
221 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
222 |
msgstr "אפשר תרגום שפת ברירת המחדל - שימושי באתרים עם יותר משפה עיקרית אחת"
|
223 |
|
224 |
+
#: wp/transposh_admin.php:432
|
225 |
#@ transposh
|
226 |
msgid "Enable search in translated languages"
|
227 |
msgstr "אפשר חיפוש בשפות המתורגמות"
|
228 |
|
229 |
+
#: wp/transposh_admin.php:434
|
230 |
#@ transposh
|
231 |
msgid "Allow search of translated languages, in those languages (and the original language)"
|
232 |
msgstr "אפשר חיפוש בשפות המתורגמות, בשפות אלו (ובשפת המקור)"
|
233 |
|
234 |
+
#: wp/transposh_admin.php:443
|
235 |
#@ transposh
|
236 |
msgid "Allow translation of permalinks and urls"
|
237 |
msgstr "אפשר תרגום של קישורים קבועים וכתובות אינטרנט"
|
238 |
|
239 |
+
#: wp/transposh_admin.php:461
|
240 |
#@ transposh
|
241 |
msgid "Enable automatic translation"
|
242 |
msgstr "אפשר תרגום אוטומטי"
|
243 |
|
244 |
+
#: wp/transposh_admin.php:463
|
245 |
#@ transposh
|
246 |
msgid "Allow automatic translation of pages"
|
247 |
msgstr "אפשר תרגום אוטומטי של דפים"
|
248 |
|
249 |
+
#: wp/transposh_admin.php:469
|
250 |
#@ transposh
|
251 |
msgid "Enable automatic translation after posting"
|
252 |
msgstr "אפשר תרגום אוטומטי לאחר יצירת פוסט"
|
253 |
|
254 |
+
#: wp/transposh_admin.php:471
|
255 |
#@ transposh
|
256 |
msgid "Do automatic translation immediately after a post has been published"
|
257 |
msgstr "בצע תרגום אוטומטי מייד לאחר שפוסט מפורסם"
|
258 |
|
259 |
+
#: wp/transposh_admin.php:476
|
260 |
#@ transposh
|
261 |
msgid "Select preferred auto translation engine"
|
262 |
msgstr "בחר את מנוע התרגום האוטומטי המועדף"
|
263 |
|
264 |
+
#: wp/transposh_admin.php:477
|
265 |
#@ transposh
|
266 |
msgid "Translation engine:"
|
267 |
msgstr "מנוע תרגום:"
|
268 |
|
269 |
+
#: wp/transposh_admin.php:479
|
270 |
#@ transposh
|
271 |
msgid "Google"
|
272 |
msgstr "גוגל"
|
273 |
|
274 |
+
#: wp/transposh_admin.php:480
|
275 |
#@ transposh
|
276 |
msgid "Bing"
|
277 |
msgstr "בינג"
|
278 |
|
279 |
+
#: wp/transposh_admin.php:490
|
280 |
#@ transposh
|
281 |
msgid "Rewrite URLs"
|
282 |
msgstr "שיכתוב כתובות אינטרנט"
|
283 |
|
284 |
+
#: wp/transposh_admin.php:501
|
285 |
#@ transposh
|
286 |
msgid "Add scripts to footer"
|
287 |
msgstr "הוסף סקריפטים לתחתית הדף"
|
288 |
|
289 |
+
#: wp/transposh_admin.php:504
|
290 |
#@ transposh
|
291 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
292 |
msgstr "הכנס את הסקריפטים של טרנספוש לתחתית העמוד במקום לחלקו העליון, העמוד יטען מהר יותר. ערכת העיצוב חייבת להכיל תמיכה בחלק תחתון."
|
293 |
|
294 |
+
#: wp/transposh_admin.php:510
|
295 |
#@ transposh
|
296 |
msgid "Auto detect language for users"
|
297 |
msgstr "זהה שפה עבור המשתמשים באופן אוטומטי"
|
298 |
|
299 |
+
#: wp/transposh_admin.php:513
|
300 |
#@ transposh
|
301 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
302 |
msgstr "תכונה זו מאפשרת זיהוי אוטומטי של השפה בה משתמשים המשתמשים כפי שמוגדרת ב-ACCEPT_LANGUAGES אותו הם שולחים. תכונה זו תשלח את הדף הראשון אל דף זהה בשפה שזוהתה."
|
303 |
|
304 |
+
#: wp/transposh_admin.php:523
|
305 |
#@ transposh
|
306 |
msgid "Delete all automated translations"
|
307 |
msgstr "מחק את כל התרגומים האוטומטיים"
|
308 |
|
309 |
+
#: wp/transposh_admin.php:524
|
310 |
#@ transposh
|
311 |
msgid "Delete automated translations older than 14 days"
|
312 |
msgstr "מחק תרגומים אוטומטיים בני יותר מ-14 ימים"
|
313 |
|
314 |
+
#: wp/transposh_admin.php:529
|
315 |
#@ transposh
|
316 |
msgid "Backup service for human translation"
|
317 |
msgstr "שרות גיבוי לתרגום אנושי"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:530
|
320 |
#@ transposh
|
321 |
msgid "Enable daily backup"
|
322 |
msgstr "אפשר גיבוי יומי"
|
323 |
|
324 |
+
#: wp/transposh_admin.php:531
|
325 |
#@ transposh
|
326 |
msgid "Enable live backup"
|
327 |
msgstr "אפשר גיבוי חי"
|
328 |
|
329 |
+
#: wp/transposh_admin.php:532
|
330 |
#@ transposh
|
331 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
332 |
msgstr "בטל גיבוי (ניתן להריץ ידנית על ידי לחיצה על הכפתור למטה)"
|
333 |
|
334 |
+
#: wp/transposh_admin.php:533
|
335 |
#@ transposh
|
336 |
msgid "How to restore?"
|
337 |
msgstr "איך לשחזר?"
|
338 |
|
339 |
+
#: wp/transposh_admin.php:535
|
340 |
#@ transposh
|
341 |
msgid "Do Backup Now"
|
342 |
msgstr "גבה עכשיו"
|
361 |
msgid "Transposh control center"
|
362 |
msgstr "מרכז השליטה של טרנספוש"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:441
|
365 |
#@ transposh
|
366 |
msgid "Enable url translation"
|
367 |
msgstr "אפשר תרגום כתובות אינטרנט"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:441
|
370 |
+
#: wp/transposh_admin.php:450
|
371 |
#@ transposh
|
372 |
msgid "experimental"
|
373 |
msgstr "נסיוני"
|
374 |
|
375 |
+
#: wp/transposh_admin.php:494
|
376 |
#@ transposh
|
377 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
378 |
msgstr "שכתוב כתובות אינטרנט כדי שיהיו ידידותיות למנועי חיפוש, למשל (http://transposh.org/<strong>en</strong>). יש חובה להפעיל קישורים קבועים."
|
379 |
|
380 |
+
#: wp/transposh_db.php:635
|
381 |
#@ transposh
|
382 |
msgid "Database stats"
|
383 |
msgstr "סטטיסטיקות בסיס הנתונים"
|
384 |
|
385 |
+
#: wp/transposh_db.php:640
|
386 |
#, php-format
|
387 |
#@ transposh
|
388 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
389 |
msgstr "סך הכל <strong style=\"color:red\">%s</strong> מקטעים מתורגמים."
|
390 |
|
391 |
+
#: wp/transposh_db.php:647
|
392 |
#, php-format
|
393 |
#@ transposh
|
394 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
395 |
msgstr "ב-<strong>%1s</strong> ישנם <strong style=\"color:red\">%2s</strong> מקטעים מתורגמים על ידי בן אדם."
|
396 |
|
397 |
+
#: wp/transposh_db.php:650
|
398 |
#@ transposh
|
399 |
msgid "Recent activity"
|
400 |
msgstr "פעילות אחרונה"
|
401 |
|
402 |
+
#: wp/transposh_db.php:655
|
403 |
#, php-format
|
404 |
#@ transposh
|
405 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
406 |
msgstr "ב <strong>%1s</strong><br/>המשתמש <strong>%2s</strong> תרגם את<br/>\"<strong>%3s</strong>\"<br/>ל <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
407 |
|
408 |
+
#: wp/transposh_widget.php:363
|
409 |
#@ transposh
|
410 |
msgid "Style:"
|
411 |
msgstr "סגנון:"
|
412 |
|
413 |
+
#: wp/transposh_widget.php:372
|
414 |
#@ transposh
|
415 |
msgid "Effects:"
|
416 |
msgstr "אפקטים:"
|
417 |
|
418 |
+
#: wp/transposh_widget.php:374
|
419 |
#@ transposh
|
420 |
msgid "Show progress bar when a client triggers automatic translation"
|
421 |
msgstr "הראה בר התקדמות בעת שמשתמש יוזם תרגום אוטומטי"
|
422 |
|
423 |
+
#: wp/transposh_widget.php:374
|
424 |
#@ transposh
|
425 |
msgid "Show progress bar"
|
426 |
msgstr "הצג בר התקדמות"
|
427 |
|
428 |
+
#: wp/transposh_widget.php:376
|
429 |
#@ transposh
|
430 |
msgid "Widget will allow setting this language as user default"
|
431 |
msgstr "הישומון יאפשר הגדרת שפה זו כברירת מחדל"
|
432 |
|
433 |
+
#: wp/transposh_widget.php:376
|
434 |
#@ transposh
|
435 |
msgid "Allow user to set current language as default"
|
436 |
msgstr "אפשר למשתמש לבחור את השפה הנוכחית כברירת מחדל"
|
437 |
|
438 |
+
#: wp/transposh_widget.php:378
|
439 |
#@ transposh
|
440 |
msgid "Transposh logo will not appear on widget"
|
441 |
msgstr "הלוגו של טרנספוש לא יופיע בישומון"
|
442 |
|
443 |
+
#: wp/transposh_widget.php:378
|
444 |
#@ transposh
|
445 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
446 |
msgstr "הסרת הלוגו של טרנספוש (ראה <a href=\"http://transposh.org/logoterms\">תנאים</a>)"
|
447 |
|
448 |
+
#: wp/transposh_admin.php:533
|
449 |
#@ transposh
|
450 |
msgid "Service Key:"
|
451 |
msgstr "מפתח שרות:"
|
487 |
msgid "%VERSION%"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: transposh.php:771
|
491 |
#@ default
|
492 |
msgid "Settings"
|
493 |
msgstr ""
|
497 |
msgid "Save Changes"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: wp/transposh_admin.php:450
|
501 |
#@ transposh
|
502 |
msgid "Enable gettext integration"
|
503 |
msgstr "אפשר אינטגרציית gettext"
|
504 |
|
505 |
+
#: wp/transposh_admin.php:452
|
506 |
#@ transposh
|
507 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
508 |
msgstr "אפשר אינטגרציה של טרנספוש עם ממשק gettext הקיים (קבצי .po/.mo)"
|
509 |
|
510 |
+
#: wp/transposh_admin.php:381
|
511 |
+
#@ transposh
|
512 |
+
msgid "Language supported by apertium translate"
|
513 |
+
msgstr "שפה נתמכת ע\"י המתרגם של אפרטיום"
|
514 |
+
|
515 |
+
#: wp/transposh_admin.php:525
|
516 |
+
#@ transposh
|
517 |
+
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
518 |
+
msgstr "נסה לתקן שגיאות שנגרמו על ידי גרסאות קודמות - אנא גבה קודם"
|
519 |
+
|
520 |
+
#: wp/transposh_widget.php:255
|
521 |
+
#@ transposh
|
522 |
+
msgid "translation plugin for wordpress"
|
523 |
+
msgstr "תוסף התרגום לוורדפרס"
|
524 |
+
|
525 |
+
#: wp/transposh_widget.php:258
|
526 |
+
#@ transposh
|
527 |
+
msgid "wordpress translation plugin"
|
528 |
+
msgstr "תוסף תרגום לוורדפרס"
|
529 |
+
|
530 |
+
#: wp/transposh_widget.php:261
|
531 |
+
#@ transposh
|
532 |
+
msgid "translate your blog to 60+ languages"
|
533 |
+
msgstr "תרגם את הבלוג שלך ל-60 שפות"
|
534 |
+
|
535 |
+
#: wp/transposh_widget.php:264
|
536 |
+
#@ transposh
|
537 |
+
msgid "website crowdsourcing translation plugin"
|
538 |
+
msgstr "תוסף מיקור המון (crowdsourcing) לתרגום אתרים"
|
539 |
+
|
540 |
+
#: wp/transposh_widget.php:267
|
541 |
+
#@ transposh
|
542 |
+
msgid "google translate and bing translate plugin for wordpress"
|
543 |
+
msgstr "תוסף תרגום גוגל ובינג לוורדפרס"
|
544 |
+
|
545 |
+
#: wp/transposh_widget.php:381
|
546 |
+
#@ transposh
|
547 |
+
msgid "Edit interface (and progress bar) theme:"
|
548 |
+
msgstr "ערכת עיצוב ממשק עריכה (ובר התקדמות):"
|
549 |
+
|
readme.txt
CHANGED
@@ -3,14 +3,16 @@ Contributors: oferwald
|
|
3 |
Donate link: http://transposh.org/donate/
|
4 |
Tags: translation, widget, filter, buddypress, bilingual, multilingual, transposh, translate, language, crowdsourcing, context, wiki, RTL, Hebrew, Spanish, French, Russian, English, Arabic, Portuguese
|
5 |
Requires at least: 2.8
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 0.
|
8 |
|
9 |
Transposh filter allows in context quick translation of websites, it allows you to crowd-source the translation to your users
|
10 |
|
11 |
== Description ==
|
12 |
Transposh translation filter for WordPress offers a unique approach to blog translation. It allows your blog to combine automatic translation with human translation aided by your users with an easy to use in-context interface.
|
13 |
|
|
|
|
|
14 |
***Transposh includes the following features:***
|
15 |
|
16 |
* Support for any language - including RTL/LTR layouts
|
@@ -18,10 +20,10 @@ Transposh translation filter for WordPress offers a unique approach to blog tran
|
|
18 |
* Multiple selection for widget appearances - with pluggable widgets
|
19 |
* Translation of external plugins without a need for .po/.mo files
|
20 |
* Automatic translation mode for all content (including comments!)
|
21 |
-
* Use either Google Translate or
|
22 |
* Automatic translation can be triggered on demand by the readers or on the server side
|
23 |
* RSS feeds are translated too
|
24 |
-
* Takes care of hidden elements, link tags and titles
|
25 |
* Translated languages are searchable
|
26 |
* Buddypress integration
|
27 |
|
@@ -165,6 +167,8 @@ images based on the current language
|
|
165 |
5. Widget style selection box, with three basic appearances, flags below (in Hebrew), language selection on the top right and language list on the bottom right.
|
166 |
|
167 |
== Upgrade Notice ==
|
|
|
|
|
168 |
= 0.6.6 =
|
169 |
Fixed two XSS vulnerabilities
|
170 |
= 0.6.3 =
|
@@ -195,6 +199,23 @@ This version provides integration with google-sitemaps-xml and wp-super-cache
|
|
195 |
This version allows sorting of languages within the widget
|
196 |
|
197 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
= 2010/12/17 - 0.6.7 =
|
199 |
* Allow Google to attempt a retranslation if it is unable to detect source language at first attempt
|
200 |
* Direct links to static files have a good chance of being answered now (thanks krizzz)
|
3 |
Donate link: http://transposh.org/donate/
|
4 |
Tags: translation, widget, filter, buddypress, bilingual, multilingual, transposh, translate, language, crowdsourcing, context, wiki, RTL, Hebrew, Spanish, French, Russian, English, Arabic, Portuguese
|
5 |
Requires at least: 2.8
|
6 |
+
Tested up to: 3.1
|
7 |
+
Stable tag: 0.7.0
|
8 |
|
9 |
Transposh filter allows in context quick translation of websites, it allows you to crowd-source the translation to your users
|
10 |
|
11 |
== Description ==
|
12 |
Transposh translation filter for WordPress offers a unique approach to blog translation. It allows your blog to combine automatic translation with human translation aided by your users with an easy to use in-context interface.
|
13 |
|
14 |
+
[youtube http://www.youtube.com/watch?v=ktGtPb6SB34]
|
15 |
+
|
16 |
***Transposh includes the following features:***
|
17 |
|
18 |
* Support for any language - including RTL/LTR layouts
|
20 |
* Multiple selection for widget appearances - with pluggable widgets
|
21 |
* Translation of external plugins without a need for .po/.mo files
|
22 |
* Automatic translation mode for all content (including comments!)
|
23 |
+
* Use either Google Translate,MS Translate or Apertium backends - 60 languages supported!
|
24 |
* Automatic translation can be triggered on demand by the readers or on the server side
|
25 |
* RSS feeds are translated too
|
26 |
+
* Takes care of hidden elements, link tags, meta contents and titles
|
27 |
* Translated languages are searchable
|
28 |
* Buddypress integration
|
29 |
|
167 |
5. Widget style selection box, with three basic appearances, flags below (in Hebrew), language selection on the top right and language list on the bottom right.
|
168 |
|
169 |
== Upgrade Notice ==
|
170 |
+
= 0.7.0 =
|
171 |
+
New edit interface, tons of other fixes
|
172 |
= 0.6.6 =
|
173 |
Fixed two XSS vulnerabilities
|
174 |
= 0.6.3 =
|
199 |
This version allows sorting of languages within the widget
|
200 |
|
201 |
== Changelog ==
|
202 |
+
= 2011/01/11 - 0.7.0 =
|
203 |
+
* Revamped edit interface
|
204 |
+
* Allow simple localization of interface
|
205 |
+
* Go to previous/next translation item
|
206 |
+
* Focus on phrase being translated
|
207 |
+
* Allow viewing original in other language if it was translated previously by a human (thanks [Hanan](http://www.galgalyarok.org/))
|
208 |
+
* Allow approval of auto translation
|
209 |
+
* Support for virtual keyboard from http://www.greywyvern.com/code/javascript/keyboard
|
210 |
+
* Support theming of interface using [themeroller](http://ui-dev.jquery.com/themeroller/) themes
|
211 |
+
* Bad translations may be deleted using the history log dialog
|
212 |
+
* Cleaned close confirmation dialog
|
213 |
+
* First plugin to date to support Esperanto using Apertium (from sites in Spanish or English)
|
214 |
+
* Allow translations of meta tags
|
215 |
+
* Database cleanup function added
|
216 |
+
* Changed collation of database to UTF8_bin in order to support different translations for different capitalizations (hello -> hola, Hello -> Hola)
|
217 |
+
* Hebrew translation of front end thanks [Amir](http://colnect.com/he)
|
218 |
+
* Spanish translation of front end thanks [Ignacio](http://colnect.com/es/collectors/collector/iflvico)
|
219 |
= 2010/12/17 - 0.6.7 =
|
220 |
* Allow Google to attempt a retranslation if it is unable to detect source language at first attempt
|
221 |
* Direct links to static files have a good chance of being answered now (thanks krizzz)
|
transposh.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
Plugin URI: http://transposh.org/
|
6 |
Description: Translation filter for WordPress, After enabling please set languages at the <a href="options-general.php?page=transposh">the options page</a> Want to help? visit our development site at <a href="http://trac.transposh.org/">trac.transposh.org</a>.
|
7 |
Author: Team Transposh
|
8 |
-
Version: 0.
|
9 |
Author URI: http://transposh.org/
|
10 |
License: GPL (http://www.gnu.org/licenses/gpl.txt)
|
11 |
Text Domain: transposh
|
@@ -13,14 +13,14 @@
|
|
13 |
*/
|
14 |
|
15 |
/*
|
16 |
-
* Transposh v0.
|
17 |
* http://transposh.org/
|
18 |
*
|
19 |
-
* Copyright
|
20 |
* Licensed under the GPL Version 2 or higher.
|
21 |
* http://transposh.org/license
|
22 |
*
|
23 |
-
* Date:
|
24 |
*/
|
25 |
|
26 |
//avoid direct calls to this file where wp core files not present
|
@@ -650,6 +650,8 @@ class transposh_plugin {
|
|
650 |
$script_params['msn'] = 1;
|
651 |
if (in_array($this->target_language, transposh_consts::$google_languages))
|
652 |
$script_params['google'] = 1;
|
|
|
|
|
653 |
if (function_exists('curl_init') && in_array($this->target_language, transposh_consts::$google_proxied_languages))
|
654 |
$script_params['tgp'] = 1;
|
655 |
if ($this->options->get_widget_progressbar())
|
@@ -660,12 +662,15 @@ class transposh_plugin {
|
|
660 |
// load translations needed for edit interface
|
661 |
if ($this->edit_mode) {
|
662 |
$script_params['edit'] = 1;
|
663 |
-
$
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
|
|
|
|
668 |
}
|
|
|
669 |
// 'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
|
670 |
wp_localize_script('transposh', 't_jp', $script_params);
|
671 |
|
5 |
Plugin URI: http://transposh.org/
|
6 |
Description: Translation filter for WordPress, After enabling please set languages at the <a href="options-general.php?page=transposh">the options page</a> Want to help? visit our development site at <a href="http://trac.transposh.org/">trac.transposh.org</a>.
|
7 |
Author: Team Transposh
|
8 |
+
Version: 0.7.0
|
9 |
Author URI: http://transposh.org/
|
10 |
License: GPL (http://www.gnu.org/licenses/gpl.txt)
|
11 |
Text Domain: transposh
|
13 |
*/
|
14 |
|
15 |
/*
|
16 |
+
* Transposh v0.7.0
|
17 |
* http://transposh.org/
|
18 |
*
|
19 |
+
* Copyright 2011, Team Transposh
|
20 |
* Licensed under the GPL Version 2 or higher.
|
21 |
* http://transposh.org/license
|
22 |
*
|
23 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
24 |
*/
|
25 |
|
26 |
//avoid direct calls to this file where wp core files not present
|
650 |
$script_params['msn'] = 1;
|
651 |
if (in_array($this->target_language, transposh_consts::$google_languages))
|
652 |
$script_params['google'] = 1;
|
653 |
+
if (in_array($this->target_language, transposh_consts::$apertium_languages))
|
654 |
+
$script_params['apertium'] = 1;
|
655 |
if (function_exists('curl_init') && in_array($this->target_language, transposh_consts::$google_proxied_languages))
|
656 |
$script_params['tgp'] = 1;
|
657 |
if ($this->options->get_widget_progressbar())
|
662 |
// load translations needed for edit interface
|
663 |
if ($this->edit_mode) {
|
664 |
$script_params['edit'] = 1;
|
665 |
+
if (file_exists($this->transposh_plugin_dir . TRANSPOSH_DIR_JS . '/l/' . $this->target_language . '.js')) {
|
666 |
+
$script_params['locale'] = 1;
|
667 |
+
}
|
668 |
+
}
|
669 |
+
// set theme when it is needed
|
670 |
+
if ($this->options->get_widget_progressbar() || $this->edit_mode) {
|
671 |
+
$script_params['theme'] = $this->options->get_widget_theme();
|
672 |
}
|
673 |
+
|
674 |
// 'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
|
675 |
wp_localize_script('transposh', 't_jp', $script_params);
|
676 |
|
widgets/default/tpw_default.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/*
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/*
|
widgets/dropdown/tpw_image_dropdown.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
widgets/flags/flags60.png
ADDED
Binary file
|
widgets/flags/tpw_flags.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
widgets/flags/tpw_flags_css.css
CHANGED
@@ -29,7 +29,7 @@
|
|
29 |
|
30 |
/* define the .css sprites here */
|
31 |
.trf {
|
32 |
-
background-image:url(
|
33 |
height:11px;
|
34 |
width:16px;
|
35 |
background-repeat:no-repeat;
|
@@ -52,46 +52,47 @@
|
|
52 |
.trf-cz {background-position: -312px 0}
|
53 |
.trf-dk {background-position: -336px 0}
|
54 |
.trf-nl {background-position: -360px 0}
|
55 |
-
.trf-
|
56 |
-
.trf-
|
57 |
-
.trf-
|
58 |
-
.trf-
|
59 |
-
.trf-
|
60 |
-
.trf-
|
61 |
-
.trf-
|
62 |
-
.trf-
|
63 |
-
.trf-
|
64 |
-
.trf-
|
65 |
-
.trf-
|
66 |
-
.trf-
|
67 |
-
.trf-
|
68 |
-
.trf-
|
69 |
-
.trf-
|
70 |
-
.trf-
|
71 |
-
.trf-
|
72 |
-
.trf-
|
73 |
-
.trf-
|
74 |
-
.trf-
|
75 |
-
.trf-
|
76 |
-
.trf-
|
77 |
-
.trf-
|
78 |
-
.trf-
|
79 |
-
.trf-
|
80 |
-
.trf-
|
81 |
-
.trf-
|
82 |
-
.trf-
|
83 |
-
.trf-
|
84 |
-
.trf-
|
85 |
-
.trf-
|
86 |
-
.trf-
|
87 |
-
.trf-
|
88 |
-
.trf-
|
89 |
-
.trf-
|
90 |
-
.trf-
|
91 |
-
.trf-
|
92 |
-
.trf-
|
93 |
-
.trf-
|
94 |
-
.trf-
|
95 |
-
.trf-
|
96 |
-
.trf-
|
97 |
-
.trf-
|
|
29 |
|
30 |
/* define the .css sprites here */
|
31 |
.trf {
|
32 |
+
background-image:url(flags60.png);
|
33 |
height:11px;
|
34 |
width:16px;
|
35 |
background-repeat:no-repeat;
|
52 |
.trf-cz {background-position: -312px 0}
|
53 |
.trf-dk {background-position: -336px 0}
|
54 |
.trf-nl {background-position: -360px 0}
|
55 |
+
.trf-esperanto {background-position: -384px 0}
|
56 |
+
.trf-ee {background-position: -408px 0}
|
57 |
+
.trf-fi {background-position: -432px 0}
|
58 |
+
.trf-fr {background-position: -456px 0}
|
59 |
+
.trf-galicia {background-position: -480px 0}
|
60 |
+
.trf-ge {background-position: -504px 0}
|
61 |
+
.trf-de {background-position: -528px 0}
|
62 |
+
.trf-gr {background-position: -552px 0}
|
63 |
+
.trf-ht {background-position: -576px 0}
|
64 |
+
.trf-il {background-position: -600px 0}
|
65 |
+
.trf-in {background-position: -624px 0}
|
66 |
+
.trf-hu {background-position: -648px 0}
|
67 |
+
.trf-is {background-position: -672px 0}
|
68 |
+
.trf-id {background-position: -696px 0}
|
69 |
+
.trf-ie {background-position: -720px 0}
|
70 |
+
.trf-it {background-position: -744px 0}
|
71 |
+
.trf-jp {background-position: -768px 0}
|
72 |
+
.trf-kr {background-position: -792px 0}
|
73 |
+
.trf-va {background-position: -816px 0}
|
74 |
+
.trf-lv {background-position: -840px 0}
|
75 |
+
.trf-lt {background-position: -864px 0}
|
76 |
+
.trf-mk {background-position: -888px 0}
|
77 |
+
.trf-my {background-position: -912px 0}
|
78 |
+
.trf-mt {background-position: -936px 0}
|
79 |
+
.trf-no {background-position: -960px 0}
|
80 |
+
.trf-ir {background-position: -984px 0}
|
81 |
+
.trf-pl {background-position: -1008px 0}
|
82 |
+
.trf-pt {background-position: -1032px 0}
|
83 |
+
.trf-ro {background-position: -1056px 0}
|
84 |
+
.trf-ru {background-position: -1080px 0}
|
85 |
+
.trf-rs {background-position: -1104px 0}
|
86 |
+
.trf-sk {background-position: -1128px 0}
|
87 |
+
.trf-si {background-position: -1152px 0}
|
88 |
+
.trf-es {background-position: -1176px 0}
|
89 |
+
.trf-ke {background-position: -1200px 0}
|
90 |
+
.trf-se {background-position: -1224px 0}
|
91 |
+
.trf-ph {background-position: -1248px 0}
|
92 |
+
.trf-th {background-position: -1272px 0}
|
93 |
+
.trf-tr {background-position: -1296px 0}
|
94 |
+
.trf-ua {background-position: -1320px 0}
|
95 |
+
.trf-pk {background-position: -1344px 0}
|
96 |
+
.trf-vn {background-position: -1368px 0}
|
97 |
+
.trf-wales {background-position: -1392px 0}
|
98 |
+
.trf-europeanunion {background-position: -1416px 0}
|
widgets/flags/tpw_flags_css.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
widgets/flagslist/tpw_list_with_flags.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
widgets/flagslist/tpw_list_with_flags_css.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
-
* Copyright
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.7.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
+
* Copyright 2011, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
wp/transposh_3rdparty.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
wp/transposh_admin.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -377,6 +377,8 @@ class transposh_plugin_admin {
|
|
377 |
echo '<img width="16" height="16" alt="g" class="logoicon" title="' . esc_attr__('Language supported by google translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/googleicon.png"/>';
|
378 |
if (in_array($langcode, transposh_consts::$bing_languages))
|
379 |
echo '<img width="16" height="16" alt="b" class="logoicon" title="' . esc_attr__('Language supported by bing translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/bingicon.png"/>';
|
|
|
|
|
380 |
if (in_array($langcode, transposh_consts::$rtl_languages))
|
381 |
echo '<img width="16" height="16" alt="r" class="logoicon" title="' . esc_attr__('Language is written from right to left', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/rtlicon.png"/>';
|
382 |
echo '</li>';
|
@@ -516,10 +518,11 @@ class transposh_plugin_admin {
|
|
516 |
|
517 |
function on_contentbox_database_content($data) {
|
518 |
/*
|
519 |
-
* Insert
|
520 |
*/
|
521 |
echo '<div style="margin:10px 0"><a id="transposh-clean-auto" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete all automated translations', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
522 |
echo '<div style="margin:10px 0"><a id="transposh-clean-auto14" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete automated translations older than 14 days', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
|
|
523 |
}
|
524 |
|
525 |
function on_contentbox_community_content($data) {
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
377 |
echo '<img width="16" height="16" alt="g" class="logoicon" title="' . esc_attr__('Language supported by google translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/googleicon.png"/>';
|
378 |
if (in_array($langcode, transposh_consts::$bing_languages))
|
379 |
echo '<img width="16" height="16" alt="b" class="logoicon" title="' . esc_attr__('Language supported by bing translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/bingicon.png"/>';
|
380 |
+
if (in_array($langcode, transposh_consts::$apertium_languages))
|
381 |
+
echo '<img width="16" height="16" alt="a" class="logoicon" title="' . esc_attr__('Language supported by apertium translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/apertiumicon.png"/>';
|
382 |
if (in_array($langcode, transposh_consts::$rtl_languages))
|
383 |
echo '<img width="16" height="16" alt="r" class="logoicon" title="' . esc_attr__('Language is written from right to left', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/rtlicon.png"/>';
|
384 |
echo '</li>';
|
518 |
|
519 |
function on_contentbox_database_content($data) {
|
520 |
/*
|
521 |
+
* Insert buttons allowing removal of automated translations from database and maintenence
|
522 |
*/
|
523 |
echo '<div style="margin:10px 0"><a id="transposh-clean-auto" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete all automated translations', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
524 |
echo '<div style="margin:10px 0"><a id="transposh-clean-auto14" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete automated translations older than 14 days', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
525 |
+
echo '<div style="margin:10px 0"><a id="transposh-maint" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Attempt to fix errors caused by previous versions - please backup first', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
526 |
}
|
527 |
|
528 |
function on_contentbox_community_content($data) {
|
wp/transposh_ajax.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -44,8 +44,16 @@ if (isset($_POST['translation_posted'])) {
|
|
44 |
}
|
45 |
// getting translation history
|
46 |
elseif (isset($_GET['tr_token_hist'])) {
|
|
|
|
|
|
|
|
|
47 |
$my_transposh_plugin->database->get_translation_history($_GET['tr_token_hist'], $_GET['lang']);
|
48 |
}
|
|
|
|
|
|
|
|
|
49 |
// getting phrases of a post (if we are in admin)
|
50 |
elseif (isset($_GET['tr_phrases_post'])) {
|
51 |
$my_transposh_plugin->postpublish->get_post_phrases($_GET['post']);
|
@@ -106,4 +114,10 @@ elseif (isset($_GET['cleanup'])) {
|
|
106 |
check_ajax_referer('transposh-clean', 'nonce');
|
107 |
$my_transposh_plugin->database->cleanup($_GET['days']);
|
108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
?>
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
44 |
}
|
45 |
// getting translation history
|
46 |
elseif (isset($_GET['tr_token_hist'])) {
|
47 |
+
// deleting
|
48 |
+
if (isset($_GET['action']) && $_GET['action'] == 'delete') {
|
49 |
+
$my_transposh_plugin->database->del_translation_history($_GET['tr_token_hist'], $_GET['lang'], $_GET['timestamp']);
|
50 |
+
}
|
51 |
$my_transposh_plugin->database->get_translation_history($_GET['tr_token_hist'], $_GET['lang']);
|
52 |
}
|
53 |
+
// getting translation alternates
|
54 |
+
elseif (isset($_GET['tr_token_alt'])) {
|
55 |
+
$my_transposh_plugin->database->get_translation_alt($_GET['tr_token_alt']);
|
56 |
+
}
|
57 |
// getting phrases of a post (if we are in admin)
|
58 |
elseif (isset($_GET['tr_phrases_post'])) {
|
59 |
$my_transposh_plugin->postpublish->get_post_phrases($_GET['post']);
|
114 |
check_ajax_referer('transposh-clean', 'nonce');
|
115 |
$my_transposh_plugin->database->cleanup($_GET['days']);
|
116 |
}
|
117 |
+
// Start maint
|
118 |
+
elseif (isset($_GET['maint'])) {
|
119 |
+
// just make sure the admin started this... recently enough
|
120 |
+
check_ajax_referer('transposh-clean', 'nonce');
|
121 |
+
$my_transposh_plugin->database->db_maint();
|
122 |
+
}
|
123 |
?>
|
wp/transposh_backup.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
wp/transposh_db.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -24,7 +24,7 @@ define('TRANSLATIONS_TABLE', 'translations');
|
|
24 |
define('TRANSLATIONS_LOG', 'translations_log');
|
25 |
|
26 |
//Database version
|
27 |
-
define('DB_VERSION', '1.
|
28 |
|
29 |
//Constant used as key in options database
|
30 |
define('TRANSPOSH_DB_VERSION', "transposh_db_version");
|
@@ -147,6 +147,7 @@ class transposh_database {
|
|
147 |
function prefetch_translations($originals, $lang) {
|
148 |
if (!$originals) return;
|
149 |
|
|
|
150 |
foreach ($originals as $original => $truth) {
|
151 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
152 |
$cached = $this->cache_fetch($original, $lang);
|
@@ -156,6 +157,9 @@ class transposh_database {
|
|
156 |
}
|
157 |
$where .= ( ($where) ? ' OR ' : '') . "original = '$original'";
|
158 |
}
|
|
|
|
|
|
|
159 |
// If we have nothing, we will do nothing
|
160 |
if (!$where) return;
|
161 |
$query = "SELECT original, translated, source FROM {$this->translation_table} WHERE ($where) and lang = '$lang' ";
|
@@ -188,10 +192,13 @@ class transposh_database {
|
|
188 |
return $cached;
|
189 |
}
|
190 |
// then we look for a prefetch
|
191 |
-
if ($this->translations[$original]) {
|
192 |
$translated = $this->translations[$original];
|
193 |
|
194 |
} else {
|
|
|
|
|
|
|
195 |
$query = "SELECT * FROM {$this->translation_table} WHERE original = '$original' and lang = '$lang' ";
|
196 |
$row = $GLOBALS['wpdb']->get_row($query);
|
197 |
|
@@ -227,6 +234,7 @@ class transposh_database {
|
|
227 |
|
228 |
return $cached;
|
229 |
}
|
|
|
230 |
// FIXME - no prefetching for originals yet...
|
231 |
if ($this->translations[$translation]) {
|
232 |
$original = $this->translations[$translation];
|
@@ -306,6 +314,8 @@ class transposh_database {
|
|
306 |
$delvalues = '';
|
307 |
$logvalues = '';
|
308 |
$backup_immidiate_possible = false;
|
|
|
|
|
309 |
// We are now processing all posted items
|
310 |
for ($i = 0; $i < $items; $i++) {
|
311 |
if (isset($_POST["tk$i"])) {
|
@@ -326,6 +336,12 @@ class transposh_database {
|
|
326 |
$source = $_POST["sr$i"];
|
327 |
}
|
328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
// should we backup? - yes on any human translation
|
330 |
if ($source == 0) $backup_immidiate_possible = true;
|
331 |
|
@@ -344,13 +360,14 @@ class transposh_database {
|
|
344 |
}
|
345 |
}
|
346 |
// Setting the values string for the database (notice how concatanation is handled)
|
347 |
-
$values .= "('" . $original . "','" . $translation . "','" . $lang . "','" . $source . "')"
|
348 |
-
$delvalues .=
|
349 |
// Setting the transaction log records
|
350 |
-
$logvalues .= "('" . $original . "','" . $translation . "','" . $lang . "','" . $loguser . "','" . $source . "')"
|
351 |
|
352 |
// If we have caching - we remove previous entry from cache
|
353 |
$this->cache_delete($original, $lang);
|
|
|
354 |
// TODO - maybe store value here?
|
355 |
}
|
356 |
|
@@ -437,26 +454,113 @@ class transposh_database {
|
|
437 |
|
438 |
|
439 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
|
441 |
-
//
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
'
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
}
|
457 |
-
echo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
}
|
459 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
exit;
|
461 |
}
|
462 |
|
@@ -492,21 +596,22 @@ class transposh_database {
|
|
492 |
if ($installed_ver != DB_VERSION) {
|
493 |
|
494 |
// notice - keep every field on a new line or dbdelta fails
|
495 |
-
$GLOBALS['wpdb']->query("ALTER TABLE $
|
496 |
$sql = "CREATE TABLE {$this->translation_table} (
|
497 |
original TEXT NOT NULL,
|
498 |
lang CHAR(5) NOT NULL,
|
499 |
translated TEXT,
|
500 |
source TINYINT NOT NULL,
|
501 |
KEY original (original(6),lang)
|
502 |
-
) DEFAULT CHARSET=utf8 COLLATE=
|
503 |
|
504 |
dbDelta($sql);
|
|
|
505 |
|
506 |
|
507 |
// notice - keep every field on a new line or dbdelta fails
|
508 |
// this should be removed in a far future...
|
509 |
-
$GLOBALS['wpdb']->query("ALTER TABLE $
|
510 |
$sql = "CREATE TABLE {$this->translation_log_table} (
|
511 |
original text NOT NULL,
|
512 |
lang CHAR(5) NOT NULL,
|
@@ -515,9 +620,11 @@ class transposh_database {
|
|
515 |
source TINYINT NOT NULL,
|
516 |
timestamp TIMESTAMP,
|
517 |
KEY original (original(6),lang,timestamp)
|
518 |
-
) DEFAULT CHARSET=utf8 COLLATE=
|
519 |
|
520 |
dbDelta($sql);
|
|
|
|
|
521 |
update_option(TRANSPOSH_DB_VERSION, DB_VERSION);
|
522 |
}
|
523 |
|
@@ -560,15 +667,16 @@ class transposh_database {
|
|
560 |
*/
|
561 |
function get_orignal_phrases_for_search_term($term, $language) {
|
562 |
$n = '%';
|
563 |
-
$term =
|
|
|
564 |
$query = "SELECT original" .
|
565 |
" FROM `{$this->translation_table}`" .
|
566 |
-
" WHERE `lang`
|
567 |
" AND `translated` LIKE '{$n}{$term}{$n}'";
|
568 |
//TODO wait for feedbacks to see if we should put a limit here.
|
569 |
-
|
570 |
|
571 |
$result = array();
|
|
|
572 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
573 |
|
574 |
foreach ($rows as $row) {
|
@@ -612,6 +720,93 @@ class transposh_database {
|
|
612 |
exit;
|
613 |
}
|
614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
function restore_translation($original, $lang, $translation, $by, $timestamp) {
|
616 |
// TODO in future
|
617 |
// if there is a newer human translation, just ignore this
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/**
|
24 |
define('TRANSLATIONS_LOG', 'translations_log');
|
25 |
|
26 |
//Database version
|
27 |
+
define('DB_VERSION', '1.05');
|
28 |
|
29 |
//Constant used as key in options database
|
30 |
define('TRANSPOSH_DB_VERSION', "transposh_db_version");
|
147 |
function prefetch_translations($originals, $lang) {
|
148 |
if (!$originals) return;
|
149 |
|
150 |
+
$where = '';
|
151 |
foreach ($originals as $original => $truth) {
|
152 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
153 |
$cached = $this->cache_fetch($original, $lang);
|
157 |
}
|
158 |
$where .= ( ($where) ? ' OR ' : '') . "original = '$original'";
|
159 |
}
|
160 |
+
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
161 |
+
if (!($this->transposh->options->is_editable_language($lang))) return;
|
162 |
+
|
163 |
// If we have nothing, we will do nothing
|
164 |
if (!$where) return;
|
165 |
$query = "SELECT original, translated, source FROM {$this->translation_table} WHERE ($where) and lang = '$lang' ";
|
192 |
return $cached;
|
193 |
}
|
194 |
// then we look for a prefetch
|
195 |
+
if (isset($this->translations[$original])) {
|
196 |
$translated = $this->translations[$original];
|
197 |
|
198 |
} else {
|
199 |
+
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
200 |
+
if (!($this->transposh->options->is_editable_language($lang)))
|
201 |
+
return;
|
202 |
$query = "SELECT * FROM {$this->translation_table} WHERE original = '$original' and lang = '$lang' ";
|
203 |
$row = $GLOBALS['wpdb']->get_row($query);
|
204 |
|
234 |
|
235 |
return $cached;
|
236 |
}
|
237 |
+
// lang
|
238 |
// FIXME - no prefetching for originals yet...
|
239 |
if ($this->translations[$translation]) {
|
240 |
$original = $this->translations[$translation];
|
314 |
$delvalues = '';
|
315 |
$logvalues = '';
|
316 |
$backup_immidiate_possible = false;
|
317 |
+
$firstitem = true;
|
318 |
+
$alreadybatched = array();
|
319 |
// We are now processing all posted items
|
320 |
for ($i = 0; $i < $items; $i++) {
|
321 |
if (isset($_POST["tk$i"])) {
|
336 |
$source = $_POST["sr$i"];
|
337 |
}
|
338 |
|
339 |
+
// we attempt to avoid
|
340 |
+
if (isset($alreadybatched[$original . '---' . $lang])) {
|
341 |
+
|
342 |
+
continue;
|
343 |
+
}
|
344 |
+
$alreadybatched[$original . '---' . $lang] = true;
|
345 |
// should we backup? - yes on any human translation
|
346 |
if ($source == 0) $backup_immidiate_possible = true;
|
347 |
|
360 |
}
|
361 |
}
|
362 |
// Setting the values string for the database (notice how concatanation is handled)
|
363 |
+
$values .= ( $firstitem ? '' : ', ') . "('" . $original . "','" . $translation . "','" . $lang . "','" . $source . "')";
|
364 |
+
$delvalues .= ( $firstitem ? '' : ' OR ') . "(original ='$original' AND lang='$lang')";
|
365 |
// Setting the transaction log records
|
366 |
+
$logvalues .= ( $firstitem ? '' : ', ') . "('" . $original . "','" . $translation . "','" . $lang . "','" . $loguser . "','" . $source . "')";
|
367 |
|
368 |
// If we have caching - we remove previous entry from cache
|
369 |
$this->cache_delete($original, $lang);
|
370 |
+
$firstitem = false;
|
371 |
// TODO - maybe store value here?
|
372 |
}
|
373 |
|
454 |
|
455 |
|
456 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
457 |
+
for ($i = 0; $i < count($rows); $i++) {
|
458 |
+
if (($rows[$i]->translated_by == $_SERVER['REMOTE_ADDR'] && $rows[$i]->source == '0') || (is_user_logged_in() && current_user_can(TRANSLATOR)) || current_user_can('manage_options')) {
|
459 |
+
$rows[$i]->can_delete = true;
|
460 |
+
}
|
461 |
+
}
|
462 |
+
// sending as json
|
463 |
+
// CHECK!!! header("Content-type: application/json");
|
464 |
+
echo json_encode($rows);
|
465 |
+
exit;
|
466 |
+
}
|
467 |
+
|
468 |
+
/**
|
469 |
+
* Delete a specific translation history from the logs
|
470 |
+
* @param string $token
|
471 |
+
* @param string $lang
|
472 |
+
* @param string $timestamp
|
473 |
+
*/
|
474 |
+
function del_translation_history($token, $lang, $timestamp) {
|
475 |
+
$original = transposh_utils::base64_url_decode($token);
|
476 |
+
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
477 |
+
$lang = $GLOBALS['wpdb']->escape($lang);
|
478 |
+
$timestamp = $GLOBALS['wpdb']->escape($timestamp);
|
479 |
+
header('Transposh: v-' . TRANSPOSH_PLUGIN_VER . ' db_version-' . DB_VERSION);
|
480 |
+
$query = "SELECT translated, translated_by, timestamp, source " .
|
481 |
+
"FROM {$this->translation_log_table} " .
|
482 |
+
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp' " .
|
483 |
+
"ORDER BY timestamp DESC";
|
484 |
+
$rows = $GLOBALS['wpdb']->get_results($query);
|
485 |
|
486 |
+
// We only delete if we found something to delete and it is allowed to delete it (user either did that - by ip, has the translator role or is an admin)
|
487 |
+
if (!empty($rows) && (($rows[0]->translated_by == $_SERVER['REMOTE_ADDR'] && $rows[0]->source == '0') || (is_user_logged_in() && current_user_can(TRANSLATOR)) || current_user_can('manage_options'))) {
|
488 |
+
// delete faulty record
|
489 |
+
$query = "DELETE " .
|
490 |
+
"FROM {$this->translation_log_table} " .
|
491 |
+
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp'";
|
492 |
+
$GLOBALS['wpdb']->query($query);
|
493 |
+
|
494 |
+
// retrieve last translation
|
495 |
+
$query = "SELECT translated, source " .
|
496 |
+
"FROM {$this->translation_log_table} " .
|
497 |
+
"WHERE original='$original' AND lang='$lang' " .
|
498 |
+
"ORDER BY timestamp DESC";
|
499 |
+
$rows = $GLOBALS['wpdb']->get_results($query);
|
500 |
+
|
501 |
+
|
502 |
+
// delete and revert to last in database
|
503 |
+
$delvalues = "(original ='$original' AND lang='$lang')";
|
504 |
+
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
505 |
+
$this->cache_delete($original, $lang);
|
506 |
+
|
507 |
+
$result = $GLOBALS['wpdb']->query($update);
|
508 |
+
if (!empty($rows)) {
|
509 |
+
$translated = $GLOBALS['wpdb']->escape($rows[0]->translated);
|
510 |
+
$values = "('" . $original . "','" . $translated . "','" . $lang . "','" . $rows[0]->source . "')";
|
511 |
+
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
512 |
+
|
513 |
+
$result = $GLOBALS['wpdb']->query($update);
|
514 |
+
} else {
|
515 |
+
// there is nothing to revert to...
|
516 |
+
$rows[0]->translated = '';
|
517 |
}
|
518 |
+
echo json_encode($rows[0]);
|
519 |
+
} else {
|
520 |
+
echo json_encode(false);
|
521 |
+
}
|
522 |
+
exit;
|
523 |
+
}
|
524 |
+
|
525 |
+
/**
|
526 |
+
* Get translation alternatives for some translation.
|
527 |
+
* @param string $token
|
528 |
+
*/
|
529 |
+
function get_translation_alt($token) {
|
530 |
+
|
531 |
+
//$ref = getenv('HTTP_REFERER');
|
532 |
+
$original = transposh_utils::base64_url_decode($token);
|
533 |
+
|
534 |
+
|
535 |
+
if (!isset($original)) {
|
536 |
+
exit;
|
537 |
}
|
538 |
|
539 |
+
// Check permissions
|
540 |
+
if (!($this->transposh->is_translator())) {
|
541 |
+
|
542 |
+
header('HTTP/1.0 401 Unauthorized alt request');
|
543 |
+
exit;
|
544 |
+
}
|
545 |
+
|
546 |
+
|
547 |
+
// The original content is encoded as base64 before it is sent (i.e. token), after we
|
548 |
+
// decode it should just the same after it was parsed.
|
549 |
+
// TODO - check if needed later
|
550 |
+
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
551 |
+
|
552 |
+
// add our own custom header - so we will know that we got here
|
553 |
+
// TODO - move to ajax file?
|
554 |
+
header('Transposh: v-' . TRANSPOSH_PLUGIN_VER . ' db_version-' . DB_VERSION);
|
555 |
+
|
556 |
+
$query = "SELECT translated, lang " .
|
557 |
+
"FROM {$this->translation_table} " .
|
558 |
+
"WHERE original='$original' AND source=0 " .
|
559 |
+
"ORDER BY lang";
|
560 |
+
|
561 |
+
$rows = $GLOBALS['wpdb']->get_results($query);
|
562 |
+
|
563 |
+
echo json_encode($rows);
|
564 |
exit;
|
565 |
}
|
566 |
|
596 |
if ($installed_ver != DB_VERSION) {
|
597 |
|
598 |
// notice - keep every field on a new line or dbdelta fails
|
599 |
+
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} DROP PRIMARY KEY");
|
600 |
$sql = "CREATE TABLE {$this->translation_table} (
|
601 |
original TEXT NOT NULL,
|
602 |
lang CHAR(5) NOT NULL,
|
603 |
translated TEXT,
|
604 |
source TINYINT NOT NULL,
|
605 |
KEY original (original(6),lang)
|
606 |
+
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin";
|
607 |
|
608 |
dbDelta($sql);
|
609 |
+
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} CONVERT TO CHARSET utf8 COLLATE utf8_bin");
|
610 |
|
611 |
|
612 |
// notice - keep every field on a new line or dbdelta fails
|
613 |
// this should be removed in a far future...
|
614 |
+
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_log_table} DROP PRIMARY KEY");
|
615 |
$sql = "CREATE TABLE {$this->translation_log_table} (
|
616 |
original text NOT NULL,
|
617 |
lang CHAR(5) NOT NULL,
|
620 |
source TINYINT NOT NULL,
|
621 |
timestamp TIMESTAMP,
|
622 |
KEY original (original(6),lang,timestamp)
|
623 |
+
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin";
|
624 |
|
625 |
dbDelta($sql);
|
626 |
+
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_log_table} CONVERT TO CHARSET utf8 COLLATE utf8_bin");
|
627 |
+
|
628 |
update_option(TRANSPOSH_DB_VERSION, DB_VERSION);
|
629 |
}
|
630 |
|
667 |
*/
|
668 |
function get_orignal_phrases_for_search_term($term, $language) {
|
669 |
$n = '%';
|
670 |
+
$term = $GLOBALS['wpdb']->escape(html_entity_decode($term, ENT_NOQUOTES, 'UTF-8'));
|
671 |
+
$language = $GLOBALS['wpdb']->escape($language);
|
672 |
$query = "SELECT original" .
|
673 |
" FROM `{$this->translation_table}`" .
|
674 |
+
" WHERE `lang` = '$language'" .
|
675 |
" AND `translated` LIKE '{$n}{$term}{$n}'";
|
676 |
//TODO wait for feedbacks to see if we should put a limit here.
|
|
|
677 |
|
678 |
$result = array();
|
679 |
+
if (strlen($term) < 3) return $result;
|
680 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
681 |
|
682 |
foreach ($rows as $row) {
|
720 |
exit;
|
721 |
}
|
722 |
|
723 |
+
function db_maint() {
|
724 |
+
// clean duplicate log entries
|
725 |
+
$dedup = 'SELECT * , count( * )' .
|
726 |
+
' FROM ' . $this->translation_log_table .
|
727 |
+
' GROUP BY `original` , `lang` , `translated` , `translated_by` , `timestamp` , `source`' .
|
728 |
+
' HAVING count( * ) >1';
|
729 |
+
$rows = $GLOBALS['wpdb']->get_results($dedup);
|
730 |
+
|
731 |
+
foreach ($rows as $row) {
|
732 |
+
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
733 |
+
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
734 |
+
$row->translated_by = $GLOBALS['wpdb']->escape($row->translated_by);
|
735 |
+
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}' AND translated='{$row->translated}'" .
|
736 |
+
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
737 |
+
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
738 |
+
|
739 |
+
$result = $GLOBALS['wpdb']->query($update);
|
740 |
+
$values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->translated_by','$row->timestamp','$row->source')";
|
741 |
+
$update = "INSERT INTO " . $this->translation_log_table . " (original, lang, translated, translated_by, timestamp, source) VALUES $values";
|
742 |
+
|
743 |
+
$result = $GLOBALS['wpdb']->query($update);
|
744 |
+
$this->cache_delete($row->original, $row->lang);
|
745 |
+
}
|
746 |
+
//$this->cache_clean();
|
747 |
+
// clean autotranslate entries post dating a human translation
|
748 |
+
$autojunk = 'SELECT w2 . *' .
|
749 |
+
' FROM ' . $this->translation_log_table . ' AS w1' .
|
750 |
+
' INNER JOIN ' . $this->translation_log_table . ' AS w2' .
|
751 |
+
' ON w1.original = w2.original' .
|
752 |
+
' AND w1.lang = w2.lang' .
|
753 |
+
' AND w1.source =0' .
|
754 |
+
' AND w2.source >0' .
|
755 |
+
' AND w1.timestamp < w2.timestamp';
|
756 |
+
$rows = $GLOBALS['wpdb']->get_results($autojunk);
|
757 |
+
|
758 |
+
foreach ($rows as $row) {
|
759 |
+
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
760 |
+
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
761 |
+
$row->translated_by = $GLOBALS['wpdb']->escape($row->translated_by);
|
762 |
+
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}' AND translated='{$row->translated}'" .
|
763 |
+
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
764 |
+
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
765 |
+
$result = $GLOBALS['wpdb']->query($update);
|
766 |
+
|
767 |
+
$this->cache_delete($row->original, $row->lang);
|
768 |
+
}
|
769 |
+
// check for discrepencies (last translation in log does not equal current translation)
|
770 |
+
// TODO
|
771 |
+
/* SELECT *
|
772 |
+
FROM `wp_translations` AS w1
|
773 |
+
INNER JOIN wp_translations_log AS w2 ON w1.original = w2.original
|
774 |
+
AND w1.lang = w2.lang
|
775 |
+
LEFT OUTER JOIN wp_translations_log AS w3 ON ( w2.original = w3.original
|
776 |
+
AND w2.lang = w3.lang
|
777 |
+
AND w2.timestamp < w3.timestamp )
|
778 |
+
WHERE w3.original IS NULL
|
779 |
+
AND w1.translated != w2.translated */
|
780 |
+
|
781 |
+
// check for transalations that have no log representation
|
782 |
+
// TODO
|
783 |
+
/* SELECT *
|
784 |
+
FROM wp_translations
|
785 |
+
LEFT OUTER JOIN wp_translations_log
|
786 |
+
ON (wp_translations.original = wp_translations_log.original AND wp_translations.lang = wp_translations_log.lang)
|
787 |
+
WHERE wp_translations_log.original IS NULL
|
788 |
+
*/
|
789 |
+
|
790 |
+
// if we have multiple translations for the same item, we will delete them and revert to latest from log
|
791 |
+
// TODO - handle this, but not now, case sensativity issues
|
792 |
+
/* $duptrans = 'SELECT *' .
|
793 |
+
' FROM ' . $this->translation_table .
|
794 |
+
' GROUP BY original, lang' .
|
795 |
+
' HAVING count( * ) >1';
|
796 |
+
$rows = $GLOBALS['wpdb']->get_results($duptrans);
|
797 |
+
|
798 |
+
foreach ($rows as $row) {
|
799 |
+
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
800 |
+
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')";
|
801 |
+
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
802 |
+
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
803 |
+
|
804 |
+
// $result = $GLOBALS['wpdb']->query($update);
|
805 |
+
} */
|
806 |
+
$this->cache_clean();
|
807 |
+
exit;
|
808 |
+
}
|
809 |
+
|
810 |
function restore_translation($original, $lang, $translation, $by, $timestamp) {
|
811 |
// TODO in future
|
812 |
// if there is a newer human translation, just ignore this
|
wp/transposh_options.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
// OLD Options - To be removed
|
@@ -62,6 +62,8 @@ define('WIDGET_PROGRESSBAR', 'widget_progressbar');
|
|
62 |
define('WIDGET_ALLOW_SET_DEFLANG', 'widget_allow_set_deflang');
|
63 |
//Allows removing of transposh logo in exchange for an ad @since 0.6.0
|
64 |
define('WIDGET_REMOVE_LOGO_FOR_AD', 'widget_remove_logo');
|
|
|
|
|
65 |
//Stores the site key to transposh services (backup @since 0.5.0)
|
66 |
define('TRANSPOSH_KEY', 'transposh_key');
|
67 |
//Stores the site key to transposh services (backup @since 0.5.0)
|
@@ -105,6 +107,7 @@ class transposh_plugin_options {
|
|
105 |
$this->set_default_option_value(WIDGET_PROGRESSBAR);
|
106 |
$this->set_default_option_value(WIDGET_ALLOW_SET_DEFLANG);
|
107 |
$this->set_default_option_value(WIDGET_REMOVE_LOGO_FOR_AD);
|
|
|
108 |
$this->set_default_option_value(TRANSPOSH_KEY);
|
109 |
$this->set_default_option_value(TRANSPOSH_BACKUP_SCHEDULE);
|
110 |
$this->migrate_old_config();
|
@@ -177,6 +180,15 @@ class transposh_plugin_options {
|
|
177 |
return $this->options[WIDGET_FILE];
|
178 |
}
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
function get_widget_allow_set_default_language() {
|
181 |
return $this->options[WIDGET_ALLOW_SET_DEFLANG];
|
182 |
}
|
@@ -295,6 +307,15 @@ class transposh_plugin_options {
|
|
295 |
$this->set_value($val, $this->options[WIDGET_FILE]);
|
296 |
}
|
297 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
function set_widget_allow_set_default_language($val) {
|
299 |
$val = ($val) ? 1 : 0;
|
300 |
$this->set_value($val, $this->options[WIDGET_ALLOW_SET_DEFLANG]);
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
// OLD Options - To be removed
|
62 |
define('WIDGET_ALLOW_SET_DEFLANG', 'widget_allow_set_deflang');
|
63 |
//Allows removing of transposh logo in exchange for an ad @since 0.6.0
|
64 |
define('WIDGET_REMOVE_LOGO_FOR_AD', 'widget_remove_logo');
|
65 |
+
//Allows theming of the progressbar and edit window @since 0.7.0
|
66 |
+
define('WIDGET_THEME', 'widget_theme');
|
67 |
//Stores the site key to transposh services (backup @since 0.5.0)
|
68 |
define('TRANSPOSH_KEY', 'transposh_key');
|
69 |
//Stores the site key to transposh services (backup @since 0.5.0)
|
107 |
$this->set_default_option_value(WIDGET_PROGRESSBAR);
|
108 |
$this->set_default_option_value(WIDGET_ALLOW_SET_DEFLANG);
|
109 |
$this->set_default_option_value(WIDGET_REMOVE_LOGO_FOR_AD);
|
110 |
+
$this->set_default_option_value(WIDGET_THEME, 'ui-lightness');
|
111 |
$this->set_default_option_value(TRANSPOSH_KEY);
|
112 |
$this->set_default_option_value(TRANSPOSH_BACKUP_SCHEDULE);
|
113 |
$this->migrate_old_config();
|
180 |
return $this->options[WIDGET_FILE];
|
181 |
}
|
182 |
|
183 |
+
/**
|
184 |
+
* return theme
|
185 |
+
* @since 0.7.0
|
186 |
+
* @return string
|
187 |
+
*/
|
188 |
+
function get_widget_theme() {
|
189 |
+
return $this->options[WIDGET_THEME];
|
190 |
+
}
|
191 |
+
|
192 |
function get_widget_allow_set_default_language() {
|
193 |
return $this->options[WIDGET_ALLOW_SET_DEFLANG];
|
194 |
}
|
307 |
$this->set_value($val, $this->options[WIDGET_FILE]);
|
308 |
}
|
309 |
|
310 |
+
/**
|
311 |
+
* Set the widget theme
|
312 |
+
* @since 0.7.0
|
313 |
+
* @param string $val
|
314 |
+
*/
|
315 |
+
function set_widget_theme($val) {
|
316 |
+
$this->set_value($val, $this->options[WIDGET_THEME]);
|
317 |
+
}
|
318 |
+
|
319 |
function set_widget_allow_set_default_language($val) {
|
320 |
$val = ($val) ? 1 : 0;
|
321 |
$this->set_value($val, $this->options[WIDGET_ALLOW_SET_DEFLANG]);
|
wp/transposh_postpublish.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -138,7 +138,7 @@ class transposh_postpublish {
|
|
138 |
list($source, $translation) = $this->transposh->database->fetch_translation($key, $lang);
|
139 |
if (!$translation) {
|
140 |
// p stands for phrases, l stands for languages, t is token
|
141 |
-
if (
|
142 |
$json['p'][$key]['l'] = array();
|
143 |
}
|
144 |
array_push($json['p'][$key]['l'], $lang);
|
@@ -147,9 +147,9 @@ class transposh_postpublish {
|
|
147 |
}
|
148 |
}
|
149 |
// only if a languages list was created we'll need to translate this
|
150 |
-
if (is_array($json['p'][$key]['l'])) {
|
151 |
$json['p'][$key]['t'] = transposh_utils::base64_url_encode($key);
|
152 |
-
|
153 |
}
|
154 |
}
|
155 |
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
138 |
list($source, $translation) = $this->transposh->database->fetch_translation($key, $lang);
|
139 |
if (!$translation) {
|
140 |
// p stands for phrases, l stands for languages, t is token
|
141 |
+
if (!@is_array($json['p'][$key]['l'])) {
|
142 |
$json['p'][$key]['l'] = array();
|
143 |
}
|
144 |
array_push($json['p'][$key]['l'], $lang);
|
147 |
}
|
148 |
}
|
149 |
// only if a languages list was created we'll need to translate this
|
150 |
+
if (@is_array($json['p'][$key]['l'])) {
|
151 |
$json['p'][$key]['t'] = transposh_utils::base64_url_encode($key);
|
152 |
+
@$json['length']++;
|
153 |
}
|
154 |
}
|
155 |
|
wp/transposh_widget.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
-
* Copyright
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -248,10 +248,36 @@ class transposh_plugin_widget {
|
|
248 |
// last - you can now remove the logo in exchange to a few percentage of ad and affiliate revenues on your pages, isn't that better?
|
249 |
$plugpath = parse_url($this->transposh->transposh_plugin_url, PHP_URL_PATH);
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
echo '<div id="' . SPAN_PREFIX . 'credit">';
|
252 |
if (!$this->transposh->options->get_widget_remove_logo()) {
|
253 |
-
echo 'by <a href="http://tran' . 'sposh.org"><img class="' . NO_TRANSLATE_CLASS . '" height="16" width="16" src="' .
|
254 |
-
$plugpath . '/img/tplog' . 'o.png" style="padding:1px;border:0px" title="' .
|
255 |
}
|
256 |
echo '</div>';
|
257 |
echo $after_widget;
|
@@ -264,6 +290,7 @@ class transposh_plugin_widget {
|
|
264 |
$this->transposh->options->set_widget_progressbar($_POST[WIDGET_PROGRESSBAR]);
|
265 |
$this->transposh->options->set_widget_allow_set_default_language($_POST[WIDGET_ALLOW_SET_DEFLANG]);
|
266 |
$this->transposh->options->set_widget_remove_logo($_POST[WIDGET_REMOVE_LOGO_FOR_AD]);
|
|
|
267 |
if ($save) $this->transposh->options->update_options();
|
268 |
// Avoid coming here twice...
|
269 |
unset($_POST['transposh-submit']);
|
@@ -327,6 +354,9 @@ class transposh_plugin_widget {
|
|
327 |
*/
|
328 |
function transposh_widget_control() {
|
329 |
if (isset($_POST['transposh-submit'])) $this->transposh_widget_post();
|
|
|
|
|
|
|
330 |
|
331 |
$widgets = $this->get_widgets();
|
332 |
|
@@ -346,7 +376,16 @@ class transposh_plugin_widget {
|
|
346 |
'<span style="border-bottom: 1px dotted #333; cursor: help; margin-left: 4px" title="' . esc_attr__('Widget will allow setting this language as user default', TRANSPOSH_TEXT_DOMAIN) . '">' . __('Allow user to set current language as default', TRANSPOSH_TEXT_DOMAIN) . '</span><br/>' .
|
347 |
'<input type="checkbox" id="' . WIDGET_REMOVE_LOGO_FOR_AD . '" name="' . WIDGET_REMOVE_LOGO_FOR_AD . '"' . ($this->transposh->options->get_widget_remove_logo() ? ' checked="checked"' : '') . '/>' .
|
348 |
'<span style="border-bottom: 1px dotted #333; cursor: help; margin-left: 4px" title="' . esc_attr__('Transposh logo will not appear on widget', TRANSPOSH_TEXT_DOMAIN) . '">' . __('Remove transposh logo (see <a href="http://transposh.org/logoterms">terms</a>)', TRANSPOSH_TEXT_DOMAIN) . '</span><br/>' .
|
349 |
-
'</p>'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
'<input type="hidden" name="transposh-submit" id="transposh-submit" value="1"/>';
|
351 |
}
|
352 |
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.7.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
+
* Copyright 2011, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Tue, 11 Jan 2011 15:24:55 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
248 |
// last - you can now remove the logo in exchange to a few percentage of ad and affiliate revenues on your pages, isn't that better?
|
249 |
$plugpath = parse_url($this->transposh->transposh_plugin_url, PHP_URL_PATH);
|
250 |
|
251 |
+
if (!$this->transposh->options->get_widget_remove_logo()) {
|
252 |
+
$tagline = esc_attr__('Transposh', TRANSPOSH_TEXT_DOMAIN) . ' - ';
|
253 |
+
switch (ord(md5($_SERVER['REQUEST_URI'])) % 5) {
|
254 |
+
case 0:
|
255 |
+
$tagline .= esc_attr__('translation plugin for wordpress', TRANSPOSH_TEXT_DOMAIN);
|
256 |
+
break;
|
257 |
+
case 1:
|
258 |
+
$tagline .= esc_attr__('wordpress translation plugin', TRANSPOSH_TEXT_DOMAIN);
|
259 |
+
break;
|
260 |
+
case 2:
|
261 |
+
$tagline .= esc_attr__('translate your blog to 60+ languages', TRANSPOSH_TEXT_DOMAIN);
|
262 |
+
break;
|
263 |
+
case 3:
|
264 |
+
$tagline .= esc_attr__('website crowdsourcing translation plugin', TRANSPOSH_TEXT_DOMAIN);
|
265 |
+
break;
|
266 |
+
case 4:
|
267 |
+
$tagline .= esc_attr__('google translate and bing translate plugin for wordpress', TRANSPOSH_TEXT_DOMAIN);
|
268 |
+
break;
|
269 |
+
}
|
270 |
+
|
271 |
+
$extralang = '';
|
272 |
+
if ($this->transposh->target_language != 'en') {
|
273 |
+
$extralang = $this->transposh->target_language;
|
274 |
+
}
|
275 |
+
}
|
276 |
+
|
277 |
echo '<div id="' . SPAN_PREFIX . 'credit">';
|
278 |
if (!$this->transposh->options->get_widget_remove_logo()) {
|
279 |
+
echo 'by <a href="http://tran' . 'sposh.org/' . $extralang . '"><img class="' . NO_TRANSLATE_CLASS . '" height="16" width="16" src="' .
|
280 |
+
$plugpath . '/img/tplog' . 'o.png" style="padding:1px;border:0px" title="' . $tagline . '" alt="' . $tagline . '"/></a>';
|
281 |
}
|
282 |
echo '</div>';
|
283 |
echo $after_widget;
|
290 |
$this->transposh->options->set_widget_progressbar($_POST[WIDGET_PROGRESSBAR]);
|
291 |
$this->transposh->options->set_widget_allow_set_default_language($_POST[WIDGET_ALLOW_SET_DEFLANG]);
|
292 |
$this->transposh->options->set_widget_remove_logo($_POST[WIDGET_REMOVE_LOGO_FOR_AD]);
|
293 |
+
$this->transposh->options->set_widget_theme($_POST[WIDGET_THEME]);
|
294 |
if ($save) $this->transposh->options->update_options();
|
295 |
// Avoid coming here twice...
|
296 |
unset($_POST['transposh-submit']);
|
354 |
*/
|
355 |
function transposh_widget_control() {
|
356 |
if (isset($_POST['transposh-submit'])) $this->transposh_widget_post();
|
357 |
+
$themes = array('base', 'black-tie', 'blitzer', 'cupertino', 'dark-hive', 'dot-luv', 'eggplant', 'excite-bike', 'flick',
|
358 |
+
'hot-sneaks', 'humanity', 'le-frog', 'mint-choc', 'overcast', 'pepper-grinder', 'redmond', 'smoothness', 'south-street',
|
359 |
+
'start', 'sunny', 'swanky-purse', 'trontastic', 'ui-darkness', 'ui-lightness', 'vader');
|
360 |
|
361 |
$widgets = $this->get_widgets();
|
362 |
|
376 |
'<span style="border-bottom: 1px dotted #333; cursor: help; margin-left: 4px" title="' . esc_attr__('Widget will allow setting this language as user default', TRANSPOSH_TEXT_DOMAIN) . '">' . __('Allow user to set current language as default', TRANSPOSH_TEXT_DOMAIN) . '</span><br/>' .
|
377 |
'<input type="checkbox" id="' . WIDGET_REMOVE_LOGO_FOR_AD . '" name="' . WIDGET_REMOVE_LOGO_FOR_AD . '"' . ($this->transposh->options->get_widget_remove_logo() ? ' checked="checked"' : '') . '/>' .
|
378 |
'<span style="border-bottom: 1px dotted #333; cursor: help; margin-left: 4px" title="' . esc_attr__('Transposh logo will not appear on widget', TRANSPOSH_TEXT_DOMAIN) . '">' . __('Remove transposh logo (see <a href="http://transposh.org/logoterms">terms</a>)', TRANSPOSH_TEXT_DOMAIN) . '</span><br/>' .
|
379 |
+
'</p>';
|
380 |
+
|
381 |
+
echo '<p><label for="' . WIDGET_THEME . '">' . __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN) . '<br/>' .
|
382 |
+
'<select id="transposh-style" name="' . WIDGET_THEME . '">';
|
383 |
+
foreach ($themes as $theme) {
|
384 |
+
$selected = ($this->transposh->options->get_widget_theme() == $theme) ? ' selected="selected"' : '';
|
385 |
+
echo "<option value=\"$theme\"$selected>{$theme}</option>";
|
386 |
+
}
|
387 |
+
echo '</select>' .
|
388 |
+
'</label></p>' .
|
389 |
'<input type="hidden" name="transposh-submit" id="transposh-submit" value="1"/>';
|
390 |
}
|
391 |
|