summaryrefslogtreecommitdiff
path: root/MLEB
diff options
context:
space:
mode:
authorAlex Legler <alex@a3li.li>2016-01-06 17:16:24 +0100
committerAlex Legler <alex@a3li.li>2016-01-06 17:16:24 +0100
commit7686424ff84f2fd023ac525765ea845ddd487e80 (patch)
tree5bc0db6cacbf2bf28a7fa366304215c12992559a /MLEB
parentUpdate Widgets to REL_1_26 (diff)
downloadextensions-7686424ff84f2fd023ac525765ea845ddd487e80.tar.gz
extensions-7686424ff84f2fd023ac525765ea845ddd487e80.tar.bz2
extensions-7686424ff84f2fd023ac525765ea845ddd487e80.zip
Update UniversalLanguageSelector to REL_1_26
Diffstat (limited to 'MLEB')
-rw-r--r--MLEB/UniversalLanguageSelector/.gitignore7
-rw-r--r--MLEB/UniversalLanguageSelector/.gitreview6
-rw-r--r--MLEB/UniversalLanguageSelector/Gruntfile.js30
-rw-r--r--MLEB/UniversalLanguageSelector/RELEASE-NOTES8
-rw-r--r--MLEB/UniversalLanguageSelector/Resources.php33
-rw-r--r--MLEB/UniversalLanguageSelector/UniversalLanguageSelector.hooks.php92
-rw-r--r--MLEB/UniversalLanguageSelector/UniversalLanguageSelector.i18n.php35
-rw-r--r--MLEB/UniversalLanguageSelector/UniversalLanguageSelector.php83
-rw-r--r--MLEB/UniversalLanguageSelector/composer.json3
-rw-r--r--MLEB/UniversalLanguageSelector/composer.lock118
-rw-r--r--MLEB/UniversalLanguageSelector/data/LanguageNameIndexer.php2
-rw-r--r--MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.eotbin0 -> 14961 bytes
-rw-r--r--MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.ttfbin0 -> 36112 bytes
-rw-r--r--MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.woffbin0 -> 17340 bytes
-rw-r--r--MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/font.ini9
-rw-r--r--MLEB/UniversalLanguageSelector/extension.json376
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/af.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/arq.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/az.json21
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/azb.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/bcl.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/bn.json15
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/bs.json11
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ca.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ce.json9
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ckb.json19
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/de.json13
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/el.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/en.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/eo.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/es.json23
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/et.json14
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/eu.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/fa.json9
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/fr.json44
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/gl.json5
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/gsw.json68
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/gu.json5
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/he.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ilo.json12
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/it.json10
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ja.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/km.json27
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ko.json4
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ksh.json18
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ku-latn.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/lb.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/lrc.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/lt.json25
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/mk.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ms.json10
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/nap.json64
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ne.json27
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/nl.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/olo.json13
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/or.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/os.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/pa.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/pl.json4
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ps.json5
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/pt.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/qqq.json10
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/qu.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/ru.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sa.json11
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/scn.json7
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sd.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sk.json7
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sl.json7
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/so.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sr-ec.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/sv.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/te.json4
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/tokipona.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/tr.json6
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/uk.json12
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/vi.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/xmf.json8
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/yi.json3
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/zh-hans.json2
-rw-r--r--MLEB/UniversalLanguageSelector/i18n/zh-hant.json4
-rw-r--r--MLEB/UniversalLanguageSelector/includes/ResourceLoaderULSJsonMessageModule.php3
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/CREDITS9
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/GPL-LICENSE342
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/MIT-LICENSE21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/README.md432
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.emitter.bidi.js88
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.fallbacks.js328
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.js12
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.language.js395
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.messagestore.js5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.parser.js30
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/languages/os.js22
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.i18n/package.json47
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js38
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/azb/azb-kbd.js108
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bgn/bgn-kbd.js108
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bo/bo-ewts.js560
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/lrc/lrc-kbd.js108
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/sdh/sdh-kbd.js108
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-apple.js159
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-modular.js179
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/aeb-latn.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/as.json6
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ast.json4
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bcl.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bs.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ckb.json7
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/dty.json20
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/eo.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/es.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/et.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gd.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gn.json13
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-deva.json20
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-latn.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hr.json22
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hsb.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/is.json3
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ka.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/kk-cyrl.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ko.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/krc.json3
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ku-latn.json11
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/li.json16
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/mzn.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nb.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nl-informal.json13
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/olo.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/or.json20
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/pl.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sa.json20
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/shn.json21
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sq.json22
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sv.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/udm.json15
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uk.json5
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uz.json3
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zea.json15
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zh-hans.json2
-rw-r--r--MLEB/UniversalLanguageSelector/lib/jquery.uls/src/jquery.uls.data.js2
-rw-r--r--MLEB/UniversalLanguageSelector/package.json13
-rw-r--r--MLEB/UniversalLanguageSelector/resources/js/ext.uls.init.js71
-rw-r--r--MLEB/UniversalLanguageSelector/resources/js/ext.uls.preferences.js4
-rw-r--r--MLEB/UniversalLanguageSelector/resources/js/ext.uls.webfonts.repository.js2
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/autoload.php7
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/ClassLoader.php413
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/autoload_classmap.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/autoload_namespaces.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/autoload_psr4.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/autoload_real.php50
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installed.json102
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/.editorconfig10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/.gitignore3
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/.travis.yml21
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/LICENSE19
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/README.md193
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/composer.json80
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/phpunit.xml.dist25
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AglInstaller.php21
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php45
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php135
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php89
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php84
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php12
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php35
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php21
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php50
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php16
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php14
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/GravInstaller.php30
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php25
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Installer.php176
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php15
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php16
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php50
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php111
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php56
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php46
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php21
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php32
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Plugin.php17
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php22
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php58
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php36
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php26
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php14
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php38
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php12
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php14
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php9
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php11
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php10
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/src/bootstrap.php13
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php61
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php115
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php83
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php89
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php63
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php428
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php66
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php66
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php44
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php63
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php64
-rw-r--r--MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/bootstrap.php4
-rw-r--r--MLEB/UniversalLanguageSelector/version4
233 files changed, 7804 insertions, 1016 deletions
diff --git a/MLEB/UniversalLanguageSelector/.gitignore b/MLEB/UniversalLanguageSelector/.gitignore
new file mode 100644
index 00000000..28df33c6
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/.gitignore
@@ -0,0 +1,7 @@
+.svn
+*~
+*.kate-swp
+.*.swp
+.idea
+.bundle/
+node_modules/
diff --git a/MLEB/UniversalLanguageSelector/.gitreview b/MLEB/UniversalLanguageSelector/.gitreview
new file mode 100644
index 00000000..f85a7610
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/.gitreview
@@ -0,0 +1,6 @@
+[gerrit]
+host=gerrit.wikimedia.org
+port=29418
+project=mediawiki/extensions/UniversalLanguageSelector.git
+defaultbranch=REL1_26
+defaultrebase=0
diff --git a/MLEB/UniversalLanguageSelector/Gruntfile.js b/MLEB/UniversalLanguageSelector/Gruntfile.js
new file mode 100644
index 00000000..34bc8f1d
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/Gruntfile.js
@@ -0,0 +1,30 @@
+/*jshint node:true */
+module.exports = function ( grunt ) {
+ 'use strict';
+ grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+
+ grunt.initConfig( {
+ jshint: {
+ options: {
+ jshintrc: true
+ },
+ all: [
+ '*.js'
+ ]
+ },
+ banana: {
+ all: 'i18n/'
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**'
+ ]
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'jshint', 'jsonlint', 'banana' ] );
+ grunt.registerTask( 'default', 'test' );
+};
diff --git a/MLEB/UniversalLanguageSelector/RELEASE-NOTES b/MLEB/UniversalLanguageSelector/RELEASE-NOTES
deleted file mode 100644
index f2a6b3aa..00000000
--- a/MLEB/UniversalLanguageSelector/RELEASE-NOTES
+++ /dev/null
@@ -1,8 +0,0 @@
-== UniversalLanguageSelector 2015.04 ==
-Released at 2015-04-30.
-
-=== Highlights ===
-* T76196: Show the Common language section only if the list is long enough.
-* Fixed the regions for some languages.
-* T88279: Make ULS IME working in Content Translation.
-* Added support for Talossan in ULS.
diff --git a/MLEB/UniversalLanguageSelector/Resources.php b/MLEB/UniversalLanguageSelector/Resources.php
index 4e0a8cf2..cad40972 100644
--- a/MLEB/UniversalLanguageSelector/Resources.php
+++ b/MLEB/UniversalLanguageSelector/Resources.php
@@ -49,6 +49,7 @@ $wgResourceModules['ext.uls.ime'] = array(
'ext.uls.mediawiki',
'ext.uls.messages',
'jquery.ime',
+ 'mediawiki.notify',
),
'messages' => array(
'uls-ime-helppage',
@@ -69,7 +70,8 @@ $wgResourceModules['ext.uls.init'] = array(
'monobook' => 'resources/css/ext.uls-monobook.css',
),
'dependencies' => array(
- 'mediawiki.Uri',
+ 'mediawiki.api',
+ 'mediawiki.cookie',
'jquery.client',
'jquery.cookie',
),
@@ -191,34 +193,6 @@ $wgResourceModules['ext.uls.webfonts.mobile'] = array(
),
) + $resourcePaths;
-$wgResourceModules['jquery.i18n'] = array(
- 'scripts' => array(
- 'lib/jquery.i18n/jquery.i18n.js',
- 'lib/jquery.i18n/jquery.i18n.messagestore.js',
- 'lib/jquery.i18n/jquery.i18n.parser.js',
- 'lib/jquery.i18n/jquery.i18n.emitter.js',
- 'lib/jquery.i18n/jquery.i18n.language.js',
- ),
- 'dependencies' => 'mediawiki.libs.pluralruleparser',
- 'languageScripts' => array(
- 'bs' => 'lib/jquery.i18n/languages/bs.js',
- 'dsb' => 'lib/jquery.i18n/languages/dsb.js',
- 'fi' => 'lib/jquery.i18n/languages/fi.js',
- 'ga' => 'lib/jquery.i18n/languages/ga.js',
- 'he' => 'lib/jquery.i18n/languages/he.js',
- 'hsb' => 'lib/jquery.i18n/languages/hsb.js',
- 'hu' => 'lib/jquery.i18n/languages/hu.js',
- 'hy' => 'lib/jquery.i18n/languages/hy.js',
- 'la' => 'lib/jquery.i18n/languages/la.js',
- 'ml' => 'lib/jquery.i18n/languages/ml.js',
- 'os' => 'lib/jquery.i18n/languages/os.js',
- 'ru' => 'lib/jquery.i18n/languages/ru.js',
- 'sl' => 'lib/jquery.i18n/languages/sl.js',
- 'uk' => 'lib/jquery.i18n/languages/uk.js',
- ),
- 'targets' => array( 'desktop', 'mobile' ),
-) + $resourcePaths;
-
$wgResourceModules['jquery.ime'] = array(
'scripts' => 'lib/jquery.ime/jquery.ime.js',
'styles' => 'lib/jquery.ime/css/jquery.ime.css',
@@ -271,6 +245,7 @@ $wgResourceModules['jquery.uls.data'] = array(
) + $resourcePaths;
$wgResourceModules['jquery.uls.grid'] = array(
+ 'position' => 'top',
'styles' => 'lib/jquery.uls/css/jquery.uls.grid.css',
) + $resourcePaths;
diff --git a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.hooks.php b/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.hooks.php
index e368e3e5..c5e2f305 100644
--- a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.hooks.php
+++ b/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.hooks.php
@@ -19,6 +19,11 @@
*/
class UniversalLanguageSelectorHooks {
+ // Used when extension registration in use which skips the main php file
+ public static function setVersionConstant() {
+ define( 'ULS_VERSION', '2015-06-08' );
+ }
+
/**
* Whether ULS user toolbar (language selection and settings) is enabled.
*
@@ -77,7 +82,7 @@ class UniversalLanguageSelectorHooks {
if ( is_string( $wgULSGeoService ) ) {
$out->addModules( 'ext.uls.geoclient' );
} elseif ( $wgULSGeoService === true ) {
- $out->addScript( '<script src="//bits.wikimedia.org/geoiplookup"></script>' );
+ $out->addScript( '<script src="//meta.wikimedia.org/geoiplookup"></script>' );
}
if ( self::isToolbarEnabled( $out->getUser() ) ) {
@@ -146,18 +151,12 @@ class UniversalLanguageSelectorHooks {
return true;
}
- protected static function isSupportedLanguage( $language ) {
- $supported = Language::fetchLanguageNames( null, 'mwfile' ); // since 1.20
-
- return isset( $supported[$language] );
- }
-
/**
* @param array $preferred
* @return string
*/
protected static function getDefaultLanguage( array $preferred ) {
- $supported = Language::fetchLanguageNames( null, 'mwfile' ); // since 1.20
+ $supported = Language::fetchLanguageNames( null, 'mwfile' );
// look for a language that is acceptable to the client
// and known to the wiki.
@@ -196,8 +195,8 @@ class UniversalLanguageSelectorHooks {
$request = $context->getRequest();
- $languageToSave = $request->getVal( 'setlang' );
- if ( $request->getVal( 'uselang' ) && !$languageToSave ) {
+ $languageToSave = $request->getText( 'setlang' );
+ if ( $request->getText( 'uselang' ) && !$languageToSave ) {
// uselang can be used for temporary override of language preference
// when setlang is not provided
return true;
@@ -206,11 +205,14 @@ class UniversalLanguageSelectorHooks {
// Registered users - simple
if ( !$user->isAnon() ) {
// Language change
- if ( self::isSupportedLanguage( $languageToSave ) ) {
- $user->setOption( 'language', $languageToSave );
- $user->saveSettings();
+ if ( Language::isSupportedLanguage( $languageToSave ) ) {
// Apply immediately
+ $user->setOption( 'language', $languageToSave );
$code = $languageToSave;
+ // Promise to sync the DB on post-send
+ DeferredUpdates::addCallableUpdate( function() use ( $user ) {
+ $user->saveSettings();
+ } );
}
// Otherwise just use what is stored in preferences
@@ -223,7 +225,7 @@ class UniversalLanguageSelectorHooks {
}
// Language change
- if ( self::isSupportedLanguage( $languageToSave ) ) {
+ if ( Language::isSupportedLanguage( $languageToSave ) ) {
$request->response()->setcookie( 'language', $languageToSave );
$code = $languageToSave;
@@ -231,8 +233,8 @@ class UniversalLanguageSelectorHooks {
}
// Try cookie
- $languageToUse = $request->getCookie( 'language' );
- if ( self::isSupportedLanguage( $languageToUse ) ) {
+ $languageToUse = $request->getCookie( 'language', null, '' );
+ if ( Language::isSupportedLanguage( $languageToUse ) ) {
$code = $languageToUse;
return true;
@@ -394,4 +396,62 @@ class UniversalLanguageSelectorHooks {
return true;
}
+
+ /**
+ * Conditionally register jquery.18n (backwards copatbility for those on pre-MediaWiki 1.26).
+ *
+ * @param ResourceLoader $resourceLoader
+ * @return boolean true
+ */
+ public static function onResourceLoaderRegisterModules( ResourceLoader &$resourceLoader ) {
+ global $wgResourceModules;
+
+ if (
+ (
+ (
+ is_callable( array( $resourceLoader, 'isModuleRegistered' ) ) &&
+ !$resourceLoader->isModuleRegistered( 'jquery.i18n' )
+ )
+ ||
+ $resourceLoader->getModule( 'jquery.i18n' ) === null
+ )
+ &&
+ !isset( $wgResourceModules[ 'jquery.i18n' ] )
+ ) {
+ $resourceLoader->register( array(
+ 'jquery.i18n' => array(
+ 'scripts' => array(
+ 'lib/jquery.i18n/jquery.i18n.js',
+ 'lib/jquery.i18n/jquery.i18n.messagestore.js',
+ 'lib/jquery.i18n/jquery.i18n.parser.js',
+ 'lib/jquery.i18n/jquery.i18n.emitter.js',
+ 'lib/jquery.i18n/jquery.i18n.emitter.bidi.js',
+ 'lib/jquery.i18n/jquery.i18n.language.js',
+ ),
+ 'dependencies' => 'mediawiki.libs.pluralruleparser',
+ 'languageScripts' => array(
+ 'bs' => 'lib/jquery.i18n/languages/bs.js',
+ 'dsb' => 'lib/jquery.i18n/languages/dsb.js',
+ 'fi' => 'lib/jquery.i18n/languages/fi.js',
+ 'ga' => 'lib/jquery.i18n/languages/ga.js',
+ 'he' => 'lib/jquery.i18n/languages/he.js',
+ 'hsb' => 'lib/jquery.i18n/languages/hsb.js',
+ 'hu' => 'lib/jquery.i18n/languages/hu.js',
+ 'hy' => 'lib/jquery.i18n/languages/hy.js',
+ 'la' => 'lib/jquery.i18n/languages/la.js',
+ 'ml' => 'lib/jquery.i18n/languages/ml.js',
+ 'os' => 'lib/jquery.i18n/languages/os.js',
+ 'ru' => 'lib/jquery.i18n/languages/ru.js',
+ 'sl' => 'lib/jquery.i18n/languages/sl.js',
+ 'uk' => 'lib/jquery.i18n/languages/uk.js',
+ ),
+ 'targets' => array( 'desktop', 'mobile' ),
+ 'localBasePath' => __DIR__,
+ 'remoteExtPath' => 'UniversalLanguageSelector',
+ )
+ ) );
+ }
+
+ return true;
+ }
}
diff --git a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.i18n.php b/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.i18n.php
deleted file mode 100644
index 12624a9a..00000000
--- a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShim29b26b9f5d64bcef' ) ) {
- function wfJsonI18nShim29b26b9f5d64bcef( $cache, $code, &$cachedData ) {
- $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
- foreach ( $codeSequence as $csCode ) {
- $fileName = dirname( __FILE__ ) . "/i18n/$csCode.json";
- if ( is_readable( $fileName ) ) {
- $data = FormatJson::decode( file_get_contents( $fileName ), true );
- foreach ( array_keys( $data ) as $key ) {
- if ( $key === '' || $key[0] === '@' ) {
- unset( $data[$key] );
- }
- }
- $cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
- }
-
- $cachedData['deps'][] = new FileDependency( $fileName );
- }
- return true;
- }
-
- $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShim29b26b9f5d64bcef';
-}
diff --git a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.php b/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.php
index cb611eff..97e322cb 100644
--- a/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.php
+++ b/MLEB/UniversalLanguageSelector/UniversalLanguageSelector.php
@@ -18,6 +18,17 @@
* @licence MIT License
*/
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'UniversalLanguageSelector' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['UniversalLanguageSelector'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for UniversalLanguageSelector extension. Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return;
+}
+
if ( !defined( 'MEDIAWIKI' ) ) {
echo "This file is an extension to the MediaWiki software and cannot be used standalone.\n";
die( -1 );
@@ -25,12 +36,12 @@ if ( !defined( 'MEDIAWIKI' ) ) {
/**
* Version number used in extension credits and in other placed where needed.
*/
-define( 'ULS_VERSION', '2015-04-29' );
+define( 'ULS_VERSION', '2015-08-28' );
-$GLOBALS['wgExtensionCredits']['other'][] = array(
+$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'UniversalLanguageSelector',
- 'version' => '[https://www.mediawiki.org/wiki/MLEB MLEB 2015.04]',
+ 'version' => ULS_VERSION,
'author' => array(
'Alolita Sharma',
'Amir Aharoni',
@@ -54,7 +65,7 @@ $GLOBALS['wgExtensionCredits']['other'][] = array(
*
* The service should return jsonp that uses the supplied callback parameter.
*/
-$GLOBALS['wgULSGeoService'] = true;
+$wgULSGeoService = true;
/**
* Enable language selection, input methods and webfonts for everyone, unless
@@ -64,14 +75,14 @@ $GLOBALS['wgULSGeoService'] = true;
* use of other extensions. Language changing via cookie or setlang query
* parameter is not possible.
*/
-$GLOBALS['wgULSEnable'] = true;
+$wgULSEnable = true;
/**
* Equivalent to $wgULSEnable for anonymous users only.
*
* Does not have any effect if $wgULSEnable is false.
*/
-$GLOBALS['wgULSEnableAnon'] = true;
+$wgULSEnableAnon = true;
/**
* Allow anonymous users to change language with cookie and setlang
@@ -85,7 +96,7 @@ $GLOBALS['wgULSEnableAnon'] = true;
*
* @since 2013.04
*/
-$GLOBALS['wgULSAnonCanChangeLanguage'] = true;
+$wgULSAnonCanChangeLanguage = true;
/**
* Try to use preferred interface language for anonymous users.
@@ -96,26 +107,26 @@ $GLOBALS['wgULSAnonCanChangeLanguage'] = true;
* Does not have any effect if any of $wgULSEnable, $wgULSEnableAnon
* or $wgULSAnonCanChangeLanguage is set to false.
*/
-$GLOBALS['wgULSLanguageDetection'] = true;
+$wgULSLanguageDetection = true;
/**
* Enable the input methods feature for all users by default.
* Can be controlled by the user.
*/
-$GLOBALS['wgULSIMEEnabled'] = true;
+$wgULSIMEEnabled = true;
/**
* Enable the webfonts feature for all users by default.
* Can be controlled by the user.
* @since 2014.02
*/
-$GLOBALS['wgULSWebfontsEnabled'] = true;
+$wgULSWebfontsEnabled = true;
/**
* Set whether webfont support is loaded within the mobile interface (via the
* MobileFrontend extension).
*/
-$GLOBALS['wgULSMobileWebfontsEnabled'] = false;
+$wgULSMobileWebfontsEnabled = false;
/**
* The location and the form of the language selection trigger.
@@ -127,21 +138,21 @@ $GLOBALS['wgULSMobileWebfontsEnabled'] = false;
*
* @since 2013.04
*/
-$GLOBALS['wgULSPosition'] = 'personal';
+$wgULSPosition = 'personal';
/**
* Whether to use EventLogging. The EventLogging extension must be installed
* if this option is enabled.
* @since 2013.06
*/
-$GLOBALS['wgULSEventLogging'] = false;
+$wgULSEventLogging = false;
/**
* Array of jQuery selectors of elements on which IME should be enabled.
*
* @since 2013.11
*/
-$GLOBALS['wgULSImeSelectors'] = array(
+$wgULSImeSelectors = array(
'input:not([type])',
'input[type=text]',
'input[type=search]',
@@ -154,7 +165,7 @@ $GLOBALS['wgULSImeSelectors'] = array(
*
* @since 2013.07
*/
-$GLOBALS['wgULSNoImeSelectors'] = array( '#wpCaptchaWord', '.ve-ce-surface *' );
+$wgULSNoImeSelectors = array( '#wpCaptchaWord', '.ve-ce-surface *' );
/**
* Array of jQuery selectors of elements on which webfonts must not be applied.
@@ -162,7 +173,7 @@ $GLOBALS['wgULSNoImeSelectors'] = array( '#wpCaptchaWord', '.ve-ce-surface *' );
* Autonym
* @since 2013.09
*/
-$GLOBALS['wgULSNoWebfontsSelectors'] = array( '#p-lang li.interlanguage-link > a' );
+$wgULSNoWebfontsSelectors = array( '#p-lang li.interlanguage-link > a' );
/**
* Base path of ULS font repository.
@@ -170,7 +181,7 @@ $GLOBALS['wgULSNoWebfontsSelectors'] = array( '#p-lang li.interlanguage-link > a
* relative to $wgExtensionAssetsPath.
* @since 2013.10
*/
-$GLOBALS['wgULSFontRepositoryBasePath'] = false;
+$wgULSFontRepositoryBasePath = false;
/**
* Whether the "Compact language links" Beta Feature is exposed. Requires
@@ -180,15 +191,13 @@ $GLOBALS['wgULSFontRepositoryBasePath'] = false;
*
* @since 2014.03
*/
-$GLOBALS['wgULSCompactLinks'] = false;
+$wgULSCompactLinks = false;
// Internationalization
-$GLOBALS['wgMessagesDirs']['UniversalLanguageSelector'] = __DIR__ . '/i18n';
-$GLOBALS['wgExtensionMessagesFiles']['UniversalLanguageSelector'] =
- __DIR__ . '/UniversalLanguageSelector.i18n.php';
+$wgMessagesDirs['UniversalLanguageSelector'] = __DIR__ . '/i18n';
// Register auto load for the page class
-$GLOBALS['wgAutoloadClasses'] += array(
+$wgAutoloadClasses += array(
'UniversalLanguageSelectorHooks' => __DIR__ . '/UniversalLanguageSelector.hooks.php',
'ResourceLoaderULSModule' => __DIR__ . '/includes/ResourceLoaderULSModule.php',
'ResourceLoaderULSJsonMessageModule' =>
@@ -199,24 +208,26 @@ $GLOBALS['wgAutoloadClasses'] += array(
'LanguageNameSearch' => __DIR__ . '/data/LanguageNameSearch.php',
);
-$GLOBALS['wgHooks']['BeforePageDisplay'][] = 'UniversalLanguageSelectorHooks::addModules';
-$GLOBALS['wgHooks']['EventLoggingRegisterSchemas'][] =
+$wgHooks['BeforePageDisplay'][] = 'UniversalLanguageSelectorHooks::addModules';
+$wgHooks['EventLoggingRegisterSchemas'][] =
'UniversalLanguageSelectorHooks::onEventLoggingRegisterSchemas';
-$GLOBALS['wgHooks']['PersonalUrls'][] = 'UniversalLanguageSelectorHooks::addPersonalBarTrigger';
-$GLOBALS['wgHooks']['ResourceLoaderTestModules'][] =
+$wgHooks['PersonalUrls'][] = 'UniversalLanguageSelectorHooks::addPersonalBarTrigger';
+$wgHooks['ResourceLoaderRegisterModules'][] =
+ 'UniversalLanguageSelectorHooks::onResourceLoaderRegisterModules';
+$wgHooks['ResourceLoaderTestModules'][] =
'UniversalLanguageSelectorHooks::addTestModules';
-$GLOBALS['wgHooks']['ResourceLoaderGetConfigVars'][] = 'UniversalLanguageSelectorHooks::addConfig';
-$GLOBALS['wgHooks']['MakeGlobalVariablesScript'][] = 'UniversalLanguageSelectorHooks::addVariables';
-$GLOBALS['wgAPIModules']['languagesearch'] = 'ApiLanguageSearch';
-$GLOBALS['wgAPIModules']['ulslocalization'] = 'ApiULSLocalization';
-$GLOBALS['wgHooks']['UserGetLanguageObject'][] = 'UniversalLanguageSelectorHooks::getLanguage';
-$GLOBALS['wgHooks']['SkinTemplateOutputPageBeforeExec'][] =
+$wgHooks['ResourceLoaderGetConfigVars'][] = 'UniversalLanguageSelectorHooks::addConfig';
+$wgHooks['MakeGlobalVariablesScript'][] = 'UniversalLanguageSelectorHooks::addVariables';
+$wgAPIModules['languagesearch'] = 'ApiLanguageSearch';
+$wgAPIModules['ulslocalization'] = 'ApiULSLocalization';
+$wgHooks['UserGetLanguageObject'][] = 'UniversalLanguageSelectorHooks::getLanguage';
+$wgHooks['SkinTemplateOutputPageBeforeExec'][] =
'UniversalLanguageSelectorHooks::onSkinTemplateOutputPageBeforeExec';
-$GLOBALS['wgHooks']['EnterMobileMode'][] = 'UniversalLanguageSelectorHooks::onEnterMobileMode';
+$wgHooks['EnterMobileMode'][] = 'UniversalLanguageSelectorHooks::onEnterMobileMode';
-$GLOBALS['wgDefaultUserOptions']['uls-preferences'] = '';
-$GLOBALS['wgHooks']['GetPreferences'][] = 'UniversalLanguageSelectorHooks::onGetPreferences';
-$GLOBALS['wgHooks']['GetBetaFeaturePreferences'][] =
+$wgDefaultUserOptions['uls-preferences'] = '';
+$wgHooks['GetPreferences'][] = 'UniversalLanguageSelectorHooks::onGetPreferences';
+$wgHooks['GetBetaFeaturePreferences'][] =
'UniversalLanguageSelectorHooks::onGetBetaFeaturePreferences';
require __DIR__ . '/Resources.php';
diff --git a/MLEB/UniversalLanguageSelector/composer.json b/MLEB/UniversalLanguageSelector/composer.json
index 999cdbd6..31940fa3 100644
--- a/MLEB/UniversalLanguageSelector/composer.json
+++ b/MLEB/UniversalLanguageSelector/composer.json
@@ -20,8 +20,5 @@
},
"suggest": {
"mediawiki/cldr": "Language names in all languages"
- },
- "autoload": {
- "files": ["UniversalLanguageSelector.php"]
}
}
diff --git a/MLEB/UniversalLanguageSelector/composer.lock b/MLEB/UniversalLanguageSelector/composer.lock
new file mode 100644
index 00000000..b24274c7
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/composer.lock
@@ -0,0 +1,118 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "42e13229efe35e23cd1fd7eb6e4e9e10",
+ "packages": [
+ {
+ "name": "composer/installers",
+ "version": "v1.0.22",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/installers.git",
+ "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/installers/zipball/bd9b14f094c89c8b5804a4e41edeb7853bb85046",
+ "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "1.0.0"
+ },
+ "replace": {
+ "roundcube/plugin-installer": "*",
+ "shama/baton": "*"
+ },
+ "require-dev": {
+ "composer/composer": "1.0.*@dev",
+ "phpunit/phpunit": "4.1.*"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Composer\\Installers\\Plugin",
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Composer\\Installers\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kyle Robinson Young",
+ "email": "kyle@dontkry.com",
+ "homepage": "https://github.com/shama"
+ }
+ ],
+ "description": "A multi-framework Composer library installer",
+ "homepage": "http://composer.github.com/installers/",
+ "keywords": [
+ "Craft",
+ "Dolibarr",
+ "Hurad",
+ "MODX Evo",
+ "OXID",
+ "SMF",
+ "Thelia",
+ "WolfCMS",
+ "agl",
+ "aimeos",
+ "annotatecms",
+ "bitrix",
+ "cakephp",
+ "chef",
+ "codeigniter",
+ "concrete5",
+ "croogo",
+ "dokuwiki",
+ "drupal",
+ "elgg",
+ "fuelphp",
+ "grav",
+ "installer",
+ "joomla",
+ "kohana",
+ "laravel",
+ "lithium",
+ "magento",
+ "mako",
+ "mediawiki",
+ "modulework",
+ "moodle",
+ "phpbb",
+ "piwik",
+ "ppi",
+ "puppet",
+ "roundcube",
+ "shopware",
+ "silverstripe",
+ "symfony",
+ "typo3",
+ "wordpress",
+ "zend",
+ "zikula"
+ ],
+ "time": "2015-10-29 23:28:48"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": ">=5.3.0"
+ },
+ "platform-dev": []
+}
diff --git a/MLEB/UniversalLanguageSelector/data/LanguageNameIndexer.php b/MLEB/UniversalLanguageSelector/data/LanguageNameIndexer.php
index 9fb5f57f..0715d985 100644
--- a/MLEB/UniversalLanguageSelector/data/LanguageNameIndexer.php
+++ b/MLEB/UniversalLanguageSelector/data/LanguageNameIndexer.php
@@ -31,7 +31,7 @@ class LanguageNameIndexer extends Maintenance {
}
public function execute() {
- $languages = Language::fetchLanguageNames( null, 'all' ); // since 1.20
+ $languages = Language::fetchLanguageNames( null, 'all' );
$all = array();
$buckets = array();
diff --git a/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.eot b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.eot
new file mode 100644
index 00000000..4426ab47
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.eot
Binary files differ
diff --git a/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.ttf b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.ttf
new file mode 100644
index 00000000..f8762446
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.ttf
Binary files differ
diff --git a/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.woff b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.woff
new file mode 100644
index 00000000..be3faafa
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/Skeirs II.woff
Binary files differ
diff --git a/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/font.ini b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/font.ini
new file mode 100644
index 00000000..90076c96
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/data/fontrepo/fonts/Skeirs/font.ini
@@ -0,0 +1,9 @@
+[Skeirs II]
+languages=got
+url=http://robert-pfeffer.net/schriftarten/englisch/nachgeladener_rahmen.html?skeirs.html
+license=OFL-1.1
+licensefile=OFL.txt
+version=4.0
+ttf=Skeirs II.ttf
+eot=Skeirs II.eot
+woff=Skeirs II.woff
diff --git a/MLEB/UniversalLanguageSelector/extension.json b/MLEB/UniversalLanguageSelector/extension.json
new file mode 100644
index 00000000..b0178879
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/extension.json
@@ -0,0 +1,376 @@
+{
+ "name": "UniversalLanguageSelector",
+ "version": "2015-06-08",
+ "author": [
+ "Alolita Sharma",
+ "Amir Aharoni",
+ "Arun Ganesh",
+ "Brandon Harris",
+ "Niklas Laxström",
+ "Pau Giner",
+ "Santhosh Thottingal",
+ "Siebrand Mazeland"
+ ],
+ "url": "https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector",
+ "descriptionmsg": "uls-desc",
+ "license-name": "GPL-2.0+",
+ "Hooks": {
+ "BeforePageDisplay": "UniversalLanguageSelectorHooks::addModules",
+ "EnterMobileMode": "UniversalLanguageSelectorHooks::onEnterMobileMode",
+ "EventLoggingRegisterSchemas": "UniversalLanguageSelectorHooks::onEventLoggingRegisterSchemas",
+ "GetBetaFeaturePreferences": "UniversalLanguageSelectorHooks::onGetBetaFeaturePreferences",
+ "GetPreferences": "UniversalLanguageSelectorHooks::onGetPreferences",
+ "MakeGlobalVariablesScript": "UniversalLanguageSelectorHooks::addVariables",
+ "PersonalUrls": "UniversalLanguageSelectorHooks::addPersonalBarTrigger",
+ "ResourceLoaderGetConfigVars": "UniversalLanguageSelectorHooks::addConfig",
+ "ResourceLoaderRegisterModules": "UniversalLanguageSelectorHooks::onResourceLoaderRegisterModules",
+ "ResourceLoaderTestModules": "UniversalLanguageSelectorHooks::addTestModules",
+ "SkinTemplateOutputPageBeforeExec": "UniversalLanguageSelectorHooks::onSkinTemplateOutputPageBeforeExec",
+ "UserGetLanguageObject": "UniversalLanguageSelectorHooks::getLanguage"
+ },
+ "APIModules": {
+ "languagesearch": "ApiLanguageSearch",
+ "ulslocalization": "ApiULSLocalization"
+ },
+ "MessagesDirs": {
+ "UniversalLanguageSelector": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "UniversalLanguageSelectorHooks": "UniversalLanguageSelector.hooks.php",
+ "ResourceLoaderULSModule": "includes/ResourceLoaderULSModule.php",
+ "ResourceLoaderULSJsonMessageModule": "includes/ResourceLoaderULSJsonMessageModule.php",
+ "ApiLanguageSearch": "api/ApiLanguageSearch.php",
+ "ApiULSLocalization": "api/ApiULSLocalization.php",
+ "ULSJsonMessageLoader": "includes/ULSJsonMessageLoader.php",
+ "LanguageNameSearch": "data/LanguageNameSearch.php"
+ },
+ "DefaultUserOptions": {
+ "uls-preferences": ""
+ },
+ "config": {
+ "@ULSGeoService": "ULS can use geolocation services to suggest languages based on the country the user is vising from. Setting this to false will prevent builtin geolocation from being used. You can provide your own geolocation by setting window.Geo to object which has key \"country_code\" or \"country\". If set to true, it will query Wikimedia's geoip service. The service should return jsonp that uses the supplied callback parameter.",
+ "ULSGeoService": true,
+ "@ULSEnable": "Enable language selection, input methods and webfonts for everyone, unless the behavior is overridden by the configuration variables below. Even if false the classes and resource loader modules are registered for the use of other extensions. Language changing via cookie or setlang query parameter is not possible.",
+ "ULSEnable": true,
+ "@ULSEnableAnon": "Equivalent to $wgULSEnable for anonymous users only. Does not have any effect if $wgULSEnable is false.",
+ "ULSEnableAnon": true,
+ "@ULSAnonCanChangeLanguage": "Allow anonymous users to change language with cookie and setlang query parameter. Do not use if you are caching anonymous page views without taking cookies into account. Does not have any effect if either of $wgULSEnable or $wgULSEnableAnon is set to false. @since 2013.04",
+ "ULSAnonCanChangeLanguage": true,
+ "@ULSLanguageDetection": "Try to use preferred interface language for anonymous users. Do not use if you are caching anonymous page views without taking Accept-Language into account. Does not have any effect if any of $wgULSEnable, $wgULSEnableAnon or $wgULSAnonCanChangeLanguage is set to false.",
+ "ULSLanguageDetection": true,
+ "@ULSIMEEnabled": "Enable the input methods feature for all users by default. Can be controlled by the user.",
+ "ULSIMEEnabled": true,
+ "@ULSWebfontsEnabled": "Enable the webfonts feature for all users by default. Can be controlled by the user. @since 2014.02",
+ "ULSWebfontsEnabled": true,
+ "@ULSMobileWebfontsEnabled": "Set whether webfont support is loaded within the mobile interface (via the MobileFrontend extension).",
+ "ULSMobileWebfontsEnabled": true,
+ "@ULSPosition": "The location and the form of the language selection trigger. The possible values are: (a) \"personal\"- as a link near the username or the log in link in the personal toolbar (default). (b) \"interlanguage\": as an icon near the header of the list of interlanguage links in the sidebar.",
+ "ULSPosition": "personal",
+ "@ULSEventLogging": "Whether to use EventLogging. The EventLogging extension must be installed if this option is enabled. @since 2013.06",
+ "ULSEventLogging": false,
+ "@ULSImeSelectors": "Array of jQuery selectors of elements on which IME should be enabled. @since 2013.11",
+ "ULSImeSelectors": [
+ "input:not([type])",
+ "input[type=text]",
+ "input[type=search]",
+ "textarea",
+ "[contenteditable]"
+ ],
+ "@ULSNoImeSelectors": "Array of jQuery selectors of elements on which IME must not be enabled. @since 2013.07",
+ "ULSNoImeSelectors": [
+ "#wpCaptchaWord", ".ve-ce-surface *"
+ ],
+ "@ULSNoWebfontsSelectors": "Array of jQuery selectors of elements on which webfonts must not be applied. By default exclude elements with .autonym because that style set font as Autonym @since 2013.09",
+ "ULSNoWebfontsSelectors": [
+ "#p-lang li.interlanguage-link > a"
+ ],
+ "@ULSFontRepositoryBasePath": "Base path of ULS font repository. If not set, will be set to 'UniversalLanguageSelector/data/fontrepo/fonts/', relative to $wgExtensionAssetsPath. @since 2013.10",
+ "ULSFontRepositoryBasePath": false,
+ "@ULSCompactLinks": "Whether the \"Compact language links\" Beta Feature is exposed. Requires $wgULSPosition to be \"interlanguage\". Defaults to false. @since 2014.03",
+ "ULSCompactLinks": false
+ },
+ "callback": "UniversalLanguageSelectorHooks::setVersionConstant",
+ "ResourceModules": {
+ "ext.uls.languagenames": {
+ "class": "ResourceLoaderULSModule"
+ },
+ "ext.uls.messages": {
+ "class": "ResourceLoaderULSJsonMessageModule",
+ "dependencies": "ext.uls.i18n",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.buttons": {
+ "styles": "css/ext.uls.buttons.css",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.displaysettings": {
+ "scripts": "js/ext.uls.displaysettings.js",
+ "styles": "css/ext.uls.displaysettings.css",
+ "dependencies": [
+ "ext.uls.languagesettings",
+ "ext.uls.mediawiki",
+ "ext.uls.webfonts",
+ "mediawiki.api.parse"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.geoclient": {
+ "scripts": "js/ext.uls.geoclient.js",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.ime": {
+ "scripts": "js/ext.uls.ime.js",
+ "dependencies": [
+ "ext.uls.init",
+ "ext.uls.preferences",
+ "ext.uls.mediawiki",
+ "ext.uls.messages",
+ "jquery.ime"
+ ],
+ "messages": [
+ "uls-ime-helppage"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.nojs": {
+ "styles": "css/ext.uls.nojs.css",
+ "position": "top",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.init": {
+ "scripts": "js/ext.uls.init.js",
+ "styles": "css/ext.uls.css",
+ "skinStyles": {
+ "monobook": "css/ext.uls-monobook.css"
+ },
+ "dependencies": [
+ "mediawiki.Uri",
+ "jquery.client",
+ "jquery.cookie"
+ ],
+ "position": "top",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.eventlogger": {
+ "scripts": "js/ext.uls.eventlogger.js",
+ "dependencies": [
+ "mediawiki.user",
+ "schema.UniversalLanguageSelector"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.i18n": {
+ "scripts": "js/ext.uls.i18n.js",
+ "dependencies": [
+ "jquery.i18n",
+ "mediawiki.util"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.inputsettings": {
+ "scripts": "js/ext.uls.inputsettings.js",
+ "styles": "css/ext.uls.inputsettings.css",
+ "dependencies": [
+ "ext.uls.ime",
+ "ext.uls.languagesettings",
+ "ext.uls.mediawiki",
+ "jquery.ime"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.interface": {
+ "scripts": "js/ext.uls.interface.js",
+ "dependencies": [
+ "ext.uls.init",
+ "jquery.tipsy",
+ "mediawiki.jqueryMsg",
+ "mediawiki.user",
+ "ext.uls.webfonts"
+ ],
+ "messages": [
+ "uls-plang-title-languages",
+ "ext-uls-select-language-settings-icon-tooltip",
+ "ext-uls-undo-language-tooltip-text",
+ "ext-uls-language-settings-preferences-link"
+ ],
+ "position": "top",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.languagesettings": {
+ "scripts": "js/ext.uls.languagesettings.js",
+ "styles": "css/ext.uls.languagesettings.css",
+ "dependencies": [
+ "ext.uls.buttons",
+ "ext.uls.messages",
+ "ext.uls.preferences",
+ "jquery.uls.grid"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.preferences": {
+ "scripts": "js/ext.uls.preferences.js",
+ "dependencies": [
+ "mediawiki.user",
+ "mediawiki.api"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.compactlinks": {
+ "scripts": "js/ext.uls.compactlinks.js",
+ "styles": "css/ext.uls.compactlinks.css",
+ "dependencies": [
+ "ext.uls.mediawiki",
+ "ext.uls.init",
+ "jquery.uls.compact",
+ "mediawiki.language",
+ "mediawiki.ui.button"
+ ],
+ "messages": [
+ "ext-uls-compact-link-count"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.webfonts": {
+ "scripts": "js/ext.uls.webfonts.js",
+ "dependencies": [
+ "ext.uls.init",
+ "ext.uls.preferences"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.webfonts.fonts": {
+ "dependencies": [
+ "jquery.webfonts",
+ "jquery.uls.data",
+ "ext.uls.webfonts.repository"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.webfonts.repository": {
+ "scripts": "js/ext.uls.webfonts.repository.js",
+ "targets": [
+ "desktop",
+ "mobile"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.webfonts.mobile": {
+ "scripts": "js/ext.uls.webfonts.mobile.js",
+ "targets": [
+ "mobile"
+ ],
+ "dependencies": [
+ "jquery.webfonts",
+ "ext.uls.webfonts.repository"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "jquery.ime": {
+ "scripts": "jquery.ime/jquery.ime.js",
+ "styles": "jquery.ime/css/jquery.ime.css",
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "ext.uls.mediawiki": {
+ "scripts": "js/ext.uls.mediawiki.js",
+ "dependencies": [
+ "ext.uls.init",
+ "ext.uls.languagenames",
+ "ext.uls.messages",
+ "jquery.uls",
+ "jquery.uls.grid",
+ "mediawiki.util"
+ ],
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "jquery.uls": {
+ "scripts": [
+ "jquery.uls/src/jquery.uls.core.js",
+ "jquery.uls/src/jquery.uls.lcd.js",
+ "jquery.uls/src/jquery.uls.languagefilter.js",
+ "jquery.uls/src/jquery.uls.regionfilter.js"
+ ],
+ "styles": [
+ "jquery.uls/css/jquery.uls.css",
+ "jquery.uls/css/jquery.uls.lcd.css"
+ ],
+ "dependencies": [
+ "jquery.i18n",
+ "jquery.uls.data",
+ "jquery.uls.grid"
+ ],
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "jquery.uls.compact": {
+ "styles": "jquery.uls/css/jquery.uls.compact.css",
+ "dependencies": "jquery.uls",
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "jquery.uls.data": {
+ "scripts": [
+ "jquery.uls/src/jquery.uls.data.js",
+ "jquery.uls/src/jquery.uls.data.utils.js"
+ ],
+ "targets": [
+ "desktop",
+ "mobile"
+ ],
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "jquery.uls.grid": {
+ "position": "top",
+ "styles": "jquery.uls/css/jquery.uls.grid.css",
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "jquery.webfonts": {
+ "scripts": "jquery.webfonts.js",
+ "targets": [
+ "desktop",
+ "mobile"
+ ],
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ },
+ "ext.uls.pt": {
+ "styles": "css/ext.uls.pt.css",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "ext.uls.interlanguage": {
+ "styles": "css/ext.uls.interlanguage.css",
+ "localBasePath": "resources",
+ "remoteExtPath": "UniversalLanguageSelector/resources"
+ },
+ "rangy.core": {
+ "scripts": "rangy/rangy-core.js",
+ "localBasePath": "lib",
+ "remoteExtPath": "UniversalLanguageSelector/lib"
+ }
+ },
+ "manifest_version": 1
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/af.json b/MLEB/UniversalLanguageSelector/i18n/af.json
index 3b0b080a..9bf7adb2 100644
--- a/MLEB/UniversalLanguageSelector/i18n/af.json
+++ b/MLEB/UniversalLanguageSelector/i18n/af.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Naudefj"
+ "Naudefj",
+ "Fwolff"
]
},
"uls-plang-title-languages": "Tale",
@@ -52,5 +53,6 @@
"ext-uls-input-disable-notification-info-personal": "U kan die invoer-gereedskap weer via die taal-voorkeure aktiveer",
"ext-uls-input-disable-notification-info-interlanguage": "U kan die invoer-gereedskap enige tyd weer via die taal-voorkeure langs die lys van tale aktiveer.",
"ext-uls-language-settings-applying": "Pas toe...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Een meer|$1 meer}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Een meer|$1 meer}}",
+ "apihelp-ulslocalization-param-language": "Taalkode."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/arq.json b/MLEB/UniversalLanguageSelector/i18n/arq.json
index 11ce2fdf..4286ec9b 100644
--- a/MLEB/UniversalLanguageSelector/i18n/arq.json
+++ b/MLEB/UniversalLanguageSelector/i18n/arq.json
@@ -1,9 +1,11 @@
{
"@metadata": {
"authors": [
- "Bachounda"
+ "Bachounda",
+ "Oldstoneage"
]
},
"uls-desc": "يجيب للمستخدم بزاف الطرق لتخيار لوغه، و تستاف باراميترات اللوغه",
- "uls-plang-title-languages": "لوغات"
+ "uls-plang-title-languages": "لوغات",
+ "apihelp-ulslocalization-param-language": "كود تاع اللوغة."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/az.json b/MLEB/UniversalLanguageSelector/i18n/az.json
index 0b114a48..38167c0a 100644
--- a/MLEB/UniversalLanguageSelector/i18n/az.json
+++ b/MLEB/UniversalLanguageSelector/i18n/az.json
@@ -1,10 +1,27 @@
{
"@metadata": {
"authors": [
- "Interfase"
+ "Interfase",
+ "Dağlı95"
]
},
"uls-plang-title-languages": "Dillər",
"ext-uls-select-language-settings-icon-tooltip": "Dilin təyin edilməsi",
- "ext-uls-undo-language-tooltip-text": "Əvvəlki dil: $1"
+ "ext-uls-undo-language-tooltip-text": "Əvvəlki dil: $1",
+ "ext-uls-language-settings-preferences-link": "Daha çox dil parametləri",
+ "ext-uls-display-settings-language-tab": "Dil",
+ "ext-uls-display-settings-fonts-tab": "Şriftlər",
+ "ext-uls-display-settings-title-short": "Görünüş",
+ "ext-uls-display-settings-desc": "Menyular və şriftlər üçün istifadə edilən dil paramertləri",
+ "ext-uls-language-settings-title": "Dil parametrləri",
+ "ext-uls-language-settings-apply": "Parametrləri tətbiq et",
+ "ext-uls-language-settings-cancel": "Ləğv et",
+ "ext-uls-language-buttons-help": "Menyunun dilini dəyiş. Bu dəyişiklik məzmunun dilinə təsir göstərməyəcəkdir.",
+ "ext-uls-display-settings-ui-language": "Görüntü dili",
+ "ext-uls-display-settings-anon-label": "Görüntü dili:",
+ "ext-uls-webfonts-settings-info-link": "Daha çox məlumat",
+ "ext-uls-input-settings-more-languages-tooltip": "Daha çox dillər",
+ "ext-uls-input-disable-notification-undo": "Geri qaytar",
+ "ext-uls-language-settings-applying": "Tətbiq edilir...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Bir ədəd|$1 ədəd daha çox dil}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/azb.json b/MLEB/UniversalLanguageSelector/i18n/azb.json
index 47b784ae..b73c7337 100644
--- a/MLEB/UniversalLanguageSelector/i18n/azb.json
+++ b/MLEB/UniversalLanguageSelector/i18n/azb.json
@@ -1,10 +1,14 @@
{
"@metadata": {
"authors": [
- "Mousa"
+ "Mousa",
+ "Koroğlu",
+ "Ebrahimi-amir",
+ "Alp Er Tunqa"
]
},
"ext-uls-undo-language-tooltip-text": "دیل $1-دن دَییشدیریلدی",
+ "ext-uls-language-settings-preferences-link": "آرتیقراق دیل تنظیم‌لری",
"ext-uls-display-settings-title": "گؤسترمک تنظیملری",
"ext-uls-display-settings-title-short": "گؤستر",
"ext-uls-display-settings-desc": "مِنولار و یازی‌تیپلره ایشلنن دیلی تنظیمله",
@@ -30,7 +34,7 @@
"ext-uls-input-settings-more-languages-tooltip": "چوخ دیل‌لر",
"jquery-ime-other-languages": "آیری دیل‌لر",
"jquery-ime-disable-text": "گیریش یولونو ایشدن سال",
- "jquery-ime-help": "یاردیم",
+ "jquery-ime-help": "کؤمک",
"ext-uls-input-disable": "گیریش یولو آراجلارینی ایشدن سال",
"ext-uls-input-enable": "گیریش یولو آراجلارینی ایشه سال",
"ext-uls-input-disable-info": "گیریش یولو آراجلاری ایشدن دوشدولر.",
diff --git a/MLEB/UniversalLanguageSelector/i18n/bcl.json b/MLEB/UniversalLanguageSelector/i18n/bcl.json
new file mode 100644
index 00000000..19183d91
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/bcl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Geopoet"
+ ]
+ },
+ "apihelp-ulslocalization-param-language": "Koda nin Lengguwahe"
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/bn.json b/MLEB/UniversalLanguageSelector/i18n/bn.json
index d21dab97..77c5a5e1 100644
--- a/MLEB/UniversalLanguageSelector/i18n/bn.json
+++ b/MLEB/UniversalLanguageSelector/i18n/bn.json
@@ -3,7 +3,8 @@
"authors": [
"Aftab1995",
"Bellayet",
- "Aftabuzzaman"
+ "Aftabuzzaman",
+ "Nasir8891"
]
},
"uls-desc": "ব্যবহারকারীকে ভাষা নির্বাচন এবং ভাষা সম্পর্কিত সেটিং সমন্বয়ের বিভিন্ন উপায় দেয়",
@@ -56,5 +57,15 @@
"ext-uls-input-disable-notification-info-personal": "আপনি ভাষা সেটিং থেকে যে কোনো সময়ে ইনপুট টুল সক্রিয় করতে পারেন।",
"ext-uls-input-disable-notification-info-interlanguage": "আপনি ভাষার তালিকার পাশে ভাষা সেটিং থেকে যে কোনো সময়ে ইনপুট টুল সক্রিয় করতে পারেন।",
"ext-uls-language-settings-applying": "প্রয়োগ হচ্ছে...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|আরও একটি|আরও $1টি}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|আরও একটি|আরও $1টি}}",
+ "apihelp-languagesearch-description": "যে কোনো স্ক্রিপ্টে ভাষার নাম অনুসন্ধান করুন।",
+ "apihelp-languagesearch-param-search": "বাক্য অনুসন্ধান।",
+ "apihelp-languagesearch-param-typos": "বাক্য অনুসন্ধানে গ্রহনযোগ্য বানান ভুলের সংখ্যা ।",
+ "apihelp-languagesearch-example-1": "\"Te\" এর জন্য অনুসন্ধান",
+ "apihelp-languagesearch-example-2": "\"ഫി\" এর জন্য অনুসন্ধান",
+ "apihelp-languagesearch-example-3": "\"ഫി\" এর জন্য অনুসন্ধান, একটি বানান ভুল গ্রহনযোগ্য",
+ "apihelp-ulslocalization-description": "ইউএলএস এর এই ভাষায় ব্যবহার করুন।",
+ "apihelp-ulslocalization-param-language": "ভাষা।",
+ "apihelp-ulslocalization-example-1": "তামিল ভাষায় ব্যবহার",
+ "apihelp-ulslocalization-example-2": "হিন্দি ভাষায় ব্যবহার"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/bs.json b/MLEB/UniversalLanguageSelector/i18n/bs.json
index ec4b02b1..858e5aae 100644
--- a/MLEB/UniversalLanguageSelector/i18n/bs.json
+++ b/MLEB/UniversalLanguageSelector/i18n/bs.json
@@ -1,14 +1,17 @@
{
"@metadata": {
"authors": [
- "DzWiki"
+ "DzWiki",
+ "Srdjan m",
+ "Semso98"
]
},
"uls-desc": "Daje korisniku nekoliko načina da izabere jezik i da prilagodi postavke jezika",
"uls-plang-title-languages": "Jezici",
"ext-uls-select-language-settings-icon-tooltip": "Postavke jezika",
"ext-uls-undo-language-tooltip-text": "Jezik promijenjen sa $1",
- "ext-uls-language-settings-preferences-link": "Više jezičnih postavki",
+ "ext-uls-language-settings-preferences-link": "Više jezičkih postavki",
+ "uls-betafeature-label": "Sažeti linkovi na druge jezike",
"uls-betafeature-desc": "Prikaži kraći spisak s poveznicama na druge jezike, samo s jezicima koji su Vam najvažniji.",
"ext-uls-display-settings-title": "Postavke prikaza",
"ext-uls-display-settings-language-tab": "Jezik",
@@ -49,9 +52,9 @@
"ext-uls-input-disable-info": "Alati za unos su onemogućeni",
"ext-uls-input-settings-noime": "Nema dostupne metoda unosa za ovaj jezik.",
"ext-uls-input-disable-notification": "Alati za unos su onemogućeni",
- "ext-uls-input-disable-notification-undo": "Povrati",
+ "ext-uls-input-disable-notification-undo": "Poništi",
"ext-uls-input-disable-notification-info-personal": "Možete omogućiti alate za unos bilo koje vrijeme na postavke jezika.",
"ext-uls-input-disable-notification-info-interlanguage": "Alate za unos možete u svakom trenutku omogućiti u jezičnim postavkama pored jezičnog spiska.",
"ext-uls-language-settings-applying": "Primjenjujem...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Još jedan jezik|Još $1 druga jezika|Još $1 drugih jezika}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Još jedan|Još $1}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ca.json b/MLEB/UniversalLanguageSelector/i18n/ca.json
index efeee48b..a75560da 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ca.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ca.json
@@ -3,7 +3,8 @@
"authors": [
"Pginer",
"Vriullop",
- "Fitoschido"
+ "Fitoschido",
+ "Macofe"
]
},
"uls-desc": "Dóna a l'usuari diverses maneres per seleccionar una llengua i ajustar la seva configuració",
@@ -55,5 +56,6 @@
"ext-uls-input-disable-notification-info-personal": "Podeu habilitar les eines d'entrada en qualsevol moment des de la configuració de llengua.",
"ext-uls-input-disable-notification-info-interlanguage": "Podeu habilitar les eines d'entrada en qualsevol moment des de la configuració de llengua al costat de la llista de llengües.",
"ext-uls-language-settings-applying": "Aplicant…",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Una més|$1 més}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Una més|$1 més}}",
+ "apihelp-ulslocalization-param-language": "Codi d'idioma."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ce.json b/MLEB/UniversalLanguageSelector/i18n/ce.json
index 7e5bd74b..91d4b08f 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ce.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ce.json
@@ -5,7 +5,7 @@
"Nemo bis"
]
},
- "uls-desc": "Декъашхойн таро хуьлуьйту масийтта кепара мотт харжа а мотт дIахIотто а",
+ "uls-desc": "Декъашхойн таро хуьлуьйту масийтта кепара мотт харжа а, мотт дIахIотто а",
"uls-plang-title-languages": "Меттанаш",
"ext-uls-select-language-settings-icon-tooltip": "Мотт дIахIоттор",
"ext-uls-undo-language-tooltip-text": "Хьалхара мотт: $1",
@@ -15,8 +15,8 @@
"ext-uls-display-settings-title": "Сурт хӀоттор дӀахӀоттор",
"ext-uls-display-settings-language-tab": "Мотт",
"ext-uls-display-settings-fonts-tab": "Шрифташ",
- "ext-uls-display-settings-title-short": "Сурт хӀоттор",
- "ext-uls-display-settings-desc": "Меню а шрифтийн а мотт",
+ "ext-uls-display-settings-title-short": "Гар",
+ "ext-uls-display-settings-desc": "Меню а, шрифтийн а мотт",
"ext-uls-language-settings-title": "Мотт дIахIоттор",
"ext-uls-language-settings-apply": "Ӏалашдан",
"ext-uls-language-settings-cancel": "Цаоьшу",
@@ -55,5 +55,6 @@
"ext-uls-input-disable-notification-info-personal": "Яздаран гӀирс лело йиш ю муьлхачу хенахь мотт хуьйцу гӀирсан чохь.",
"ext-uls-input-disable-notification-info-interlanguage": "Яздаран гӀирс лело йиш ю муьлхачу хенахь мотт хуьйцу гӀирсан чохь.",
"ext-uls-language-settings-applying": "ДӀахӀоттор…",
- "ext-uls-compact-link-count": "Кхин {{PLURAL:$1|цхьан маттахь|$1 меттанашкахь}}"
+ "ext-uls-compact-link-count": "Кхин {{PLURAL:$1|цхьан маттахь|$1 меттанашкахь}}",
+ "apihelp-ulslocalization-param-language": "Меттан код."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ckb.json b/MLEB/UniversalLanguageSelector/i18n/ckb.json
index c7d51ba4..d9c95a50 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ckb.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ckb.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Calak"
+ "Calak",
+ "Asoxor"
]
},
"uls-desc": "ڕێگای جۆربەجۆر بۆ بەکارھێنەر بۆ ھەڵبژاردنی زمان و جێبەجێکردنی ڕێکخستنەکانی زمان دخاتە ڕوو.",
@@ -17,27 +18,28 @@
"ext-uls-language-settings-title": "ڕێکخستنەکانی زمان",
"ext-uls-language-settings-apply": "ڕێکخستنەکان بەکاربەرە",
"ext-uls-language-settings-cancel": "ھەڵیوەشێنەوە",
- "ext-uls-language-buttons-help": "زمانی مێنووکان بگۆڕە. زمانی دەقەکانی ویکی ناگۆڕدرێ.",
+ "ext-uls-language-buttons-help": "زمانی ڕووکار بگۆڕە. کاریگەری لەسەر زمانی ناوەرۆک نابێت.",
"ext-uls-display-settings-font-settings": "ڕێکخستنەکانی فۆنت",
"ext-uls-display-settings-ui-language": "پێشاندانی زمان",
"ext-uls-display-settings-anon-label": "پێشاندانی زمان:",
"ext-uls-display-settings-anon-same-as-content": "$1 (وەکوو ناوەرۆک)",
- "ext-uls-display-settings-anon-log-in-cta": "بۆ ھەڵبژاردنی زمانی جیاواز بۆ مێنووکان [[تایبەت:UserLogin|بچۆ ژوورەوە]].",
+ "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|بچۆ ژوورەوە]] بۆ ھەڵبژاردنی زمانێکی تر بۆ ڕووکار.",
+ "ext-uls-webfonts-settings-title": "ئەگەر پێویست بوو فۆنتەکان داگرە",
"ext-uls-webfonts-settings-info-link": "زانیاریی زیاتر",
- "ext-uls-webfonts-select-for": "فۆنت ھەڵبژێرە بۆ زمانی $1",
+ "ext-uls-webfonts-select-for": "فۆنت ھەڵبژێرە بۆ $1",
"ext-uls-webfonts-select-for-ui-info": "فۆنتی بەکارگیراو بۆ ڕووکاری بەکارھێنەر",
"ext-uls-webfonts-select-for-content-info": "فۆنتی بەکارگیراو بۆ ناوەرۆک",
"ext-uls-webfonts-system-font": "فۆنتی سیستەم",
"ext-uls-back-to-display-settings": "گەڕانەوە بۆ ڕێکخستنەکانی پێشاندان",
"ext-uls-input-settings-title": "ڕێکخستنەکانی تەختەکلیل",
"ext-uls-input-settings-title-short": "تەختەکلیل",
- "ext-uls-input-settings-desc": "بە زمانێکی جیاواز دەنووسی؟",
- "ext-uls-input-settings-ime-settings": "شێوەازەکانی تەختەکلیل بۆ زمانی $1",
+ "ext-uls-input-settings-desc": "بە زمانێکی تر دەنووسیت؟",
+ "ext-uls-input-settings-ime-settings": "شێوازەکانی تەختەکلیل بۆ $1",
"ext-uls-input-settings-ui-language": "زمانی بەکارگیراو بۆ نووسین",
"ext-uls-back-to-input-settings": "گەڕانەوە بۆ ڕێکخستنەکانی تەختەکلیل",
"ext-uls-ime-help": "چۆنێتیی بەکارھێنان",
"ext-uls-disable-input-method": "تەختەکلیلی سەرەکی بەکاربھێنە",
- "ext-uls-input-settings-more-languages-tooltip": "زمانەکانی تر",
+ "ext-uls-input-settings-more-languages-tooltip": "زمانی زیاتر",
"jquery-ime-other-languages": "زمانەکانی تر",
"jquery-ime-disable-text": "تەختەکلیلی سەرەکی بەکاربھێنە",
"jquery-ime-help": "یارمەتی",
@@ -48,5 +50,6 @@
"ext-uls-input-disable-notification": "ئامرازەکانی تەختەکلیل ناچالاک کراون.",
"ext-uls-input-disable-notification-undo": "پووچەڵکردنەوە",
"ext-uls-input-disable-notification-info-personal": "ھەر کات ویستت دەتوانی ئامرازەکانی تەختەکلیل لە بەشی ڕێکخستنەکانی زمان چالاک بکەی.",
- "ext-uls-input-disable-notification-info-interlanguage": "ھەر کات ویستت دەتوانی ئامرازەکانی تەختەکلیل لە بەشی ڕێکخستنەکانی زمان لە لای پێرستی زمانەکان چالاک بکەی."
+ "ext-uls-input-disable-notification-info-interlanguage": "ھەر کات ویستت دەتوانی ئامرازەکانی تەختەکلیل لە بەشی ڕێکخستنەکانی زمان لە لای پێرستی زمانەکان چالاک بکەی.",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|زمانێکی تر|$1 زمانی تر}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/de.json b/MLEB/UniversalLanguageSelector/i18n/de.json
index 2a1cda07..53950408 100644
--- a/MLEB/UniversalLanguageSelector/i18n/de.json
+++ b/MLEB/UniversalLanguageSelector/i18n/de.json
@@ -3,7 +3,8 @@
"authors": [
"Metalhead64",
"Se4598",
- "Kghbln"
+ "Kghbln",
+ "Tiin"
]
},
"uls-desc": "Bietet verschiedene Möglichkeiten eine Sprache auszuwählen sowie Spracheinstellungen anzupassen",
@@ -57,6 +58,14 @@
"ext-uls-input-disable-notification-info-interlanguage": "Du kannst die Eingabewerkzeuge zu jeder Zeit in den Spracheinstellungen neben der Sprachenliste aktivieren.",
"ext-uls-language-settings-applying": "Anwenden …",
"ext-uls-compact-link-count": "{{PLURAL:$1|Eine weitere|$1 weitere}}",
+ "apihelp-languagesearch-description": "Sucht nach Sprachnamen in beliebiger Schrift.",
"apihelp-languagesearch-param-search": "Such-Zeichenfolge.",
- "apihelp-ulslocalization-param-language": "Sprachzeichenfolge."
+ "apihelp-languagesearch-param-typos": "Anzahl der erlaubten Rechtschreibfehler in der Sucheingabe.",
+ "apihelp-languagesearch-example-1": "Sucht nach „Te“",
+ "apihelp-languagesearch-example-2": "Sucht nach „ഫി“",
+ "apihelp-languagesearch-example-3": "Sucht nach „ഫി“, erlaubt einen Tippfehler",
+ "apihelp-ulslocalization-description": "Ruft die Lokalisierung von ULS in der vorgegebenen Sprache ab.",
+ "apihelp-ulslocalization-param-language": "Sprachcode.",
+ "apihelp-ulslocalization-example-1": "Ruft die Tamil-Lokalisierung ab",
+ "apihelp-ulslocalization-example-2": "Ruft die Hindi-Lokalisierung ab"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/el.json b/MLEB/UniversalLanguageSelector/i18n/el.json
index 30a7db37..b70d68cb 100644
--- a/MLEB/UniversalLanguageSelector/i18n/el.json
+++ b/MLEB/UniversalLanguageSelector/i18n/el.json
@@ -23,7 +23,7 @@
"ext-uls-display-settings-font-settings": "Ρυθμίσεις γραμματοσειράς",
"ext-uls-display-settings-ui-language": "Γλώσσα εμφάνισης",
"ext-uls-display-settings-anon-label": "Γλώσσα εμφάνισης:",
- "ext-uls-display-settings-anon-same-as-content": "Αγγλικά (ίδια με το περιεχόμενο)",
+ "ext-uls-display-settings-anon-same-as-content": "\n$1 (ίδια με το περιεχόμενο)",
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Συνδεθείτε]] για να επιλέξετε μια διαφορετική γλώσσα για τα μενού.",
"ext-uls-webfonts-select-for": "Επιλέξτε τη γραμματοσειρά για $1",
"ext-uls-webfonts-select-for-ui-info": "Γραμματοσειρά που χρησιμοποιείται για την διεπαφή χρήστη",
diff --git a/MLEB/UniversalLanguageSelector/i18n/en.json b/MLEB/UniversalLanguageSelector/i18n/en.json
index 1c7a7654..e54324a0 100644
--- a/MLEB/UniversalLanguageSelector/i18n/en.json
+++ b/MLEB/UniversalLanguageSelector/i18n/en.json
@@ -68,7 +68,7 @@
"apihelp-languagesearch-example-2": "Search for \"ഫി\"",
"apihelp-languagesearch-example-3": "Search for \"ഫി\", allowing one typo",
"apihelp-ulslocalization-description": "Get the localization of ULS in the given language.",
- "apihelp-ulslocalization-param-language": "Language string.",
+ "apihelp-ulslocalization-param-language": "Language code.",
"apihelp-ulslocalization-example-1": "Get Tamil localization",
"apihelp-ulslocalization-example-2": "Get Hindi localization"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/eo.json b/MLEB/UniversalLanguageSelector/i18n/eo.json
index a1251b68..0204e176 100644
--- a/MLEB/UniversalLanguageSelector/i18n/eo.json
+++ b/MLEB/UniversalLanguageSelector/i18n/eo.json
@@ -54,5 +54,5 @@
"ext-uls-input-disable-notification-info-personal": "Vi povas iam ajn ŝalti enigajn ilojn en lingvaj agordoj.",
"ext-uls-input-disable-notification-info-interlanguage": "Vi povas iam ajn ŝalti enigajn ilojn en lingvaj agordoj ĉe lingvolisto.",
"ext-uls-language-settings-applying": "Aplikiĝado...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Unu plia lingvo|$1 pliaj lingvoj}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Unu plia|$1 pliaj}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/es.json b/MLEB/UniversalLanguageSelector/i18n/es.json
index 033c38a4..85bf6cc1 100644
--- a/MLEB/UniversalLanguageSelector/i18n/es.json
+++ b/MLEB/UniversalLanguageSelector/i18n/es.json
@@ -30,11 +30,11 @@
"ext-uls-display-settings-ui-language": "Idioma de la presentación",
"ext-uls-display-settings-anon-label": "Idioma de la presentación:",
"ext-uls-display-settings-anon-same-as-content": "$1 (igual que el contenido)",
- "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Inicie sesión]] para seleccionar un idioma diferente para los menús.",
+ "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Inicia sesión]] para seleccionar un idioma diferente para los menús.",
"ext-uls-webfonts-settings-title": "Descargar fuentes cuando sea necesario",
- "ext-uls-webfonts-settings-info": "Las fuentes se descargarán para mostrar texto en otros sistemas de escritura.",
+ "ext-uls-webfonts-settings-info": "Descargar automáticamente los tipos de letras faltantes y permitir la selección de los tipos preferidos.",
"ext-uls-webfonts-settings-info-link": "Más información",
- "ext-uls-webfonts-select-for": "Seleccione fuente para $1",
+ "ext-uls-webfonts-select-for": "Selecciona fuente para $1",
"ext-uls-webfonts-select-for-ui-info": "Fuente usada para la interfaz de usuario",
"ext-uls-webfonts-select-for-content-info": "Fuente usada para el contenido",
"ext-uls-webfonts-system-font": "Tipo de letra del sistema",
@@ -57,7 +57,18 @@
"ext-uls-input-settings-noime": "No hay métodos de entrada disponibles para este idioma.",
"ext-uls-input-disable-notification": "Se han desactivado las herramientas de entrada",
"ext-uls-input-disable-notification-undo": "Deshacer",
- "ext-uls-input-disable-notification-info-personal": "Puede activar las herramientas de entrada en cualquier momento desde las opciones de idioma.",
- "ext-uls-input-disable-notification-info-interlanguage": "Puede activar las herramientas de entrada en cualquier momento desde las opciones de idioma junto a la lista de idiomas.",
- "ext-uls-language-settings-applying": "Aplicando…"
+ "ext-uls-input-disable-notification-info-personal": "Puedes activar las herramientas de entrada en cualquier momento desde las opciones de idioma.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Puedes activar las herramientas de entrada en cualquier momento desde las opciones de idioma junto a la lista de idiomas.",
+ "ext-uls-language-settings-applying": "Aplicando…",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Uno más|$1 más}}",
+ "apihelp-languagesearch-description": "Buscar nombres de idiomas en cualquier sistema de escritura.",
+ "apihelp-languagesearch-param-search": "Buscar cadena.",
+ "apihelp-languagesearch-param-typos": "Número de faltas de ortografía permitidas en la cadena de búsqueda.",
+ "apihelp-languagesearch-example-1": "Buscar \"Te\"",
+ "apihelp-languagesearch-example-2": "Buscar \"ഫി\"",
+ "apihelp-languagesearch-example-3": "Buscar \"ഫി\", permitiendo un error tipográfico",
+ "apihelp-ulslocalization-description": "Obtener la localización de ULS en el idioma especificado.",
+ "apihelp-ulslocalization-param-language": "Código de idioma.",
+ "apihelp-ulslocalization-example-1": "Obtener la localización en Tamil",
+ "apihelp-ulslocalization-example-2": "Obtener la localización en Hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/et.json b/MLEB/UniversalLanguageSelector/i18n/et.json
index bd8d029b..a7cde188 100644
--- a/MLEB/UniversalLanguageSelector/i18n/et.json
+++ b/MLEB/UniversalLanguageSelector/i18n/et.json
@@ -26,7 +26,7 @@
"ext-uls-display-settings-anon-label": "Kuvakeel:",
"ext-uls-display-settings-anon-same-as-content": "$1 (sama, mis sisul)",
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Logi sisse]], et menüüde jaoks erinev keel valida.",
- "ext-uls-webfonts-settings-title": "Laadi alla kirjatüübid, kui tarvis",
+ "ext-uls-webfonts-settings-title": "Laadi alla kirjatüübid, kui tarvis.",
"ext-uls-webfonts-settings-info": "Laadi puuduvad kirjatüübid alla iseenesest ja luba eelistatud kirjatüüpide valimine.",
"ext-uls-webfonts-settings-info-link": "Lisateave",
"ext-uls-webfonts-select-for": "Vali kirjatüüp ($1)",
@@ -55,5 +55,15 @@
"ext-uls-input-disable-notification-info-personal": "Saad alati keelesätetes sisestusriistad lubada.",
"ext-uls-input-disable-notification-info-interlanguage": "Saad alati keelesätetes keelte loendi kõrval sisestusriistad lubada.",
"ext-uls-language-settings-applying": "Rakendamine...",
- "ext-uls-compact-link-count": "Veel {{PLURAL:$1|üks keel|$1 keelt}}"
+ "ext-uls-compact-link-count": "Veel {{PLURAL:$1|üks keel|$1 keelt}}",
+ "apihelp-languagesearch-description": "Keelenimetuste otsimine, kasutades ükskõik millist kirja.",
+ "apihelp-languagesearch-param-search": "Otsisõne.",
+ "apihelp-languagesearch-param-typos": "Lubatud tähevigade arv otsisõnes.",
+ "apihelp-languagesearch-example-1": "Otsi sõnet \"Te\"",
+ "apihelp-languagesearch-example-2": "Otsi sõnet \"ഫി\"",
+ "apihelp-languagesearch-example-3": "Otsi sõnet \"ഫി\", lubatud üks täheviga",
+ "apihelp-ulslocalization-description": "Universaalse keelevalija lokalisatsiooni hankimine antud keeles.",
+ "apihelp-ulslocalization-param-language": "Keelekood.",
+ "apihelp-ulslocalization-example-1": "Hangi tamili lokalisatsioon",
+ "apihelp-ulslocalization-example-2": "Hangi hindi lokalisatsioon"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/eu.json b/MLEB/UniversalLanguageSelector/i18n/eu.json
index f6ec6855..7886bd5f 100644
--- a/MLEB/UniversalLanguageSelector/i18n/eu.json
+++ b/MLEB/UniversalLanguageSelector/i18n/eu.json
@@ -22,5 +22,6 @@
"ext-uls-input-settings-more-languages-tooltip": "Hizkuntza gehiago",
"jquery-ime-other-languages": "Beste hizkuntzak",
"jquery-ime-help": "Laguntza",
- "ext-uls-input-disable-notification-undo": "Desegin"
+ "ext-uls-input-disable-notification-undo": "Desegin",
+ "apihelp-ulslocalization-param-language": "Hizkuntza-kodea."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/fa.json b/MLEB/UniversalLanguageSelector/i18n/fa.json
index d3344782..988d08cf 100644
--- a/MLEB/UniversalLanguageSelector/i18n/fa.json
+++ b/MLEB/UniversalLanguageSelector/i18n/fa.json
@@ -51,15 +51,16 @@
"jquery-ime-other-languages": "زبان‌های دیگر",
"jquery-ime-disable-text": "استفاده از صفحه‌کلید بومی",
"jquery-ime-help": "راهنما",
- "ext-uls-input-disable": "غیرفعال‌کردن ابزارهای ورودی",
- "ext-uls-input-enable": "فعال‌کردن ابزارهای ورودی",
+ "ext-uls-input-disable": "غیرفعال کردن ابزارهای ورودی",
+ "ext-uls-input-enable": "فعال کردن ابزارهای ورودی",
"ext-uls-input-disable-info": "ابزارهای ورودی غیرفعال است.",
"ext-uls-input-settings-noime": "هیچ روش ورودی‌ای برای این زبان در دسترس نیست.",
"ext-uls-input-disable-notification": "ابزارهای ورودی غیرفعال شده‌اند",
"ext-uls-input-disable-notification-undo": "واگردانی",
"ext-uls-input-disable-notification-info-personal": "در هر زمان می‌توانید ابزارهای ورودی را از بخش تنظیمات زبان فعال کنید.",
"ext-uls-input-disable-notification-info-interlanguage": "در هر زمان می توانید ابزارهای ورودی را از بخش تنظیمات زبان در کنار فهرست زبان‌ها فعال است.",
- "ext-uls-language-settings-applying": "اعمال‌کردن...",
+ "ext-uls-language-settings-applying": "اعمال کردن...",
"ext-uls-compact-link-count": "{{PLURAL:$1|یک زبان دیگر|$1 زبان دیگر}}",
- "apihelp-languagesearch-param-search": "جستجوی رشته."
+ "apihelp-languagesearch-param-search": "جستجوی رشته.",
+ "apihelp-ulslocalization-param-language": "کد زبان."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/fr.json b/MLEB/UniversalLanguageSelector/i18n/fr.json
index 6744cdd3..d767654a 100644
--- a/MLEB/UniversalLanguageSelector/i18n/fr.json
+++ b/MLEB/UniversalLanguageSelector/i18n/fr.json
@@ -9,7 +9,11 @@
"Wyz",
"Jgaignerot",
"Urhixidur",
- "NemesisIII"
+ "NemesisIII",
+ "Framafan",
+ "Macofe",
+ "Yodaspirine",
+ "Yzelf"
]
},
"uls-desc": "Donne à l’utilisateur plusieurs manières de sélectionner une langue et d’ajuster les paramètres de langue",
@@ -18,7 +22,7 @@
"ext-uls-undo-language-tooltip-text": "Langue modifiée de $1",
"ext-uls-language-settings-preferences-link": "Plus de paramètres de langue",
"uls-betafeature-label": "Compacter les liens de langue",
- "uls-betafeature-desc": "Afficher une version abrégée de la liste des langues, avec juste les langues qui vous intéressent le plus.",
+ "uls-betafeature-desc": "Afficher une version abrégée de la liste des langues, avec juste les langues qui sont les plus pertinentes pour vous.",
"ext-uls-display-settings-title": "Afficher les paramètres",
"ext-uls-display-settings-language-tab": "Langue",
"ext-uls-display-settings-fonts-tab": "Polices de caractères",
@@ -28,22 +32,22 @@
"ext-uls-language-settings-apply": "Appliquer les paramètres",
"ext-uls-language-settings-cancel": "Annuler",
"ext-uls-language-buttons-help": "Modifier la langue des menus. La langue du contenu ne sera pas concernée.",
- "ext-uls-display-settings-font-settings": "Paramètres de fonte",
+ "ext-uls-display-settings-font-settings": "Paramètres de police d’écriture",
"ext-uls-display-settings-ui-language": "Langue d'affichage",
"ext-uls-display-settings-anon-label": "Langue d'affichage :",
"ext-uls-display-settings-anon-same-as-content": "$1 (comme le contenu)",
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Se connecter]] pour sélectionner une autre langue pour les menus.",
- "ext-uls-webfonts-settings-title": "Télécharger les polices au besoin",
- "ext-uls-webfonts-settings-info": "Télécharger automatiquement les polices absentes et permettre la sélection des polices préférées.",
+ "ext-uls-webfonts-settings-title": "Télécharger les polices si nécessaire",
+ "ext-uls-webfonts-settings-info": "Télécharger automatiquement les polices manquantes et permettre la sélection des polices préférées.",
"ext-uls-webfonts-settings-info-link": "Plus d’informations",
"ext-uls-webfonts-select-for": "Sélectionner une police pour $1",
"ext-uls-webfonts-select-for-ui-info": "Police utilisée pour l’interface utilisateur",
"ext-uls-webfonts-select-for-content-info": "Police utilisée pour le contenu",
"ext-uls-webfonts-system-font": "Police système",
"ext-uls-back-to-display-settings": "Retour aux paramètres d'affichage",
- "ext-uls-input-settings-title": "Paramètres d’entrée",
- "ext-uls-input-settings-title-short": "Entrée",
- "ext-uls-input-settings-desc": "Écrire dans une autre langue?",
+ "ext-uls-input-settings-title": "Paramètres de saisie",
+ "ext-uls-input-settings-title-short": "Saisie",
+ "ext-uls-input-settings-desc": "Écrire dans une autre langue ?",
"ext-uls-input-settings-ime-settings": "Méthodes de saisie pour $1",
"ext-uls-input-settings-ui-language": "Langue utilisée pour écrire",
"ext-uls-back-to-input-settings": "Retour aux paramètres de saisie",
@@ -53,14 +57,24 @@
"jquery-ime-other-languages": "Autres langues",
"jquery-ime-disable-text": "Utiliser un clavier local",
"jquery-ime-help": "Aide",
- "ext-uls-input-disable": "Désactiver les outils d'entrée",
- "ext-uls-input-enable": "Activer les outils d'entrée",
- "ext-uls-input-disable-info": "Les outils d'entrée sont désactivés.",
+ "ext-uls-input-disable": "Désactiver les outils de saisie",
+ "ext-uls-input-enable": "Activer les outils de saisie",
+ "ext-uls-input-disable-info": "Les outils de saisie sont désactivés.",
"ext-uls-input-settings-noime": "Aucune méthode de saisie n’est disponible pour cette langue.",
- "ext-uls-input-disable-notification": "Les outils d'entrée ont été désactivés",
+ "ext-uls-input-disable-notification": "Les outils de saisie ont été désactivés",
"ext-uls-input-disable-notification-undo": "Annuler",
- "ext-uls-input-disable-notification-info-personal": "Vous pouvez activer les outils d'entrée à tout moment dans vos paramètres de langue.",
- "ext-uls-input-disable-notification-info-interlanguage": "Vous pouvez activer les outils d'entrée à tout moment depuis les paramètres de langue à côté de la liste des langues.",
+ "ext-uls-input-disable-notification-info-personal": "Vous pouvez activer les outils de saisie à tout moment dans vos paramètres de langue.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Vous pouvez activer les outils de saisie à tout moment depuis les paramètres de langue à côté de la liste des langues.",
"ext-uls-language-settings-applying": "Application en cours…",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Une langue de plus|$1 langues de plus}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Une langue de plus|$1 langues de plus}}",
+ "apihelp-languagesearch-description": "Rechercher les noms de langue dans n’importe quel script.",
+ "apihelp-languagesearch-param-search": "Chercher le texte.",
+ "apihelp-languagesearch-param-typos": "Nombre d’erreurs d’orthographe permises dans la chaîne de recherche.",
+ "apihelp-languagesearch-example-1": "Rechercher « Te »",
+ "apihelp-languagesearch-example-2": "Rechercher « ഫി »",
+ "apihelp-languagesearch-example-3": "Rechercher « ഫി », avec une erreur autorisée",
+ "apihelp-ulslocalization-description": "Obtenir la localisation de ULS dans la langue donnée.",
+ "apihelp-ulslocalization-param-language": "Code de langue.",
+ "apihelp-ulslocalization-example-1": "Obtenir la localisation en Tamil",
+ "apihelp-ulslocalization-example-2": "Obtenir la traduction Hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/gl.json b/MLEB/UniversalLanguageSelector/i18n/gl.json
index fa8e43c6..f640241e 100644
--- a/MLEB/UniversalLanguageSelector/i18n/gl.json
+++ b/MLEB/UniversalLanguageSelector/i18n/gl.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Toliño",
- "Nemo bis"
+ "Nemo bis",
+ "Elisardojm"
]
},
"uls-desc": "Dá ao usuario varios xeitos de seleccionar unha lingua e de axustar as preferencias da mesma",
@@ -63,7 +64,7 @@
"apihelp-languagesearch-example-2": "Procurar \"ഫി\"",
"apihelp-languagesearch-example-3": "Procurar \"ഫി\", permitindo un erro ortográfico",
"apihelp-ulslocalization-description": "Obter a localización do ULS na lingua dada.",
- "apihelp-ulslocalization-param-language": "Cadea de lingua.",
+ "apihelp-ulslocalization-param-language": "Código da lingua.",
"apihelp-ulslocalization-example-1": "Obter a localización en támil",
"apihelp-ulslocalization-example-2": "Obter a localización en hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/gsw.json b/MLEB/UniversalLanguageSelector/i18n/gsw.json
new file mode 100644
index 00000000..a6d3b45b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/gsw.json
@@ -0,0 +1,68 @@
+{
+ "@metadata": {
+ "authors": [
+ "J. 'mach' wust"
+ ]
+ },
+ "uls-desc": "Bietet verschidnigi Müglechkeite, für’ne Sprach uszwählen u für Sprachystelligen azpasse",
+ "uls-plang-title-languages": "Sprache",
+ "ext-uls-select-language-settings-icon-tooltip": "Sprachystellige",
+ "ext-uls-undo-language-tooltip-text": "Sprach g’änderet vo $1",
+ "ext-uls-language-settings-preferences-link": "Meh Sprachystellige",
+ "uls-betafeature-label": "Gchürzti Sprachliste",
+ "uls-betafeature-desc": "D Spracheliste wird gchürzt. Si zeigt nume no die Sprachen a, wo für di di relevantere sy.",
+ "ext-uls-display-settings-title": "Azeigystellige",
+ "ext-uls-display-settings-language-tab": "Sprach",
+ "ext-uls-display-settings-fonts-tab": "Schriftarte",
+ "ext-uls-display-settings-title-short": "Azeig",
+ "ext-uls-display-settings-desc": "Sprach für Menus u Schriftarte",
+ "ext-uls-language-settings-title": "Sprachystellige",
+ "ext-uls-language-settings-apply": "Änderige spychere",
+ "ext-uls-language-settings-cancel": "Abbräche",
+ "ext-uls-language-buttons-help": "Menusprach ändere. D Sprach vo den Inhalten blybt unveränderet.",
+ "ext-uls-display-settings-font-settings": "Schriftartenystellige",
+ "ext-uls-display-settings-ui-language": "Azeigsprach",
+ "ext-uls-display-settings-anon-label": "Azeigsprach:",
+ "ext-uls-display-settings-anon-same-as-content": "$1 (glych wi füren Inhalt)",
+ "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Amälde]] für’nen anderi Menusprach uszsueche.",
+ "ext-uls-webfonts-settings-title": "Schriftarten abelade, we’s se bruucht",
+ "ext-uls-webfonts-settings-info": "Schriftarte wo fählen automatisch abelade, für d Azeig i den usgsuechte Schriftarte z ermügleche.",
+ "ext-uls-webfonts-settings-info-link": "Meh Information",
+ "ext-uls-webfonts-select-for": "Schriftart für d Sprach $1 ussueche",
+ "ext-uls-webfonts-select-for-ui-info": "Schriftart für d Oberflächi",
+ "ext-uls-webfonts-select-for-content-info": "Schriftart füren Inhalt",
+ "ext-uls-webfonts-system-font": "Default-Schriftart (vom Browser)",
+ "ext-uls-back-to-display-settings": "Zrügg zu den Azeigystellige",
+ "ext-uls-input-settings-title": "Ygabystellige",
+ "ext-uls-input-settings-title-short": "Ygab",
+ "ext-uls-input-settings-desc": "I’ren andere Sprach am Schrybe?",
+ "ext-uls-input-settings-ime-settings": "Ygabmethode für d Sprach $1",
+ "ext-uls-input-settings-ui-language": "Sprach für zum Schrybe",
+ "ext-uls-back-to-input-settings": "Zrügg zu den Ygabystellige",
+ "ext-uls-ime-help": "Aleitig",
+ "ext-uls-disable-input-method": "Ygabmethode nid verändere",
+ "ext-uls-input-settings-more-languages-tooltip": "Meh Sprache",
+ "jquery-ime-other-languages": "Anderi Sprache",
+ "jquery-ime-disable-text": "Ygabmethode nid verändere",
+ "jquery-ime-help": "Hilff",
+ "ext-uls-input-disable": "Ygabystellige deaktiviere",
+ "ext-uls-input-enable": "Ygabystelligen aktiviere",
+ "ext-uls-input-disable-info": "D Ygabystellige sy deaktiviert.",
+ "ext-uls-input-settings-noime": "Für die Sprach git’s kener Ygabystellige.",
+ "ext-uls-input-disable-notification": "D Ygabystellige sy deaktiviert.",
+ "ext-uls-input-disable-notification-undo": "Rückgängig",
+ "ext-uls-input-disable-notification-info-personal": "Du chasch d Ygabystellige jederzyt by de Sprachystelligen aktiviere.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Du chasch d Ygabystellige jederzyt by de Sprachystellige näb der Sprachlisten aktiviere.",
+ "ext-uls-language-settings-applying": "Am Spychere...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Eini meh|$1 meh}}",
+ "apihelp-languagesearch-description": "Sprachnämen i allne Schrifte sueche.",
+ "apihelp-languagesearch-param-search": "Zeichefolg für d Suechi",
+ "apihelp-languagesearch-param-typos": "Azahl müglechi Abwychigen ir Schrybig vor Zeichefolg für d Suechi.",
+ "apihelp-languagesearch-example-1": "Nach «Te» sueche",
+ "apihelp-languagesearch-example-2": "Nach «ഫി» sueche",
+ "apihelp-languagesearch-example-3": "Nach «ഫി» sueche, mit eire müglechen Abwychig ir Schrybig",
+ "apihelp-ulslocalization-description": "D Lokalisierig vom ULS i der vor’gänige Sprach abrüeffe.",
+ "apihelp-ulslocalization-param-language": "Sprachcode.",
+ "apihelp-ulslocalization-example-1": "Tamil-Lokalisierig abrüeffe",
+ "apihelp-ulslocalization-example-2": "Hindi-Lokalisierig abrüeffe"
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/gu.json b/MLEB/UniversalLanguageSelector/i18n/gu.json
index c0ecb115..5affc4a2 100644
--- a/MLEB/UniversalLanguageSelector/i18n/gu.json
+++ b/MLEB/UniversalLanguageSelector/i18n/gu.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Ashok modhvadia",
- "KartikMistry"
+ "KartikMistry",
+ "Dsvyas"
]
},
"uls-desc": "સભ્યને ભાષા પસંદગી અને ગોઠવણીઓ માટેનાં અનેક માર્ગો પૂરા પાડે છે",
@@ -63,7 +64,7 @@
"apihelp-languagesearch-example-2": "\"ഫി\" માટે શોધો",
"apihelp-languagesearch-example-3": "એક ભૂલ કરીને \"ഫി\", માટે શોધો",
"apihelp-ulslocalization-description": "ULS નું ભાષાંતર આપેલી ભાષા માટે મેળવો.",
- "apihelp-ulslocalization-param-language": "ભાષા વાક્ય.",
+ "apihelp-ulslocalization-param-language": "ભાષા સંજ્ઞા.",
"apihelp-ulslocalization-example-1": "તમિલ ભાષાંતર મેળવો",
"apihelp-ulslocalization-example-2": "હિન્દી ભાષાંતર મેળવો"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/he.json b/MLEB/UniversalLanguageSelector/i18n/he.json
index 3a7610f6..060b6813 100644
--- a/MLEB/UniversalLanguageSelector/i18n/he.json
+++ b/MLEB/UniversalLanguageSelector/i18n/he.json
@@ -58,6 +58,14 @@
"ext-uls-input-disable-notification-info-interlanguage": "באפשרותך להפעיל את כלי הקלט בכל זמן מהגדרות השפה שליד רשימת השפות.",
"ext-uls-language-settings-applying": "החלה...",
"ext-uls-compact-link-count": "עוד {{PLURAL:$1|אחת|$1}}",
+ "apihelp-languagesearch-description": "חיפוש שם שפה בכל אלפבית",
+ "apihelp-languagesearch-param-search": "מחרוזת חיפוש.",
+ "apihelp-languagesearch-param-typos": "מספר שגיאות הכתיב שמותרות במחרוזת החיפוש.",
+ "apihelp-languagesearch-example-1": "חיפוש \"Te\"",
+ "apihelp-languagesearch-example-2": "חיפוש \"ഫി\"",
+ "apihelp-languagesearch-example-3": "חיפוש \"ഫി\", עם אפשרות לשגיאת כתיב אחת",
+ "apihelp-ulslocalization-description": "קבלת תרגומי ממשק של בורר השפות בשפה הנתונה",
+ "apihelp-ulslocalization-param-language": "קוד שפה.",
"apihelp-ulslocalization-example-1": "קבלת תרגום לטמילית",
"apihelp-ulslocalization-example-2": "קבלת תרגום להינדי"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ilo.json b/MLEB/UniversalLanguageSelector/i18n/ilo.json
index 32a35c9c..c1d19cfc 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ilo.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ilo.json
@@ -4,10 +4,10 @@
"Lam-ang"
]
},
- "uls-desc": "Mangited iti agar-aramat kadagiti nadumaduma a pamay-an iti panagpili ti maysa a pagsasao ken ti panagbaliw kadagiti pannakaisaad ti pagsasao",
+ "uls-desc": "Mangited iti agar-aramat kadagiti nadumaduma a pamay-an iti panagpili iti maysa a pagsasao ken ti panagbaliw kadagiti pannakaisaad ti pagsasao",
"uls-plang-title-languages": "Dagiti pagsasao",
"ext-uls-select-language-settings-icon-tooltip": "Dagiti pannakaisaad ti pagsasao",
- "ext-uls-undo-language-tooltip-text": "Binaliwan ti pagsasao manipud ti $1",
+ "ext-uls-undo-language-tooltip-text": "Binaliwan ti pagsasao manipud iti $1",
"ext-uls-language-settings-preferences-link": "Adu pay a pannakaisaad ti pagsasao",
"uls-betafeature-label": "Kompakto a silsilpo ti pagsasao",
"uls-betafeature-desc": "Ipakita ti ababa a bersion ti listaan ti pagsasao, ken dagiti laeng pagsasao a maitunos kaniam.",
@@ -15,7 +15,7 @@
"ext-uls-display-settings-language-tab": "Pagsasao",
"ext-uls-display-settings-fonts-tab": "Kita ti letletra",
"ext-uls-display-settings-title-short": "Idaya",
- "ext-uls-display-settings-desc": "Isaad ti pagsasao nga inus-usar para kadagiti pagpilian ken letletra.",
+ "ext-uls-display-settings-desc": "Isaad ti inus-usar a pagsasao para kadagiti pagpilian ken letletra.",
"ext-uls-language-settings-title": "Dagiti pannakaisaad ti pagsasao",
"ext-uls-language-settings-apply": "Ipakat dagiti pannakaisaad",
"ext-uls-language-settings-cancel": "Ukasen",
@@ -52,9 +52,9 @@
"ext-uls-input-disable-notification": "Dagiti ramit ti ikabil ket nabaldadon.",
"ext-uls-input-disable-notification-undo": "Ibabawi",
"ext-uls-input-disable-notification-info-personal": "Mabalinmo a pakabaelan dagiti ramit ti ikabil iti aniaman a panawen manipud kadagiti pannakaisaad ti pagsasao.",
- "ext-uls-input-disable-notification-info-interlanguage": "Mabalinmo a pakabaelan dagiti ramit ti ikabil manipud kadagiti pannakaisaad ti pagsasao idiay kaabay ti listaan ti pagsasao.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Mabalinmo a pakabaelan dagiti ramit ti ikabil manipud kadagiti pannakaisaad ti pagsasao iti kaabay ti listaan ti pagsasao.",
"ext-uls-language-settings-applying": "Ipakpakat...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Maysa pay a pagsasao|$1 pay kadagiti pagsasao}}",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Maysa pay|$1 pay}}",
"apihelp-languagesearch-description": "Agbiruk kadagiti nagan ti pagsasao iti ania man nga eskritu.",
"apihelp-languagesearch-param-search": "Kuerdas ti panagbiruk.",
"apihelp-languagesearch-param-typos": "Bilang dagiti kamali ti panangiletra a maipalubos iti kuerdas ti panagbiruk.",
@@ -62,7 +62,7 @@
"apihelp-languagesearch-example-2": "Agbiruk para iti \"ഫി\"",
"apihelp-languagesearch-example-3": "Agbiruk para iti \"ഫി\", a mangipalubos iti maysa a kamali",
"apihelp-ulslocalization-description": "Alaen ti lokalisasion ti ULS iti naited a pagsasao.",
- "apihelp-ulslocalization-param-language": "Kuerdas ti pagsasao.",
+ "apihelp-ulslocalization-param-language": "Kodigo ti pagsasao.",
"apihelp-ulslocalization-example-1": "Alaen ti lokalisasion ti Tamil",
"apihelp-ulslocalization-example-2": "Alaen ti lokalisasion ti Hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/it.json b/MLEB/UniversalLanguageSelector/i18n/it.json
index 090c04a0..a5fa876a 100644
--- a/MLEB/UniversalLanguageSelector/i18n/it.json
+++ b/MLEB/UniversalLanguageSelector/i18n/it.json
@@ -4,7 +4,9 @@
"Beta16",
"Raoli",
"Darth Kule",
- "Nemo bis"
+ "Nemo bis",
+ "F. Cosoleto",
+ "Macofe"
]
},
"uls-desc": "Fornisce agli utenti diversi modi di selezionare una lingua e sistemare le impostazioni della lingua",
@@ -57,5 +59,9 @@
"ext-uls-input-disable-notification-info-personal": "È possibile attivare in qualsiasi momento gli strumenti di scrittura dalle impostazioni della lingua.",
"ext-uls-input-disable-notification-info-interlanguage": "È possibile attivare in qualsiasi momento gli strumenti di scrittura dalle impostazioni della lingua, vicino all'elenco delle lingue.",
"ext-uls-language-settings-applying": "Applicando...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Un'altra|Altre $1}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Un'altra|Altre $1}}",
+ "apihelp-languagesearch-example-1": "Cerca \"Te\"",
+ "apihelp-languagesearch-example-2": "Cerca \"ഫി\"",
+ "apihelp-languagesearch-example-3": "Cerca \"ഫി\", consentendo un errore di battitura",
+ "apihelp-ulslocalization-param-language": "Codice lingua."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ja.json b/MLEB/UniversalLanguageSelector/i18n/ja.json
index 8cb66e89..437b39be 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ja.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ja.json
@@ -2,7 +2,9 @@
"@metadata": {
"authors": [
"Fryed-peach",
- "Shirayuki"
+ "Shirayuki",
+ "Sujiniku",
+ "Otokoume"
]
},
"uls-desc": "言語を選択するため/言語設定を調整するための、いくつかの方法を利用者に提供する",
@@ -55,5 +57,7 @@
"ext-uls-input-disable-notification-info-personal": "言語の設定で、いつでも入力ツールを有効にできます。",
"ext-uls-input-disable-notification-info-interlanguage": "言語一覧の隣にある言語の設定で、いつでも入力ツールを有効にできます。",
"ext-uls-language-settings-applying": "適用しています...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|他 $1 言語}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|もう一つ|他 $1}}",
+ "apihelp-languagesearch-param-search": "検索文字列。",
+ "apihelp-ulslocalization-param-language": "言語コード"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/km.json b/MLEB/UniversalLanguageSelector/i18n/km.json
index 3cae78f5..02ab1a1d 100644
--- a/MLEB/UniversalLanguageSelector/i18n/km.json
+++ b/MLEB/UniversalLanguageSelector/i18n/km.json
@@ -4,34 +4,42 @@
"គីមស៊្រុន"
]
},
+ "uls-desc": "ផ្ដល់នូវវិធីជាច្រើនដល់អ្នកប្រើប្រាស់ក្នុងការជ្រើសរើសភាសាកែតម្រូវការកំណត់ភាសា",
+ "uls-plang-title-languages": "ភាសា",
"ext-uls-select-language-settings-icon-tooltip": "ការកំណត់ភាសា",
"ext-uls-undo-language-tooltip-text": "ភាសាបានផ្លាស់ប្ដូរពី $1",
"ext-uls-language-settings-preferences-link": "ការកំណត់ភាសាបន្ថែមទៀត",
+ "uls-betafeature-label": "តំណភ្ជាប់ភាសាសង្ខេប",
+ "uls-betafeature-desc": "បង្ហាញទម្រង់ខ្លីរបស់បញ្ជីភាសា ដោយបង្ហាញតែភាសាណាដែលទាក់ទិននឹងអ្នក។",
"ext-uls-display-settings-title": "ការកំណត់គំហើញ",
"ext-uls-display-settings-language-tab": "ភាសា",
"ext-uls-display-settings-fonts-tab": "ពុម្ព​អក្សរ​",
"ext-uls-display-settings-title-short": "បង្ហាញ",
- "ext-uls-display-settings-desc": "កំណត់ភាសាសម្រាប់ម៉ឺនុយនិងពុម្ភអក្សរ។",
+ "ext-uls-display-settings-desc": "កំណត់ភាសាសម្រាប់បញ្ជីនិងពុម្ភអក្សរ។",
"ext-uls-language-settings-title": "ការកំណត់ភាសា",
"ext-uls-language-settings-apply": "អនុវត្តការកំណត់",
"ext-uls-language-settings-cancel": "បោះបង់",
- "ext-uls-language-buttons-help": "ផ្លាសប្ដូរភាសាម៉ឺនុយ។ ភាសារបស់ខ្លឹមសារអត្ថបទមិនប្រែប្រួលទេ។",
+ "ext-uls-language-buttons-help": "ផ្លាសប្ដូរភាសាបញ្ជី។ ភាសារបស់ខ្លឹមសារអត្ថបទមិនប្រែប្រួលទេ។",
"ext-uls-display-settings-font-settings": "ការកំណត់ពុម្ភអក្សរ",
"ext-uls-display-settings-ui-language": "ភាសាសម្រាប់បង្ហាញ",
"ext-uls-display-settings-anon-label": "ភាសាសម្រាប់បង្ហាញ៖",
- "ext-uls-display-settings-anon-same-as-content": "ភាសាអង់គ្លេស (ដូចខ្លឹមសារដើម)",
- "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|កត់ឈ្មោះចូល]]ដើម្បីជ្រើសរើសភាសាមួយផ្សេងទៀតអោយម៉ឺនុយ។",
+ "ext-uls-display-settings-anon-same-as-content": "$1 (ដូចខ្លឹមសារទំព័រ)",
+ "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|កត់ឈ្មោះចូល]]ដើម្បីជ្រើសរើសភាសាមួយផ្សេងទៀតអោយបញ្ជី។",
+ "ext-uls-webfonts-settings-title": "ទាញយកពុម្ភអក្សរពេលត្រូវការ",
+ "ext-uls-webfonts-settings-info": "ទាញយកពុម្ភអក្សរដែលខ្វះដោយស្វ័យប្រវត្តិ ហើយអនុញ្ញាតអោយជ្រើសរើសពុម្ភអក្សរតាមចិត្ត។",
+ "ext-uls-webfonts-settings-info-link": "ព័ត៌មានបន្ថែម",
"ext-uls-webfonts-select-for": "ជ្រើសរើសពុម្ភអក្សរសម្រាប់ $1",
"ext-uls-webfonts-select-for-ui-info": "ពុម្ភអក្សរសម្រាប់អន្តរមុខអ្នកប្រើប្រាស់",
"ext-uls-webfonts-select-for-content-info": "ពុម្ភអក្សរសម្រាប់ខ្លឹមសារអត្ថបទ",
"ext-uls-webfonts-system-font": "ពុម្ភអក្សរប្រព័ន្ធ",
- "ext-uls-back-to-display-settings": "ត្រលប់ទៅការកំណត់គំហើញ",
+ "ext-uls-back-to-display-settings": "ត្រឡប់ទៅការកំណត់គំហើញ",
"ext-uls-input-settings-title": "ការកំណត់ការវាយបញ្ចូល",
"ext-uls-input-settings-title-short": "ការវាយបញ្ចូល",
- "ext-uls-input-settings-desc": "តើអ្នកកំពុងសរសេរជាភាសាមួយផ្សេងទៀតឬ?",
+ "ext-uls-input-settings-desc": "ចង់សរសេរជាភាសាមួយផ្សេងទៀត?",
"ext-uls-input-settings-ime-settings": "វិធីវាយបញ្ចូលសម្រាប់ $1",
"ext-uls-input-settings-ui-language": "ភាសាសម្រាប់សរសេរ",
- "ext-uls-back-to-input-settings": "ត្រលប់ទៅការកំណត់ការវាយបញ្ចូល",
+ "ext-uls-back-to-input-settings": "ត្រឡប់ទៅការកំណត់ការវាយបញ្ចូល",
+ "ext-uls-ime-help": "របៀបប្រើប្រាស់",
"ext-uls-disable-input-method": "ប្រើក្ដារច្នុចជាភាសាដើម",
"ext-uls-input-settings-more-languages-tooltip": "ភាសាបន្ថែមទៀត",
"jquery-ime-other-languages": "ភាសាដទៃទៀត",
@@ -44,5 +52,8 @@
"ext-uls-input-disable-notification": "ឧបករណ៍វាយបញ្ចូលត្រូវបានបើកអោយប្រើ។",
"ext-uls-input-disable-notification-undo": "មិនធ្វើវិញ",
"ext-uls-input-disable-notification-info-personal": "អ្នកអាចបើកអោយប្រើឧបករណ៍វាយបញ្ចូលពេលណាក៏បាន ដោយចូលទៅកាន់ការកំណត់ភាសា។",
- "ext-uls-input-disable-notification-info-interlanguage": "អ្នកអាចបើកអោយប្រើឧបករណ៍វាយបញ្ចូលពេលណាក៏បាន ដោយចូលទៅកាន់ការកំណត់ភាសា​ដែលនៅក្បែរបញ្ជីភាសា។"
+ "ext-uls-input-disable-notification-info-interlanguage": "អ្នកអាចបើកអោយប្រើឧបករណ៍វាយបញ្ចូលពេលណាក៏បាន ដោយចូលទៅកាន់ការកំណត់ភាសា​ដែលនៅក្បែរបញ្ជីភាសា។",
+ "ext-uls-language-settings-applying": "កំពុងអនុវត្ត...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|មួយទៀត|$1 ទៀត}}",
+ "apihelp-ulslocalization-param-language": "កូដ​ភាសា។"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ko.json b/MLEB/UniversalLanguageSelector/i18n/ko.json
index e80f13e5..5ec50057 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ko.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ko.json
@@ -15,8 +15,8 @@
"ext-uls-select-language-settings-icon-tooltip": "언어 설정",
"ext-uls-undo-language-tooltip-text": "언어가 $1에서 바뀌었습니다",
"ext-uls-language-settings-preferences-link": "자세한 언어 설정",
- "uls-betafeature-label": "소형 언어 링크",
- "uls-betafeature-desc": "당신과 더 관련된 짧은 버전의 언어 목록을 보여줍니다.",
+ "uls-betafeature-label": "언어 링크 단축",
+ "uls-betafeature-desc": "다른 언어 목록을 단축하고, 당신과 더 관계 있는 언어만을 보여줍니다.",
"ext-uls-display-settings-title": "보기 설정",
"ext-uls-display-settings-language-tab": "언어",
"ext-uls-display-settings-fonts-tab": "글꼴",
diff --git a/MLEB/UniversalLanguageSelector/i18n/ksh.json b/MLEB/UniversalLanguageSelector/i18n/ksh.json
index c8e81fab..49e900d6 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ksh.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ksh.json
@@ -27,21 +27,21 @@
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Donn enlogge]], öm Der en ander Schprohch för de Menühß un et Bedehne uß_ze_söhke.",
"ext-uls-webfonts-settings-title": "Donn Schreffte eronger lahde, wann nüüdesch",
"ext-uls-webfonts-settings-info": "Donn Schreffte automattesch eronge lahde un lohß zoh, de besöndere Schreff-Zoote ußzewähle.",
- "ext-uls-webfonts-settings-info-link": "Mieh Aanjaabe",
+ "ext-uls-webfonts-settings-info-link": "Mih Aanjahbe",
"ext-uls-webfonts-select-for": "De Schreff för $1 ußsöhke",
"ext-uls-webfonts-select-for-ui-info": "De Schreff för et Bedeene un de Bovverfläsch",
"ext-uls-webfonts-select-for-content-info": "De Schreff för der Enhalld",
"ext-uls-webfonts-system-font": "De Schtandat_Schreff_Zoot",
- "ext-uls-back-to-display-settings": "Retuur noh de Enschtällonge",
- "ext-uls-input-settings-title": "Enschtällonge för Enjaabe",
- "ext-uls-input-settings-title-short": "Enjaabe",
+ "ext-uls-back-to-display-settings": "Retuhr, noh de Enschtällonge",
+ "ext-uls-input-settings-title": "Enschtällonge för Ennjahbe",
+ "ext-uls-input-settings-title-short": "Ennjahbe",
"ext-uls-input-settings-desc": "Schriive en en andere Schprohch?",
- "ext-uls-input-settings-ime-settings": "Enjaabe-Metoode för $1",
+ "ext-uls-input-settings-ime-settings": "Ennjahbee_Mettohde för $1",
"ext-uls-input-settings-ui-language": "Di Schprohch, di för et Schriive jebruch weed",
- "ext-uls-back-to-input-settings": "Retuur noh de Enschtällonge för et Enjävve",
+ "ext-uls-back-to-input-settings": "Retuhr noh de Enschtällonge för et Enjävve",
"ext-uls-ime-help": "Wi buch mer dat heh?",
"ext-uls-disable-input-method": "Ennjaabe-Aat affschallde",
- "ext-uls-input-settings-more-languages-tooltip": "Mieh Schprohche",
+ "ext-uls-input-settings-more-languages-tooltip": "Mih Schprohche",
"jquery-ime-other-languages": "Ander Schprohche",
"jquery-ime-disable-text": "Ennjaabe-Aat affschallde",
"jquery-ime-help": "Hölp",
@@ -54,7 +54,7 @@
"ext-uls-input-disable-notification-info-personal": "De besöndere Wärkzüsch för et Enjävve kam_mer zoh jeeder Zigg en de Enschtällonge för de Schprohch widder aanschallde.",
"ext-uls-input-disable-notification-info-interlanguage": "De besöndere Wärkzüsch för et Enjävve kam_mer zoh jeeder Zigg en dä Enschtällonge för de Schprohch nävve dä Leß met de Schprohche widder aanschallde.",
"ext-uls-language-settings-applying": "Em Jang&nbsp;…",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Noch eine|Noch $1|Keine mieh}}.",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Noch eine|Noch $1|Keine mih}}.",
"apihelp-languagesearch-description": "Söhk oh Nahme för Schprohche en jeede Schreff.",
"apihelp-languagesearch-param-search": "Noh wat söhke?",
"apihelp-languagesearch-param-typos": "De Aanzahl Tippfähler, di mer övverjonn welle.",
@@ -62,7 +62,7 @@
"apihelp-languagesearch-example-2": "Söhk noh „ഫി“.",
"apihelp-languagesearch-example-3": "Söhk noh „ഫി“ met einem Tipfähler.",
"apihelp-ulslocalization-description": "Donn de localization för der <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Universal Language Selector\">ULS</i> en dä aanjejovve Schprohch holle.",
- "apihelp-ulslocalization-param-language": "Schprohche Zeijschekätt",
+ "apihelp-ulslocalization-param-language": "Et Schprohcheköözel.",
"apihelp-ulslocalization-example-1": "Donn de localization för de tamihlesche Schprohch holle",
"apihelp-ulslocalization-example-2": "Donn de localization för de Schprohch Hindi holle"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ku-latn.json b/MLEB/UniversalLanguageSelector/i18n/ku-latn.json
index cb3ee2b3..95f8e205 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ku-latn.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ku-latn.json
@@ -26,5 +26,6 @@
"jquery-ime-help": "Alîkarî",
"ext-uls-input-disable-notification-undo": "Betal bike",
"apihelp-languagesearch-example-1": "Li \"Te\" bigere",
- "apihelp-languagesearch-example-2": "Li \"ഫി\" bigere"
+ "apihelp-languagesearch-example-2": "Li \"ഫി\" bigere",
+ "apihelp-ulslocalization-param-language": "Koda ziman."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/lb.json b/MLEB/UniversalLanguageSelector/i18n/lb.json
index e3fe5855..6b87b995 100644
--- a/MLEB/UniversalLanguageSelector/i18n/lb.json
+++ b/MLEB/UniversalLanguageSelector/i18n/lb.json
@@ -54,5 +54,6 @@
"ext-uls-input-disable-notification-undo": "Réckgängeg maachen",
"ext-uls-input-disable-notification-info-personal": "Dir kënnt d''input tools' zu all Ament vun de Sproochastellungen aus aschalten.",
"ext-uls-input-disable-notification-info-interlanguage": "Dir kënnt d''input tools' zu all Ament vun de Sproochastellungen nieft der Lëscht vun de Sproochen aschalten",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Eng méi|$1 méi}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Eng méi|$1 méi}}",
+ "apihelp-ulslocalization-param-language": "Sproochcode."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/lrc.json b/MLEB/UniversalLanguageSelector/i18n/lrc.json
index 96cea8b6..b08126ee 100644
--- a/MLEB/UniversalLanguageSelector/i18n/lrc.json
+++ b/MLEB/UniversalLanguageSelector/i18n/lrc.json
@@ -46,5 +46,5 @@
"apihelp-languagesearch-param-search": "پی جوری د یه گل رشته.",
"apihelp-languagesearch-example-1": "پی جوری سی \"Te\"",
"apihelp-languagesearch-example-2": "پی جوری سی \"ഫി\"",
- "apihelp-ulslocalization-param-language": "رشته زون."
+ "apihelp-ulslocalization-param-language": "رازینه زوٙن."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/lt.json b/MLEB/UniversalLanguageSelector/i18n/lt.json
index 1c563345..07493c33 100644
--- a/MLEB/UniversalLanguageSelector/i18n/lt.json
+++ b/MLEB/UniversalLanguageSelector/i18n/lt.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Mantak111"
+ "Mantak111",
+ "Salpusnis"
]
},
"uls-desc": "Suteikia vartotojui keliais būdais, pasirinkti kalbą ir sureguliuoti kalbos parametrus.",
@@ -9,6 +10,8 @@
"ext-uls-select-language-settings-icon-tooltip": "Kalbos nustatymai",
"ext-uls-undo-language-tooltip-text": "Kalba pakeista iš $1",
"ext-uls-language-settings-preferences-link": "Daugiau kalbos parametrų",
+ "uls-betafeature-label": "Kompaktiškas kalbų sąrašas",
+ "uls-betafeature-desc": "Rodyti trumpesnę kalbų sąrašo versiją, apimančią tik Jums aktualesnes kalbas.",
"ext-uls-display-settings-title": "Ekrano parametrai",
"ext-uls-display-settings-language-tab": "Kalba",
"ext-uls-display-settings-fonts-tab": "Šriftai",
@@ -21,8 +24,11 @@
"ext-uls-display-settings-font-settings": "Šrifto parametrai",
"ext-uls-display-settings-ui-language": "Rodymo kalba",
"ext-uls-display-settings-anon-label": "Rodymo kalba:",
- "ext-uls-display-settings-anon-same-as-content": "Lietuvių (toks pat kaip turinys)",
+ "ext-uls-display-settings-anon-same-as-content": "$1 (toks pat kaip turinys)",
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Prisijunkite]], kad pasirinktumėte skirtingą kalbą meniu.",
+ "ext-uls-webfonts-settings-title": "Atsisiųsti šriftus, kai reikia",
+ "ext-uls-webfonts-settings-info": "Atsisiųsti trūkstamus šriftus automatiškai ir leisti pasirinkti pageidautinus šriftus.",
+ "ext-uls-webfonts-settings-info-link": "Daugiau informacijos",
"ext-uls-webfonts-select-for": "Pasirinkite šriftą $1",
"ext-uls-webfonts-select-for-ui-info": "Šriftas naudojamas vartotojo sąsajai",
"ext-uls-webfonts-select-for-content-info": "Šriftas naudojamas turiniui",
@@ -34,6 +40,7 @@
"ext-uls-input-settings-ime-settings": "Įvesties metodai $1",
"ext-uls-input-settings-ui-language": "Kalba naudojama rašybai",
"ext-uls-back-to-input-settings": "Grįžti į įvesties parametrus",
+ "ext-uls-ime-help": "Kaip naudoti",
"ext-uls-disable-input-method": "Naudoti klaviatūrą",
"ext-uls-input-settings-more-languages-tooltip": "Daugiau kalbų",
"jquery-ime-other-languages": "Kitos kalbos",
@@ -46,5 +53,17 @@
"ext-uls-input-disable-notification": "Įvesties priemonės yra išjungtos",
"ext-uls-input-disable-notification-undo": "Anuliuoti",
"ext-uls-input-disable-notification-info-personal": "Jūs galite įgalinti įvesties priemones bet kuriuo metu iš kalbos parametrų.",
- "ext-uls-input-disable-notification-info-interlanguage": "Jūs galite įgalinti įvesties priemones bet kuriuo metu iš kalbos parametrų šalia kalbos sąrašo."
+ "ext-uls-input-disable-notification-info-interlanguage": "Jūs galite įgalinti įvesties priemones bet kuriuo metu iš kalbos parametrų šalia kalbos sąrašo.",
+ "ext-uls-language-settings-applying": "Taikant...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Viena daugiau|$1 daugiau}}",
+ "apihelp-languagesearch-description": "Ieškoti kalbų pavadinimų kiekviename scenarijuje.",
+ "apihelp-languagesearch-param-search": "Ieškoti eilutės.",
+ "apihelp-languagesearch-param-typos": "Leistinas rašybos klaidų skaičius paieškos eilutėje.",
+ "apihelp-languagesearch-example-1": "Ieškoti \"Te\"",
+ "apihelp-languagesearch-example-2": "Ieškoti \"ഫി\"",
+ "apihelp-languagesearch-example-3": "Ieškoti \"ഫി\", leidžiant vieną rinkimo klaidą",
+ "apihelp-ulslocalization-description": "Gauti ULS lokalizavimas pateikta kalba.",
+ "apihelp-ulslocalization-param-language": "Kalbos kodas.",
+ "apihelp-ulslocalization-example-1": "Gauti tamilų lokalizavimą",
+ "apihelp-ulslocalization-example-2": "Gauti Hindi lokalizavimą"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/mk.json b/MLEB/UniversalLanguageSelector/i18n/mk.json
index 1a5ca421..68d35388 100644
--- a/MLEB/UniversalLanguageSelector/i18n/mk.json
+++ b/MLEB/UniversalLanguageSelector/i18n/mk.json
@@ -62,7 +62,7 @@
"apihelp-languagesearch-example-2": "Пребарај „ഫി“",
"apihelp-languagesearch-example-3": "Пребарај „ഫി“, допуштајќи една грешка при пишување",
"apihelp-ulslocalization-description": "Дај превод на универзалниот јазичен избрач на дадениот јазик.",
- "apihelp-ulslocalization-param-language": "Јазична низа.",
+ "apihelp-ulslocalization-param-language": "Јазичен код.",
"apihelp-ulslocalization-example-1": "Дај превод на тамилски",
"apihelp-ulslocalization-example-2": "Дај превод на хинди"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ms.json b/MLEB/UniversalLanguageSelector/i18n/ms.json
index 4031156f..c06660bf 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ms.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ms.json
@@ -22,10 +22,10 @@
"ext-uls-display-settings-font-settings": "Tetapan rupa huruf",
"ext-uls-display-settings-ui-language": "Bahasa paparan",
"ext-uls-display-settings-anon-label": "Bahasa paparan:",
- "ext-uls-display-settings-anon-same-as-content": "Bahasa Melayu (sama dengan kandungan)",
+ "ext-uls-display-settings-anon-same-as-content": "$1 (sama dengan kandungan)",
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Log masuk]] untuk memilih bahasa yang lain untuk menu.",
- "ext-uls-webfonts-settings-title": "Muat turun rupa huruf apabila diperlukan",
- "ext-uls-webfonts-settings-info": "Webfont akan dimuat turun untuk memaparkan teks dalam tulisan khas.",
+ "ext-uls-webfonts-settings-title": "Muat turun font apabila diperlukan",
+ "ext-uls-webfonts-settings-info": "Muat turun font yang tiada dengan automatik dan bolehkan pemilihan font kegemaran.",
"ext-uls-webfonts-settings-info-link": "Maklumat lanjut",
"ext-uls-webfonts-select-for": "Pilih rupa huruf untuk $1",
"ext-uls-webfonts-select-for-ui-info": "Rupa huruf yang digunakan untuk antaramuka pengguna",
@@ -51,5 +51,7 @@
"ext-uls-input-disable-notification": "Peralatan input dimatikan",
"ext-uls-input-disable-notification-undo": "Nyahbuat",
"ext-uls-input-disable-notification-info-personal": "Anda boleh menghidupkan peralatan input pada bila-bila masa dari tetapan bahasa.",
- "ext-uls-input-disable-notification-info-interlanguage": "Anda boleh menghidupkan peralatan input pada bila-bila masa dari tetapan bahasa dekat dengan senarai bahasa."
+ "ext-uls-input-disable-notification-info-interlanguage": "Anda boleh menghidupkan peralatan input pada bila-bila masa dari tetapan bahasa dekat dengan senarai bahasa.",
+ "ext-uls-language-settings-applying": "Tetapan sedang ditukar...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Satu lagi|$1 lagi}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/nap.json b/MLEB/UniversalLanguageSelector/i18n/nap.json
index 48fe3e94..f8217b75 100644
--- a/MLEB/UniversalLanguageSelector/i18n/nap.json
+++ b/MLEB/UniversalLanguageSelector/i18n/nap.json
@@ -3,11 +3,69 @@
"authors": [
"Chelin",
"C.R.",
- "Nemo bis"
+ "Nemo bis",
+ "Candalua"
]
},
+ "uls-desc": "Permettesse l'utente divierze mode 'e scegliere na lengua e cagnà mpustaziune 'e sta lengua",
"uls-plang-title-languages": "Lengue",
+ "ext-uls-select-language-settings-icon-tooltip": "Mpustazione 'e lengua",
+ "ext-uls-undo-language-tooltip-text": "Lengua cagnata 'a $1",
+ "ext-uls-language-settings-preferences-link": "Cchiù mpustaziune 'e llengua",
"uls-betafeature-label": "Cumpatta cullegamiente lenguisteche",
- "uls-betafeature-desc": "Mmusta na verziona cchiù curta d' 'a lista 'e llengue, sulamente cu 'e llengue ca songo 'e cchiù mpurtante pe' tte.",
- "ext-uls-language-settings-cancel": "Canciella"
+ "uls-betafeature-desc": "Mmusta na verziona cchiù curta d' 'a lista 'e llengue, sulamente cu 'e llengue ca songo 'e cchiù mpurtante pe' vuje.",
+ "ext-uls-display-settings-title": "Mpustaziune 'e schermo",
+ "ext-uls-display-settings-language-tab": "Lengua",
+ "ext-uls-display-settings-fonts-tab": "Caratteri",
+ "ext-uls-display-settings-title-short": "Aspetto",
+ "ext-uls-display-settings-desc": "Sceglie lengua ausata pe' menu e fonte.",
+ "ext-uls-language-settings-title": "Mpustaziune 'e lengua",
+ "ext-uls-language-settings-apply": "Appreca mpustaziune",
+ "ext-uls-language-settings-cancel": "Canciella",
+ "ext-uls-language-buttons-help": "Cagna 'a lengua d' 'e menu. 'A lengua 'e cuntenute nun sarrà cagnata.",
+ "ext-uls-display-settings-font-settings": "Mpustaziune 'e carattere",
+ "ext-uls-display-settings-ui-language": "Lengua 'e visualizzazione",
+ "ext-uls-display-settings-anon-label": "Lengua 'e visualizzazione:",
+ "ext-uls-display-settings-anon-same-as-content": "$1 (fosse 'o stesso comm' 'e cuntenute)",
+ "ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Tràse]] pe scegliere na lengua differente p' 'o menu.",
+ "ext-uls-webfonts-settings-title": "Scarreca 'e carattere quanno nce sta n'abbesuogno",
+ "ext-uls-webfonts-settings-info": "Scarreca automaticamente 'e fonte ca nun ce stanno e premmettese 'e scegliere i tipe 'e carattere ca preferite.",
+ "ext-uls-webfonts-settings-info-link": "Cchiù nfurmaziune",
+ "ext-uls-webfonts-select-for": "Sceglie fonte p' 'o $1",
+ "ext-uls-webfonts-select-for-ui-info": "Fonte ausata 'a ll'interfaccia",
+ "ext-uls-webfonts-select-for-content-info": "Fonte ausata p' 'e cuntenute",
+ "ext-uls-webfonts-system-font": "Fonte d' 'o sistema",
+ "ext-uls-back-to-display-settings": "Tuorna arreto a 'e mpustaziune 'e visualizzazione",
+ "ext-uls-input-settings-title": "Mpustaziune 'e scrittura ingresso",
+ "ext-uls-input-settings-title-short": "Scrittura ingresso",
+ "ext-uls-input-settings-desc": "State a scrivere int'a na lengua differente?",
+ "ext-uls-input-settings-ime-settings": "Metode 'ingresso pe' $1",
+ "ext-uls-input-settings-ui-language": "Lengua ausata pe' scrivere",
+ "ext-uls-back-to-input-settings": "Torna arreto a mpustaziune scrittura ngresso",
+ "ext-uls-ime-help": "Comme s'ausa",
+ "ext-uls-disable-input-method": "Ausà tastiera nativa",
+ "ext-uls-input-settings-more-languages-tooltip": "Cchiù lengue",
+ "jquery-ime-other-languages": "Ate lengue",
+ "jquery-ime-disable-text": "Ausà 'a tastiera nativa",
+ "jquery-ime-help": "Ajùto",
+ "ext-uls-input-disable": "Stuta 'e strumiente 'e scrittura ngresso",
+ "ext-uls-input-enable": "Appiccia 'e strumiente 'e scrittura ngresso",
+ "ext-uls-input-disable-info": "'E strumiente 'e scrittura-ngresso so' state stutate",
+ "ext-uls-input-settings-noime": "Nun ce stanno metode d'ingresso pe' sta lengua.",
+ "ext-uls-input-disable-notification": "'E strumiente 'e scrittura so' state stutate",
+ "ext-uls-input-disable-notification-undo": "Annulla",
+ "ext-uls-input-disable-notification-info-personal": "Vuje putite appiccià 'e strumiente 'e scrittura 'a ll'impostaziune 'e llengua.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Vuje putite appiccià 'e tool dint'a qualsiasi mumento d' 'e preferenze 'e llengua aropp'a l'elenco 'e llengue",
+ "ext-uls-language-settings-applying": "Apprecanno...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|N'ata|N'ati $1}}",
+ "apihelp-languagesearch-description": "Ascìa pe' lengue dint'a qualunque script.",
+ "apihelp-languagesearch-param-search": "Ascìa stringa.",
+ "apihelp-languagesearch-param-typos": "Nummero errure 'e battitura ca fossero premmesse dint'a na stringa 'e cerca",
+ "apihelp-languagesearch-example-1": "Circa \"Te\"",
+ "apihelp-languagesearch-example-2": "Circa \"ഫി\"",
+ "apihelp-languagesearch-example-3": "Cerca \"ഫി\", cunzentenno 'e fà n'errore 'e battitura",
+ "apihelp-ulslocalization-description": "Arrepiglia 'a localizzaziona d' 'o ULS dint'a llengua data.",
+ "apihelp-ulslocalization-param-language": "Codece lengua.",
+ "apihelp-ulslocalization-example-1": "Arrepiglia 'a localizzaziona Tamil",
+ "apihelp-ulslocalization-example-2": "Arrepiglia 'a localizzaziona Hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ne.json b/MLEB/UniversalLanguageSelector/i18n/ne.json
new file mode 100644
index 00000000..b4f003c7
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/ne.json
@@ -0,0 +1,27 @@
+{
+ "@metadata": {
+ "authors": [
+ "NehalDaveND"
+ ]
+ },
+ "ext-uls-display-settings-language-tab": "भाषा",
+ "ext-uls-display-settings-fonts-tab": "फन्ट",
+ "ext-uls-display-settings-title-short": "देखाउनु",
+ "ext-uls-language-settings-title": "भाषाको विकल्पहरू",
+ "ext-uls-language-settings-apply": "लागू सेटिंगहरू",
+ "ext-uls-language-settings-cancel": "रद्द गर्ने",
+ "ext-uls-display-settings-font-settings": "फन्ट सेटिंगहरू",
+ "ext-uls-display-settings-ui-language": "भाशा प्रदर्शन गर्नुहोस्",
+ "ext-uls-display-settings-anon-label": "भाशा प्रदर्शन गर्नुहोस्",
+ "ext-uls-input-settings-title-short": "निवेश गर्नु",
+ "ext-uls-ime-help": "कसरी प्रयोग गर्ने?",
+ "ext-uls-disable-input-method": "प्रयोग देशी किबोर्ड",
+ "ext-uls-input-settings-more-languages-tooltip": "थप भाषाहरू",
+ "jquery-ime-other-languages": "अन्य भाषाहरू",
+ "jquery-ime-help": "सहायता",
+ "ext-uls-input-disable": "आगत उपकरणहरू असक्षम गर्नुहोस्",
+ "ext-uls-input-enable": "आगत उपकरणहरू सक्षम",
+ "ext-uls-input-disable-notification-undo": "पूर्ववत गर्ने",
+ "ext-uls-language-settings-applying": "लागू ...",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|एक थप|$1 थप}}"
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/nl.json b/MLEB/UniversalLanguageSelector/i18n/nl.json
index df3bcd27..54482bc3 100644
--- a/MLEB/UniversalLanguageSelector/i18n/nl.json
+++ b/MLEB/UniversalLanguageSelector/i18n/nl.json
@@ -6,7 +6,8 @@
"Southparkfan",
"Arent",
"SPQRobin",
- "Sjoerddebruin"
+ "Sjoerddebruin",
+ "Macofe"
]
},
"uls-desc": "Biedt gebruikers verschillende mogelijkheden om een taal te kiezen en bijbehorende instellingen aan te passen",
@@ -59,5 +60,6 @@
"ext-uls-input-disable-notification-info-personal": "U kunt de invoermethoden weer inschakelen via de taalinstellingen.",
"ext-uls-input-disable-notification-info-interlanguage": "U kunt de invoermethoden weer inschakelen via de taalinstellingen naast de lijst met talen.",
"ext-uls-language-settings-applying": "Toepassen...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Eén meer|$1 meer}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Eén meer|$1 meer}}",
+ "apihelp-ulslocalization-param-language": "Taalcode."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/olo.json b/MLEB/UniversalLanguageSelector/i18n/olo.json
new file mode 100644
index 00000000..25a6a45e
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/olo.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mashoi7"
+ ]
+ },
+ "uls-plang-title-languages": "Kielet",
+ "ext-uls-select-language-settings-icon-tooltip": "Kieliazetukset",
+ "ext-uls-undo-language-tooltip-text": "Kieli vaihtettu kielespäi $1",
+ "ext-uls-display-settings-language-tab": "Kieli",
+ "ext-uls-ime-help": "Kui käyttiä",
+ "apihelp-ulslocalization-param-language": "Kielikoudu."
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/or.json b/MLEB/UniversalLanguageSelector/i18n/or.json
index 1392f5bc..3096a1d1 100644
--- a/MLEB/UniversalLanguageSelector/i18n/or.json
+++ b/MLEB/UniversalLanguageSelector/i18n/or.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Psubhashish"
+ "Psubhashish",
+ "Nistha.aslp"
]
},
"ext-uls-select-language-settings-icon-tooltip": "ଭାଷା ସେଟିଙ୍ଗ",
diff --git a/MLEB/UniversalLanguageSelector/i18n/os.json b/MLEB/UniversalLanguageSelector/i18n/os.json
index 15775054..2d9d907d 100644
--- a/MLEB/UniversalLanguageSelector/i18n/os.json
+++ b/MLEB/UniversalLanguageSelector/i18n/os.json
@@ -10,7 +10,7 @@
"ext-uls-select-language-settings-icon-tooltip": "Æвзаджы уагæвæрдтæ",
"ext-uls-undo-language-tooltip-text": "Ивд æвзаг у $1",
"ext-uls-display-settings-title": "Æвдисыны уаг",
- "ext-uls-display-settings-language-tab": "Γλώσσα",
+ "ext-uls-display-settings-language-tab": "Æвзаг",
"ext-uls-display-settings-title-short": "Æвдыст",
"ext-uls-display-settings-desc": "Меню æмæ шрифтты æвзаг æвæрынæн.",
"ext-uls-language-settings-title": "Æвзаджы уагæвæрдтæ",
diff --git a/MLEB/UniversalLanguageSelector/i18n/pa.json b/MLEB/UniversalLanguageSelector/i18n/pa.json
index c891ffd1..5dce9581 100644
--- a/MLEB/UniversalLanguageSelector/i18n/pa.json
+++ b/MLEB/UniversalLanguageSelector/i18n/pa.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Babanwalia"
+ "Babanwalia",
+ "Satdeep gill"
]
},
"uls-desc": "ਵਰਤੋਂਕਾਰ ਨੂੰ ਭਾਸ਼ਾਂ ਚੁਣਨ ਅਤੇ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਠੀਕ ਕਰਨ ਲਈ ਕਈ ਤਰੀਕੇ ਸੌਂਪਦਾ ਹੈ",
@@ -46,5 +47,6 @@
"ext-uls-input-disable-notification": "ਇਨਪੁਟ ਜ਼ਰੀਏ ਬੰਦ ਕਰ ਦਿੱਤੇ ਗਏ ਹਨ",
"ext-uls-input-disable-notification-undo": "ਅਣਕਿੱਤਾ ਕਰੋ",
"ext-uls-input-disable-notification-info-personal": "ਤੁਸੀਂ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਤੋਂ ਕਿਸੇ ਵੀ ਵਕਤ ਇਨਪੁਟ ਜ਼ਰੀਏ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।",
- "ext-uls-input-disable-notification-info-interlanguage": "ਤੁਸੀਂ ਭਾਸ਼ਾ ਸੂਚੀ ਦੇ ਅੱਗੇ ਦਿੱਤੀਆਂ ਗਈਆਂ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਤੋਂ ਕਿਸੇ ਵੀ ਵਕਤ ਇਨਪੁਟ ਜ਼ਰੀਏ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"
+ "ext-uls-input-disable-notification-info-interlanguage": "ਤੁਸੀਂ ਭਾਸ਼ਾ ਸੂਚੀ ਦੇ ਅੱਗੇ ਦਿੱਤੀਆਂ ਗਈਆਂ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਤੋਂ ਕਿਸੇ ਵੀ ਵਕਤ ਇਨਪੁਟ ਜ਼ਰੀਏ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।",
+ "apihelp-ulslocalization-param-language": "ਭਾਸ਼ਾ ਕੋਡ"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/pl.json b/MLEB/UniversalLanguageSelector/i18n/pl.json
index 58b35cbc..c0d2413e 100644
--- a/MLEB/UniversalLanguageSelector/i18n/pl.json
+++ b/MLEB/UniversalLanguageSelector/i18n/pl.json
@@ -60,5 +60,7 @@
"ext-uls-input-disable-notification-info-personal": "Możesz w dowolnym momencie włączyć narzędzia wprowadzania tekstu w ustawieniach języka.",
"ext-uls-input-disable-notification-info-interlanguage": "Możesz w dowolnym momencie włączyć narzędzia wprowadzania tekstu w ustawieniach języka, obok listy języków.",
"ext-uls-language-settings-applying": "Realizacja w toku...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Kolejny język|$1 kolejne języki|$1 kolejnych języków}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Kolejny język|$1 kolejne języki|$1 kolejnych języków}}",
+ "apihelp-languagesearch-param-search": "Wyszukaj tekst.",
+ "apihelp-ulslocalization-param-language": "Kod języka."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ps.json b/MLEB/UniversalLanguageSelector/i18n/ps.json
index 7ab001a4..7a01a170 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ps.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ps.json
@@ -24,6 +24,8 @@
"ext-uls-display-settings-anon-label": "د ښکارېدنې ژبه:",
"ext-uls-display-settings-anon-same-as-content": "$1 (مېنځپانگې ته ورته)",
"ext-uls-display-settings-anon-log-in-cta": "د غورنۍ لپاره د يوې بلې ژبې د ټاکلو په خاطر [[Special:UserLogin|غونډال ته ننوځئ]].",
+ "ext-uls-webfonts-settings-title": "د خپل د اړتيا ليکبڼې ښکته کول",
+ "ext-uls-webfonts-settings-info": "هغه ليکبڼې چې نشته، په اتوماتيک ډول يې ښکته کول او په غوره شويو ليکبڼو کې ټاکنه پرېښودل.",
"ext-uls-webfonts-settings-info-link": "نور مالومات",
"ext-uls-webfonts-select-for": "د $1 لپاره ليکبڼه ټاکل",
"ext-uls-webfonts-select-for-ui-info": "د ليدنمخ لپاره کارېدونکې ليکبڼه",
@@ -48,5 +50,6 @@
"ext-uls-input-disable-notification": "د ننوتنې اوزار ناچارن شوي.",
"ext-uls-input-disable-notification-undo": "ناکړل",
"ext-uls-input-disable-notification-info-personal": "تاسې د ننوتلو اوزارونه هر وخت د ژبې امستنو څخه چارنولی شی.",
- "ext-uls-input-disable-notification-info-interlanguage": "تاسې د ننوتلو اوزارونه هر وخت، د ژبې لړليک څنگ ته، د ژب-امستنو څخه چارنولی شی."
+ "ext-uls-input-disable-notification-info-interlanguage": "تاسې د ننوتلو اوزارونه هر وخت، د ژبې لړليک څنگ ته، د ژب-امستنو څخه چارنولی شی.",
+ "apihelp-ulslocalization-param-language": "د ژبې کوډ."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/pt.json b/MLEB/UniversalLanguageSelector/i18n/pt.json
index ecb3e9fd..c98777d8 100644
--- a/MLEB/UniversalLanguageSelector/i18n/pt.json
+++ b/MLEB/UniversalLanguageSelector/i18n/pt.json
@@ -6,7 +6,8 @@
"Hamilton Abreu",
"Vitorvicentevalente",
"Fúlvio",
- 555
+ 555,
+ "Macofe"
]
},
"uls-desc": "Fornece ao utilizador várias maneiras de selecionar um idioma e ajustar suas configurações.",
@@ -59,5 +60,6 @@
"ext-uls-input-disable-notification-info-personal": "Pode activar as ferramentas de entrada quando quiser a partir das configurações de idioma.",
"ext-uls-input-disable-notification-info-interlanguage": "Pode activar as ferramentas de entrada quando quiser a partir das configurações de idioma, ao lado da lista de idiomas.",
"ext-uls-language-settings-applying": "A aplicar...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Um outro|$1 outros}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Um outro|$1 outros}}",
+ "apihelp-ulslocalization-param-language": "Código de idioma."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/qqq.json b/MLEB/UniversalLanguageSelector/i18n/qqq.json
index 69c0f3dc..d4c32eab 100644
--- a/MLEB/UniversalLanguageSelector/i18n/qqq.json
+++ b/MLEB/UniversalLanguageSelector/i18n/qqq.json
@@ -42,7 +42,7 @@
"ext-uls-webfonts-system-font": "Value in a dropdown. System font means that instead of using a specific font provided by this extension, the default font defined in the browser or operating system is used.",
"ext-uls-back-to-display-settings": "Text for the link shown when language selector is accessed from language settings.",
"ext-uls-input-settings-title": "Title text for input settings screen",
- "ext-uls-input-settings-title-short": "Short title for input settings screen",
+ "ext-uls-input-settings-title-short": "Short title for input settings screen\n{{Identical|Input}}",
"ext-uls-input-settings-desc": "Short description about input settings. Users are asked if they're trying to type in a language different from the current one, so that they can select the desired language and write more easily.",
"ext-uls-input-settings-ime-settings": "*$1 - language name",
"ext-uls-input-settings-ui-language": "Sub section title for input settings screen",
@@ -66,11 +66,11 @@
"apihelp-languagesearch-description": "{{doc-apihelp-description|languagesearch}}",
"apihelp-languagesearch-param-search": "{{doc-apihelp-param|languagesearch|search}}\n{{Identical|Search string}}",
"apihelp-languagesearch-param-typos": "{{doc-apihelp-param|languagesearch|typos}}",
- "apihelp-languagesearch-example-1": "{{doc-apihelp-example|languagesearch}}",
- "apihelp-languagesearch-example-2": "{{doc-apihelp-example|languagesearch}}",
- "apihelp-languagesearch-example-3": "{{doc-apihelp-example|languagesearch}}",
+ "apihelp-languagesearch-example-1": "Label of a command which produces a search by \"te\". Translate as imperative or noun as most suitable for your language.\n----\n{{doc-apihelp-example|languagesearch}}",
+ "apihelp-languagesearch-example-2": "Label of an example command which produces a search. Translate as appropriate to your language.\n----\n{{doc-apihelp-example|languagesearch}}",
+ "apihelp-languagesearch-example-3": "Description of a function where the user can find an available language by providing a name to search for.\n----\n{{doc-apihelp-example|languagesearch}}",
"apihelp-ulslocalization-description": "{{doc-apihelp-description|ulslocalization}}",
- "apihelp-ulslocalization-param-language": "{{doc-apihelp-param|ulslocalization|language}}",
+ "apihelp-ulslocalization-param-language": "{{doc-apihelp-param|ulslocalization|language}}\n{{Identical|Language code}}",
"apihelp-ulslocalization-example-1": "{{doc-apihelp-example|ulslocalization}}",
"apihelp-ulslocalization-example-2": "{{doc-apihelp-example|ulslocalization}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/qu.json b/MLEB/UniversalLanguageSelector/i18n/qu.json
index ac61ad57..ff98a82c 100644
--- a/MLEB/UniversalLanguageSelector/i18n/qu.json
+++ b/MLEB/UniversalLanguageSelector/i18n/qu.json
@@ -4,5 +4,6 @@
"AlimanRuna"
]
},
- "uls-plang-title-languages": "Rimaykuna"
+ "uls-plang-title-languages": "Rimaykuna",
+ "jquery-ime-help": "Yanapa"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/ru.json b/MLEB/UniversalLanguageSelector/i18n/ru.json
index 32ee2824..032590d2 100644
--- a/MLEB/UniversalLanguageSelector/i18n/ru.json
+++ b/MLEB/UniversalLanguageSelector/i18n/ru.json
@@ -64,5 +64,6 @@
"apihelp-languagesearch-param-typos": "Количество орфографических ошибок, которое допускается в искомой строке.",
"apihelp-languagesearch-example-1": "Поиск «Te»",
"apihelp-languagesearch-example-2": "Поиск «ഫി»",
- "apihelp-languagesearch-example-3": "Поиск «ഫി», допускается одна ошибка"
+ "apihelp-languagesearch-example-3": "Поиск «ഫി», допускается одна ошибка",
+ "apihelp-ulslocalization-param-language": "Код языка."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/sa.json b/MLEB/UniversalLanguageSelector/i18n/sa.json
index 64425bb0..b85961d5 100644
--- a/MLEB/UniversalLanguageSelector/i18n/sa.json
+++ b/MLEB/UniversalLanguageSelector/i18n/sa.json
@@ -4,5 +4,14 @@
"NehalDaveND"
]
},
- "uls-plang-title-languages": "भाषाः"
+ "uls-plang-title-languages": "भाषाः",
+ "ext-uls-display-settings-language-tab": "भाषा",
+ "ext-uls-display-settings-title-short": "प्रदर्श्यताम्",
+ "ext-uls-language-settings-cancel": "निरस्यताम्",
+ "ext-uls-display-settings-font-settings": "वर्णविन्यासाः",
+ "ext-uls-display-settings-ui-language": "भाषा दर्श्यताम्",
+ "ext-uls-display-settings-anon-label": "भाषा दर्श्यताम्",
+ "ext-uls-input-settings-title-short": "निवेष्यम्",
+ "jquery-ime-help": "साहाय्यम्",
+ "ext-uls-input-disable-notification-undo": "पूर्ववत्"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/scn.json b/MLEB/UniversalLanguageSelector/i18n/scn.json
index 47b9f758..c3c37c14 100644
--- a/MLEB/UniversalLanguageSelector/i18n/scn.json
+++ b/MLEB/UniversalLanguageSelector/i18n/scn.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Gmelfi"
+ "Gmelfi",
+ "Pippinu"
]
},
"ext-uls-select-language-settings-icon-tooltip": "Mpustazzioni pâ lingua",
@@ -9,14 +10,14 @@
"ext-uls-language-settings-preferences-link": "Àutri mpustazzioni pâ lingua",
"ext-uls-display-settings-title": "Mpustazzioni di visualizzazzioni",
"ext-uls-display-settings-language-tab": "Lingua",
- "ext-uls-display-settings-fonts-tab": "Tipa di carattiri",
+ "ext-uls-display-settings-fonts-tab": "Tipi di caràttiri",
"ext-uls-display-settings-title-short": "Littura",
"ext-uls-display-settings-desc": "Mposta la lingua usata pi minù e carattiri.",
"ext-uls-language-settings-title": "Mpustazzioni pâ lingua",
"ext-uls-language-settings-apply": "Applica li mpustazzioni",
"ext-uls-language-settings-cancel": "Annulla",
"ext-uls-language-buttons-help": "Cancia la lingua dî minù. La lingua dî cuntinuti nun veni canciata.",
- "ext-uls-display-settings-font-settings": "Mpustazzioni pî tipa di carattiri",
+ "ext-uls-display-settings-font-settings": "Mpustazzioni pî tipi di caràttiri",
"ext-uls-display-settings-ui-language": "Lingua di visualizzazzioni",
"ext-uls-display-settings-anon-label": "Lingua di visualizzazioni:",
"ext-uls-display-settings-anon-same-as-content": "$1 (come lu cuntinutu)",
diff --git a/MLEB/UniversalLanguageSelector/i18n/sd.json b/MLEB/UniversalLanguageSelector/i18n/sd.json
new file mode 100644
index 00000000..fbeedef9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/sd.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sindhu"
+ ]
+ },
+ "apihelp-ulslocalization-param-language": "ٻوليءَ جو ڪوڊ"
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/sk.json b/MLEB/UniversalLanguageSelector/i18n/sk.json
index ecd10503..a697952e 100644
--- a/MLEB/UniversalLanguageSelector/i18n/sk.json
+++ b/MLEB/UniversalLanguageSelector/i18n/sk.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Sudo77(new)",
- "KuboF"
+ "KuboF",
+ "Teslaton"
]
},
"uls-desc": "Ponúka používateľovi niekoľko spôsobov výberu jazyka a úpravy jazykových nastavení",
@@ -20,12 +21,14 @@
"ext-uls-language-settings-title": "Jazykové nastavenia",
"ext-uls-language-settings-apply": "Použiť nastavenia",
"ext-uls-language-settings-cancel": "Zrušiť",
- "ext-uls-language-buttons-help": "Zmení jazyk menu. Neovplyvní to jazyk obsahu.",
+ "ext-uls-language-buttons-help": "Zmení jazyk menu. Jazyk obsahu nebude dotknutý.",
"ext-uls-display-settings-font-settings": "Nastavenia písma",
"ext-uls-display-settings-ui-language": "Jazyk rozhrania",
"ext-uls-display-settings-anon-label": "Jazyk rozhrania",
"ext-uls-display-settings-anon-same-as-content": "$1 (rovnako ako obsah)",
"ext-uls-display-settings-anon-log-in-cta": "Iný jazyk pre ponuky si môžete zvoliť po [[Special:UserLogin|prihlásení]].",
+ "ext-uls-webfonts-settings-title": "V prípade potreby stiahnuť písma",
+ "ext-uls-webfonts-settings-info": "Sťahuje chýbajúce písma automaticky a umožňuje voľbu preferovaných písiem.",
"ext-uls-webfonts-settings-info-link": "Viac informácií",
"ext-uls-webfonts-select-for": "Vyberte písmo pre $1",
"ext-uls-webfonts-select-for-ui-info": "Písmo použité pre používateľské rozhranie",
diff --git a/MLEB/UniversalLanguageSelector/i18n/sl.json b/MLEB/UniversalLanguageSelector/i18n/sl.json
index 008c5ff2..b0d2e8dd 100644
--- a/MLEB/UniversalLanguageSelector/i18n/sl.json
+++ b/MLEB/UniversalLanguageSelector/i18n/sl.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Eleassar",
- "Dbc334"
+ "Dbc334",
+ "Yerpo"
]
},
"uls-desc": "Daje uporabniku več načinov izbire jezika in prilagoditve jezikovnih nastavitev",
@@ -52,8 +53,8 @@
"ext-uls-input-settings-noime": "Za ta jezik ni na razpolago noben način vnosa.",
"ext-uls-input-disable-notification": "Orodja za vnos so onemogočena",
"ext-uls-input-disable-notification-undo": "Razveljavi",
- "ext-uls-input-disable-notification-info-personal": "Orodja za vnos lahko prek jezikovnih nastavitev omogočite kadar koli.",
- "ext-uls-input-disable-notification-info-interlanguage": "Orodja za vnos lahko prek jezikovnih nastavitev poleg seznama jezikov omogočite kadar koli.",
+ "ext-uls-input-disable-notification-info-personal": "Orodja za vnos lahko prek jezikovnih nastavitev omogočite kadarkoli.",
+ "ext-uls-input-disable-notification-info-interlanguage": "Orodja za vnos lahko prek jezikovnih nastavitev poleg seznama jezikov omogočite kadarkoli.",
"ext-uls-language-settings-applying": "Uveljavljanje ...",
"ext-uls-compact-link-count": "{{PLURAL:$1|1=Še en|Še $1}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/so.json b/MLEB/UniversalLanguageSelector/i18n/so.json
index 0604d29c..ed34fc0b 100644
--- a/MLEB/UniversalLanguageSelector/i18n/so.json
+++ b/MLEB/UniversalLanguageSelector/i18n/so.json
@@ -4,5 +4,6 @@
"Abshirdheere"
]
},
- "ext-uls-language-settings-preferences-link": "Dooqyo dheeraad ah e luqada"
+ "ext-uls-language-settings-preferences-link": "Dooqyo dheeraad ah e luqada",
+ "uls-betafeature-label": "Linkiyada af isku dhegan"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/sr-ec.json b/MLEB/UniversalLanguageSelector/i18n/sr-ec.json
index 98b67d99..ce336cfd 100644
--- a/MLEB/UniversalLanguageSelector/i18n/sr-ec.json
+++ b/MLEB/UniversalLanguageSelector/i18n/sr-ec.json
@@ -48,7 +48,7 @@
"jquery-ime-help": "Помоћ",
"ext-uls-input-disable": "Онемогући алате за унос",
"ext-uls-input-enable": "Омогући алате за унос",
- "ext-uls-input-disable-info": "Алати за унос су онемогућени",
+ "ext-uls-input-disable-info": "Алати за унос су онемогућени.",
"ext-uls-input-settings-noime": "Нема доступне методе уноса за овај језик.",
"ext-uls-input-disable-notification": "Алати за унос су онемогућени",
"ext-uls-input-disable-notification-undo": "Опозови",
diff --git a/MLEB/UniversalLanguageSelector/i18n/sv.json b/MLEB/UniversalLanguageSelector/i18n/sv.json
index 0c68388b..6ae9cd96 100644
--- a/MLEB/UniversalLanguageSelector/i18n/sv.json
+++ b/MLEB/UniversalLanguageSelector/i18n/sv.json
@@ -65,7 +65,7 @@
"apihelp-languagesearch-example-2": "Sök efter \"ഫി\"",
"apihelp-languagesearch-example-3": "Sök efter \"ഫി\", tillåter ett stavfel",
"apihelp-ulslocalization-description": "Få lokalanpassningen av ULS på ett visst språk.",
- "apihelp-ulslocalization-param-language": "Språksträng.",
+ "apihelp-ulslocalization-param-language": "Språkkod.",
"apihelp-ulslocalization-example-1": "Få lokalanpassning för Tamil",
"apihelp-ulslocalization-example-2": "Få lokalanpassning för Hindi"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/te.json b/MLEB/UniversalLanguageSelector/i18n/te.json
index 444402c2..affe349a 100644
--- a/MLEB/UniversalLanguageSelector/i18n/te.json
+++ b/MLEB/UniversalLanguageSelector/i18n/te.json
@@ -23,6 +23,7 @@
"ext-uls-display-settings-ui-language": "ప్రదర్శనా భాష",
"ext-uls-display-settings-anon-label": "ప్రదర్శనా భాష:",
"ext-uls-display-settings-anon-same-as-content": "$1 (విషయపు భాషే)",
+ "ext-uls-webfonts-settings-info-link": "మరింత సమాచారం",
"ext-uls-webfonts-select-for-ui-info": "వాడుకరి ముఖాంతరానికి వాడాల్సిన ఖతి",
"ext-uls-webfonts-select-for-content-info": "విషయానికి వాడాల్సిన ఖతి",
"ext-uls-back-to-display-settings": "తిరిగి ప్రదర్శన అమరికలకు",
@@ -36,5 +37,6 @@
"ext-uls-input-settings-more-languages-tooltip": "మరిన్ని భాషలు",
"jquery-ime-other-languages": "ఇతర భాషలు",
"jquery-ime-help": "సహాయం",
- "ext-uls-input-disable-notification-undo": "రద్దుచెయ్యి"
+ "ext-uls-input-disable-notification-undo": "రద్దుచెయ్యి",
+ "ext-uls-compact-link-count": "{{PLURAL:$1|మరొక్కటి|ఇంకా $1}}"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/tokipona.json b/MLEB/UniversalLanguageSelector/i18n/tokipona.json
new file mode 100644
index 00000000..b7bc3d8c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/tokipona.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robin0van0der0vliet"
+ ]
+ },
+ "ext-uls-display-settings-language-tab": "toki"
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/tr.json b/MLEB/UniversalLanguageSelector/i18n/tr.json
index 33ddc25c..4eea0f79 100644
--- a/MLEB/UniversalLanguageSelector/i18n/tr.json
+++ b/MLEB/UniversalLanguageSelector/i18n/tr.json
@@ -4,7 +4,8 @@
"Emperyan",
"Incelemeelemani",
"Meelo",
- "Rapsar"
+ "Rapsar",
+ "Sayginer"
]
},
"uls-desc": "Kullanıcının bir dil seçmesi ve dil ayarlarını değiştirmesi için seçenekler sağlar.",
@@ -57,5 +58,6 @@
"ext-uls-input-disable-notification-info-personal": "Dil ayarlarınızı istediğiniz zaman giriş araçlarından etkinleştirebilirsiniz.",
"ext-uls-input-disable-notification-info-interlanguage": "Dil ayarlarını dil listesinin yanında bulunan giriş araçlarından etkinleştirebilirsiniz.",
"ext-uls-language-settings-applying": "Uygulanıyor...",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Bir tane daha|$1 tane daha}}"
+ "ext-uls-compact-link-count": "{{PLURAL:$1|Bir tane daha|$1 tane daha}}",
+ "apihelp-ulslocalization-param-language": "Dil kodu."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/uk.json b/MLEB/UniversalLanguageSelector/i18n/uk.json
index e93df4f5..2637d6c2 100644
--- a/MLEB/UniversalLanguageSelector/i18n/uk.json
+++ b/MLEB/UniversalLanguageSelector/i18n/uk.json
@@ -59,5 +59,15 @@
"ext-uls-input-disable-notification-info-personal": "Ви можете увімкнути знаряддя вводу в будь-який момент через налаштування мови.",
"ext-uls-input-disable-notification-info-interlanguage": "Ви можете увімкнути знаряддя вводу в будь-який момент через налаштування мови біля переліку мов.",
"ext-uls-language-settings-applying": "Застосування...",
- "ext-uls-compact-link-count": "Ще {{PLURAL:$1|одна мова|$1 мови|$1 мов}}"
+ "ext-uls-compact-link-count": "Ще {{PLURAL:$1|одна|$1}}",
+ "apihelp-languagesearch-description": "Пошук назв мов у будь-якому скрипті.",
+ "apihelp-languagesearch-param-search": "Рядок пошуку.",
+ "apihelp-languagesearch-param-typos": "Кількість орфографічних помилок, дозволених у рядку пошуку.",
+ "apihelp-languagesearch-example-1": "Пошук «Te»",
+ "apihelp-languagesearch-example-2": "Пошук «ഫി»",
+ "apihelp-languagesearch-example-3": "Пошук «ഫി», допускається одна помилка",
+ "apihelp-ulslocalization-description": "Отримати локалізацію ULS вказаною мовою.",
+ "apihelp-ulslocalization-param-language": "Код мови.",
+ "apihelp-ulslocalization-example-1": "Отримати локалізацію тамільською",
+ "apihelp-ulslocalization-example-2": "Отримати локалізацію хінді"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/vi.json b/MLEB/UniversalLanguageSelector/i18n/vi.json
index 5b134f00..bd78f625 100644
--- a/MLEB/UniversalLanguageSelector/i18n/vi.json
+++ b/MLEB/UniversalLanguageSelector/i18n/vi.json
@@ -55,7 +55,7 @@
"ext-uls-input-disable-notification-info-personal": "Bạn có thể bật bộ gõ bất cứ lúc nào từ tùy chọn ngôn ngữ.",
"ext-uls-input-disable-notification-info-interlanguage": "Bạn có thể bật bộ gõ bất cứ lúc nào từ tùy chọn ngôn ngữ bên cạnh danh sách ngôn ngữ.",
"ext-uls-language-settings-applying": "Đang áp dụng…",
- "ext-uls-compact-link-count": "{{PLURAL:$1|Một ngôn ngữ|$1 ngôn ngữ}} nữa",
+ "ext-uls-compact-link-count": "$1 nữa",
"apihelp-languagesearch-description": "Tìm kiếm các tên người dùng trong hệ thống viết nào.",
"apihelp-languagesearch-param-search": "Chuỗi tìm kiếm.",
"apihelp-languagesearch-param-typos": "Số lỗi chính tả được cho phép trong chuỗi tìm kiếm.",
diff --git a/MLEB/UniversalLanguageSelector/i18n/xmf.json b/MLEB/UniversalLanguageSelector/i18n/xmf.json
new file mode 100644
index 00000000..392c938b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/i18n/xmf.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Silovan"
+ ]
+ },
+ "apihelp-ulslocalization-param-language": "ნინაშ კოდი."
+}
diff --git a/MLEB/UniversalLanguageSelector/i18n/yi.json b/MLEB/UniversalLanguageSelector/i18n/yi.json
index f87e9e18..889153b1 100644
--- a/MLEB/UniversalLanguageSelector/i18n/yi.json
+++ b/MLEB/UniversalLanguageSelector/i18n/yi.json
@@ -50,5 +50,6 @@
"ext-uls-input-settings-noime": "זענען נישט פֿאראן קייט איינגאב מעטאדן פֿאר דער שפראך.",
"ext-uls-input-disable-notification": "איינגאב געצייג זענען געווארן אומאקטיוויזירט",
"ext-uls-input-disable-notification-undo": "אַנולירן",
- "ext-uls-input-disable-notification-info-personal": "איר קענט אקטיוויזירן די איינגאב געצייג אבי ווען פון די שפראך שטעלונגען."
+ "ext-uls-input-disable-notification-info-personal": "איר קענט אקטיוויזירן די איינגאב געצייג אבי ווען פון די שפראך שטעלונגען.",
+ "apihelp-ulslocalization-param-language": "שפראַך קאד."
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/zh-hans.json b/MLEB/UniversalLanguageSelector/i18n/zh-hans.json
index d5e7a516..e072d370 100644
--- a/MLEB/UniversalLanguageSelector/i18n/zh-hans.json
+++ b/MLEB/UniversalLanguageSelector/i18n/zh-hans.json
@@ -69,7 +69,7 @@
"apihelp-languagesearch-example-2": "搜索“ഫി”",
"apihelp-languagesearch-example-3": "搜索“ഫി”,允许一个错字",
"apihelp-ulslocalization-description": "获得指定语言的ULS本地化。",
- "apihelp-ulslocalization-param-language": "语言字符串。",
+ "apihelp-ulslocalization-param-language": "语言代码。",
"apihelp-ulslocalization-example-1": "获得泰米尔语本地化",
"apihelp-ulslocalization-example-2": "获得印地语本地化"
}
diff --git a/MLEB/UniversalLanguageSelector/i18n/zh-hant.json b/MLEB/UniversalLanguageSelector/i18n/zh-hant.json
index ccb1ef39..dadacecc 100644
--- a/MLEB/UniversalLanguageSelector/i18n/zh-hant.json
+++ b/MLEB/UniversalLanguageSelector/i18n/zh-hant.json
@@ -62,10 +62,12 @@
"ext-uls-input-disable-notification-info-interlanguage": "你可隨時在語言清單旁的語言設定中開啟輸入工具。",
"ext-uls-language-settings-applying": "套用中...",
"ext-uls-compact-link-count": "還有 $1 種語言",
+ "apihelp-languagesearch-description": "於任何 Script 搜尋語言名稱。",
"apihelp-languagesearch-param-search": "搜尋字串。",
+ "apihelp-languagesearch-param-typos": "允許於搜尋字串中的拼寫錯誤數量。",
"apihelp-languagesearch-example-1": "搜尋 \"Te\"",
"apihelp-languagesearch-example-2": "搜尋 \"ഫി\"",
"apihelp-languagesearch-example-3": "搜尋 \"ഫി\",可允許一個錯字",
"apihelp-ulslocalization-description": "取得指定語言的在地化 ULS。",
- "apihelp-ulslocalization-param-language": "語言字串。"
+ "apihelp-ulslocalization-param-language": "語言代碼。"
}
diff --git a/MLEB/UniversalLanguageSelector/includes/ResourceLoaderULSJsonMessageModule.php b/MLEB/UniversalLanguageSelector/includes/ResourceLoaderULSJsonMessageModule.php
index 16e1c0c2..4ce21903 100644
--- a/MLEB/UniversalLanguageSelector/includes/ResourceLoaderULSJsonMessageModule.php
+++ b/MLEB/UniversalLanguageSelector/includes/ResourceLoaderULSJsonMessageModule.php
@@ -16,9 +16,10 @@ class ResourceLoaderULSJsonMessageModule extends ResourceLoaderModule {
/**
* Part of the ResourceLoader module interface.
* Declares the core ext.uls.i18n module as a dependency.
+ * @param ResourceLoaderContext $context
* @return string[] Module names.
*/
- function getDependencies() {
+ function getDependencies( ResourceLoaderContext $context = null ) {
return array( 'ext.uls.i18n' );
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/CREDITS b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/CREDITS
new file mode 100644
index 00000000..3a4eb5e2
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/CREDITS
@@ -0,0 +1,9 @@
+Credits
+=======
+
+Santhosh Thottingal
+Amir E. Aharoni
+Siebrand Mazeland
+Niklas Laxström
+Neil Kandalgaonkar
+David Chan
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/GPL-LICENSE b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/GPL-LICENSE
new file mode 100644
index 00000000..019694a9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/GPL-LICENSE
@@ -0,0 +1,342 @@
+== GNU GENERAL PUBLIC LICENSE ==
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+=== Preamble ===
+
+The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ==
+
+'''0.''' This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+'''1.''' You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+'''2.''' You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ '''a)''' You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ '''b)''' You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ '''c)''' If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+'''3.''' You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ '''a)''' Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ '''b)''' Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ '''c)''' Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+'''4.''' You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+'''5.''' You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+'''6.''' Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+'''7.''' If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+'''8.''' If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+'''9.''' The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+'''10.''' If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+=== NO WARRANTY ===
+
+'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ '''END OF TERMS AND CONDITIONS'''
+
+== How to Apply These Terms to Your New Programs ==
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/MIT-LICENSE b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/MIT-LICENSE
new file mode 100644
index 00000000..f3a03b7e
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/MIT-LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2012-2013 Santhosh Thottingal and other
+contributors. See CREDITS for a list.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/README.md b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/README.md
new file mode 100644
index 00000000..da82c2bc
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/README.md
@@ -0,0 +1,432 @@
+jQuery.i18n
+===========
+
+jQuery.i18n is a jQuery based Javascript internationalization library. It helps you to internationalize your web applications easily.
+
+This is a project by Wikimedia foundation's [Language Engineering team](http://wikimediafoundation.org/wiki/Language_Engineering_team) and used in some of the Wikimedia Foundation projects like Universal Language Selector.
+
+The jquery.i18n library uses a json based localization file format, "banana", which is used as the localization file format for MediaWiki and other projects.
+
+Features
+========
+* Simple file format - JSON. Easily readable for humans and machines.
+* Author and metadata information is not lost anywhere. There are other file formats using comments to store this.
+* Uses MediaWiki convention for placeholders. Easily readable and proven convention. Example: ```There are $1 cars```
+* Supports plural conversion without using extra messages for all plural forms. Plural rule handling is done using CLDR. Covers a wide range of languages
+* Supports gender. By passing the gender value, you get correct sentences according to gender.
+* Supports grammar forms. jquery.i18n has a basic but extensible grammar conversion support
+* Fallback chains for all languages.
+* Data api- the message key. Example: ```<li data-i18n="message-key"></li>```.
+* Dynamic change of interface language without refreshing a webpage.
+* Nestable grammar, plural, gender support. These constructs can be nested to any arbitrary level for supporting sophisticated message localization
+* Message documentation through special language code ```qqq```
+* Extensible message parser to add or customize magic words in the messages. Example: ```{sitename}``` or ```[[link]]``
+
+
+Quick start
+-----------
+
+```bash
+git clone https://github.com/wikimedia/jquery.i18n.git
+cd jquery.i18n
+git submodule update --init
+```
+
+Testing
+-------
+
+```shell
+npm install
+```
+
+To run tests locally, run `npm test`, and this will run the tests.
+
+Message File Format
+===================
+
+The message files are json formatted. As a convention you can have a folder named i18n inside your source code. For each language or locale, have a file named like languagecode.json.
+
+Example:
+```
+App
+ |--src
+ |--doc
+ |--i18n
+ |--ar.json
+ |--de.json
+ |--en.json
+ |--he.json
+ |--hi.json
+ |--fr.json
+ |--qqq.json
+```
+
+A simple en.json file example is given below
+
+```json
+{
+ "@metadata": {
+ "authors": [
+ "Alice",
+ "David",
+ "Santhosh"
+ ],
+ "last-updated": "2012-09-21",
+ "locale": "en",
+ "message-documentation": "qqq",
+ "AnotherMetadata": "AnotherMedatadataValue"
+ },
+ "appname-title": "Example Application",
+ "appname-sub-title": "An example application with jquery.i18n",
+ "appname-header-introduction": "Introduction",
+ "appname-about": "About this application",
+ "appname-footer": "Footer text"
+}
+```
+
+The json file should be a valid json. The ```@metadata``` holds all kind of data that are not messages. You can store author information, copyright, updated date or anything there.
+
+Messages are key value pairs. It is a good convention to prefix your appname to message keys to make the messages unique. It acts as the namespace for the message keys. It is also a good convention to have the message keys with ```-``` separated words, all in lower case.
+
+If you are curious to see some real jquery.i18n message file from other projects:
+
+- message files of MediaWiki https://github.com/wikimedia/mediawiki-core/tree/master/languages/i18n
+- message files from jquery.uls project https://github.com/wikimedia/jquery.uls/blob/master/i18n
+
+Single message file for all languages
+-------------------------------------
+There are some alternate message file format supported for different use cases. If your application is not big, and want all the translation in a single file, you can have it as shown in the below example:
+
+```json
+{
+ "@metadata": {
+ "authors": [
+ "Alice",
+ "David",
+ "Santhosh"
+ ],
+ "last-updated": "2012-09-21",
+ "locale": "en",
+ "message-documentation": "qqq",
+ "AnotherMetadata": "AnotherMedatadataValue"
+ },
+ "en": {
+ "appname-title": "Example Application",
+ "appname-sub-title": "An example application with jquery.i18n",
+ "appname-header-introduction": "Introduction",
+ "appname-about": "About this application",
+ "appname-footer": "Footer text"
+ },
+ "ml": {
+ "appname-title": "അപ്ലിക്കേഷന്‍ ഉദാഹരണം",
+ "appname-sub-title": "jquery.i18n ഉപയോഗിച്ചുള്ള അപ്ലിക്കേഷന്‍ ഉദാഹരണം",
+ "appname-header-introduction": "ആമുഖം",
+ "appname-about": "ഈ അപ്ലിക്കേഷനെപ്പറ്റി",
+ "appname-footer": "അടിക്കുറിപ്പു്"
+ }
+}
+```
+
+Here the json file contains language code as key value and messagekey-message pairs as the value for all language pairs. You can choose this format or per-language file formats depending on your use case. Per-language files are more convenient for collaboration, version controlling, scalability, etc.
+
+In this approach, it is also possible to give a file name as the value of language code.
+
+```json
+{
+ "@metadata": {
+ "authors": [
+ "Alice",
+ "David",
+ "Santhosh"
+ ],
+ "last-updated": "2012-09-21",
+ "locale": "en",
+ "message-documentation": "qqq",
+ "AnotherMetadata": "AnotherMedatadataValue"
+ },
+ "en": {
+ "appname-title": "Example Application",
+ "appname-sub-title": "An example application with jquery.i18n",
+ "appname-header-introduction": "Introduction",
+ "appname-about": "About this application",
+ "appname-footer": "Footer text"
+ },
+ "ml": "path/to/ml.json"
+}
+```
+
+Translation
+===========
+To translate the jquery.i18n application, depending on the expertise of the translator, there are multiple ways.
+
+* Editing the json files directly - Suitable for translators with technical background. Also suitable if your application is small and you want to work with only a small number of languages
+* Providing a translation interface along with your application: Suitable for proprietary or private applications with significant amount of translators
+* Using open source translation platforms like translatewiki.net. The MediaWiki and jquery.uls from previous examples use translatewiki.net for crowdsourced message translation. Translatewiki.net can update your code repo in regular intervals with updated translations. Highly recommended if your application is opensource and want localized to as many as languages possible with maximum number of translators.
+
+Usage
+=====
+
+## Switching locale
+
+While initializing the `jquery.i18n`, the locale for the page can be given using the `locale` option. For example
+
+```javascript
+$.i18n( {
+ locale: 'he' // Locale is Hebrew
+} );
+```
+
+In case locale option is not given, `jquery.i18n` plugin will use the language attribute given for the html tag. For example
+
+```html
+<html lang="he" dir="rtl">
+```
+
+In this case the locale will be he(Hebrew). If that `lang` attribute is also missing, it will try to use the locale specified by the browser.
+
+It is possible to switch to another locale after plugin is initialized. See below example:
+
+```javascript
+$.i18n({
+ locale: 'he' // Locale is Hebrew
+});
+$.i18n( 'message_hello' ); // This will give the Hebrew translation of message key `message_hello`.
+$.i18n().locale = 'ml'; // Now onwards locale is 'Malayalam'
+$.i18n( 'message_hello' ); // This will give the Malayalam translation of message key `message_hello`.
+```
+
+## Message Loading
+
+JSON formatted messages can be loaded to the plugin using multiple ways.
+
+### Dynamic loading using `load` method.
+
+Following example shows loading messages for two locales- localex, and localey. Here localex and localey are just examples. They should be valid IS0 639 language codes(eg: en, ml, hi, fr, ta etc)
+
+```javascript
+$.i18n().load( {
+ 'localex' : {
+ 'message-key1' : 'message1' // Message for localex.
+ },
+ 'localey' : {
+ 'message-key1' : 'message1'
+ }
+} );
+```
+
+If we want to load the messages for a specific locale, it can be done like this:
+
+```javascript
+$.i18n().load({
+ 'message-hello': 'Hello World',
+ 'message-welcome': 'Welcome'
+}, 'en');
+```
+
+Note the second argument for the `load` method. It should be a valid language code.
+
+It is also possible to refer messages from an external URL. See below example
+
+```javascript
+$.i18n().load( {
+ en: {
+ message_hello: 'Hello World',
+ message_welcome: 'Welcome'
+ },
+ hi: 'i18n/messages-hi.json', // Messages for Hindi
+ de: 'i18n/messages-de.json'
+} );
+```
+
+Messages for a locale can be also loaded in parts. Example
+
+```javascript
+$.i18n().load( {
+ en: {
+ message_hello: 'Hello World',
+ message_welcome: 'Welcome'
+ }
+} );
+
+$.i18n().load( {
+ // This does not remove the previous messages.
+ en: {
+ 'message_header' : 'Header',
+ 'message_footer' : 'Footer',
+ // This will overwrite message_welcome message
+ 'message_welcome' : 'Welcome back'
+ }
+} );
+```
+
+Since it is desirable to render interface messages instantly and not after a delay of loading the message files from a server, make sure that the messages are present at client side before using jQuery.i18n.
+
+The library should expose an API to load an object containing key-value pair of messages. Example: ```$.i18n.load(data)```. This will return a ```jQuery.Promise```.
+
+jquery.i18n plugin
+=========================
+
+The jQuery plugin defines ```$.i18n()``` and ```$.fn.i18n()```
+
+```javascript
+$.i18n( 'message-key-sample1' );
+$.i18n( 'message-key-sample1' );
+$.i18n( 'Found $1 {{plural:$1|result|results}}', 10 ); // Message key itself is message text
+$.i18n( 'Showing $1 out of $2 {{plural:$2|result|results}}', 5,100 );
+$.i18n(' User X updated {{gender|his|her}} profile', 'male' );
+
+$( '#foo' ).i18n(); // to translate the element matching jquery selector based on data-i18n key
+```
+
+Data API
+--------
+
+It is possible to display localized messages without any custom JavaScript. For the HTML tags, add an attribute data-i18n with value as the message key. Example:
+```html
+<li data-i18n="message-key"></li>.
+```
+
+It is also possible to have the above li node with fallback text already in place.
+```html
+<li data-i18n="message-key">Fallback text</li>
+```
+
+The framework will place the localized message corresponding to message-key as the text value of the node. Similar to $('selector').i18n( ... ).
+This will not work for dynamically created elements.
+
+Note that if data-i18n contains html markup, that html will not be used as the element content, instead, the text version will be used. $.fn.i18n is always about replacing text of the element. If you want to change the html of the element, you may want to use: ```$(selector).html($.i18n(messagekey))```
+
+Examples
+========
+
+See http://thottingal.in/projects/js/jquery.i18n/demo/
+
+Message format
+==============
+
+## Placeholders
+
+Messages take parameters. They are represented by $1, $2, $3, … in the message texts, and replaced at run time. Typical parameter values are numbers (Example: "Delete 3 versions?"), or user names (Example: "Page last edited by $1"), page names, links, and so on, or sometimes other messages.
+
+```javascript
+var message = "Welcome, $1";
+$.i18n(message, 'Alice'); // This gives "Welcome, Alice"
+```
+
+
+## Plurals
+
+To make the syntax of sentence correct, plural forms are required. jquery.i18n support plural forms in the message using the syntax `{{PLURAL:$1|pluralform1|pluralform2|...}}`
+
+For example:
+
+```javascript
+var message = "Found $1 {{PLURAL:$1|result|results}}";
+$.i18n(message, 1); // This gives "Found 1 result"
+$.i18n(message, 4); // This gives "Found 4 results"
+```
+Note that {{PLURAL:...}} is not case sensitive. It can be {{plural:...}} too.
+
+In case of English, there are only 2 plural forms, but many languages use more than 2 plural forms. All the plural forms can be given in the above syntax, separated by pipe(|)
+
+## Gender
+Similar to plural, depending on gender of placeholders, mostly user names, the syntax changes dynamically. An example in English is "Alice changed her profile picture" and "Bob changed his profile picture". To support this {{GENDER...}} syntax can be used as show in example
+
+```javascript
+var message = "$1 changed {{GENDER:$2|his|her}} profile picture";
+$.i18n(message, 'Alice', 'female' ); // This gives "Alice changed her profile picture"
+$.i18n(message, 'Bob', 'male' ); // This gives "Bob changed his profile picture"
+```
+
+Note that {{GENDER:...}} is not case sensitive. It can be {{gender:...}} too.
+
+## Grammar
+
+
+```javascript
+$.i18n( { locale: 'fi' } );
+
+var message = "{{grammar:genitive|$1}}";
+
+$.i18n(message, 'talo' ); // This gives "talon"
+
+$.i18n().locale = 'hy'; // Switch to locale Armenian
+$.i18n(message, 'Մաունա'); // This gives "Մաունայի"
+```
+
+## Directionality-safe isolation
+
+To avoid BIDI corruption that looks like "(Foo_(Bar", which happens when a string is inserted into a context with the reverse directionality, you can use `{{bidi:…}}`. Directionality-neutral characters at the edge of the string can get wrongly interpreted by the BIDI algorithm. This would let you embed your substituted string into a new BIDI context, //e.g.//:
+
+ "`Shalom, {{bidi:$1}}, hi!`"
+
+The embedded context's directionality is determined by looking at the argument for `$1`, and then explicitly inserted into the Unicode text, ensuring correct rendering (because then the bidi algorithm "knows" the argument text is a separate context).
+
+
+Fallback
+========
+
+The plugin takes an option 'fallback' with the default value 'en'. The library reuses the fallback data available in MediaWiki for calculating the language fallbacks. Fallbacks are used when a message key is not found in a locale. Example fallbacks: sa->hi->en or tt->tt-cyrl->ru.
+
+See jquery.i18n.fallbacks.js in the source.
+
+Magic word support
+===================
+* For plural, gender and grammar support, MediaWiki template-like syntax - {{...}} will be used.
+* There will be a default implementation for all these in $.i18n.language['default']
+* The plural, gender and grammar methods in ```$.i18n.language[ 'default' ]``` can be overridden or extended in ```$.i18n.language['languageCode']```.
+* Language-specific rules about Gender and Grammar can be written in languages/langXYZ.js files
+* Plural forms will be dynamically calculated using the CLDR plural parser.
+
+Extending the parser
+--------------------
+Following example illustrates extending the parser to support more magic words
+
+```javascript
+$.extend( $.i18n.parser.emitter, {
+ // Handle SITENAME keywords
+ sitename: function () {
+ return 'Wikipedia';
+ },
+ // Handle LINK keywords
+ link: function ( nodes ) {
+ return '<a href="' + nodes[1] + '">' + nodes[0] + '</a>';
+ }
+} );
+```
+
+This will parse the message
+```javascript
+$.i18n( '{{link:{{SITENAME}}|http://en.wikipedia.org}}' );
+```
+
+to
+
+```html
+<a href="http://en.wikipedia.org">Wikipedia</a>
+```
+
+Message documentation
+=====================
+
+The message keys and messages won't give a enough context about the message being translated to the translator. Whenever a developer adds a new message, it is a usual practice to document the message to a file named qqq.json
+with same message key.
+
+Example qqq.json:
+```json
+{
+ "@metadata": {
+ "authors": [
+ "Developer Name"
+ ]
+ },
+ "appname-title": "Application name. Transliteration is recommended",
+ "appname-sub-title": "Brief explanation of the application",
+ "appname-header-introduction": "Text for the introduction header",
+ "appname-about": "About this application text",
+ "appname-footer": "Footer text"
+}
+
+```
+
+In MediaWiki and its hundreds of extensions, message documentation is a strictly followed practice. There is a grunt task to check whether all messages are documented or not. See https://www.npmjs.org/package/grunt-banana-checker
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.emitter.bidi.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.emitter.bidi.js
new file mode 100644
index 00000000..3a5b6251
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.emitter.bidi.js
@@ -0,0 +1,88 @@
+/**
+ * BIDI embedding support for jQuery.i18n
+ *
+ * Copyright (C) 2015, David Chan
+ *
+ * This code is dual licensed GPLv2 or later and MIT. You don't have to do
+ * anything special to choose one license or the other and you don't have to
+ * notify anyone which license you are using. You are free to use this code
+ * in commercial projects as long as the copyright header is left intact.
+ * See files GPL-LICENSE and MIT-LICENSE for details.
+ *
+ * @licence GNU General Public Licence 2.0 or later
+ * @licence MIT License
+ */
+
+( function ( $ ) {
+ 'use strict';
+ var strongDirRegExp;
+
+ /**
+ * Matches the first strong directionality codepoint:
+ * - in group 1 if it is LTR
+ * - in group 2 if it is RTL
+ * Does not match if there is no strong directionality codepoint.
+ *
+ * Generated by UnicodeJS (see tools/strongDir) from the UCD; see
+ * https://git.wikimedia.org/summary/unicodejs.git .
+ */
+ strongDirRegExp = new RegExp(
+ '(?:' +
+ '(' +
+ '[\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u02bb-\u02c1\u02d0\u02d1\u02e0-\u02e4\u02ee\u0370-\u0373\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0482\u048a-\u052f\u0531-\u0556\u0559-\u055f\u0561-\u0587\u0589\u0903-\u0939\u093b\u093d-\u0940\u0949-\u094c\u094e-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd-\u09c0\u09c7\u09c8\u09cb\u09cc\u09ce\u09d7\u09dc\u09dd\u09df-\u09e1\u09e6-\u09f1\u09f4-\u09fa\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3e-\u0a40\u0a59-\u0a5c\u0a5e\u0a66-\u0a6f\u0a72-\u0a74\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd-\u0ac0\u0ac9\u0acb\u0acc\u0ad0\u0ae0\u0ae1\u0ae6-\u0af0\u0af9\u0b02\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0b5c\u0b5d\u0b5f-\u0b61\u0b66-\u0b77\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd0\u0bd7\u0be6-\u0bf2\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c41-\u0c44\u0c58-\u0c5a\u0c60\u0c61\u0c66-\u0c6f\u0c7f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd-\u0cc4\u0cc6-\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0cde\u0ce0\u0ce1\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d4e\u0d57\u0d5f-\u0d61\u0d66-\u0d75\u0d79-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dcf-\u0dd1\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e4f-\u0e5b\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f17\u0f1a-\u0f34\u0f36\u0f38\u0f3e-\u0f47\u0f49-\u0f6c\u0f7f\u0f85\u0f88-\u0f8c\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce-\u0fda\u1000-\u102c\u1031\u1038\u103b\u103c\u103f-\u1057\u105a-\u105d\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108c\u108e-\u109c\u109e-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1360-\u137c\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u167f\u1681-\u169a\u16a0-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1735\u1736\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17b6\u17be-\u17c5\u17c7\u17c8\u17d4-\u17da\u17dc\u17e0-\u17e9\u1810-\u1819\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a16\u1a19\u1a1a\u1a1e-\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1a80-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1b04-\u1b33\u1b35\u1b3b\u1b3d-\u1b41\u1b43-\u1b4b\u1b50-\u1b6a\u1b74-\u1b7c\u1b82-\u1ba1\u1ba6\u1ba7\u1baa\u1bae-\u1be5\u1be7\u1bea-\u1bec\u1bee\u1bf2\u1bf3\u1bfc-\u1c2b\u1c34\u1c35\u1c3b-\u1c49\u1c4d-\u1c7f\u1cc0-\u1cc7\u1cd3\u1ce1\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200e\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u214f\u2160-\u2188\u2336-\u237a\u2395\u249c-\u24e9\u26ac\u2800-\u28ff\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d70\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u302e\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u3190-\u31ba\u31f0-\u321c\u3220-\u324f\u3260-\u327b\u327f-\u32b0\u32c0-\u32cb\u32d0-\u32fe\u3300-\u3376\u337b-\u33dd\u33e0-\u33fe\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua60c\ua610-\ua62b\ua640-\ua66e\ua680-\ua69d\ua6a0-\ua6ef\ua6f2-\ua6f7\ua722-\ua787\ua789-\ua7ad\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua824\ua827\ua830-\ua837\ua840-\ua873\ua880-\ua8c3\ua8ce-\ua8d9\ua8f2-\ua8fd\ua900-\ua925\ua92e-\ua946\ua952\ua953\ua95f-\ua97c\ua983-\ua9b2\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9e4\ua9e6-\ua9fe\uaa00-\uaa28\uaa2f\uaa30\uaa33\uaa34\uaa40-\uaa42\uaa44-\uaa4b\uaa4d\uaa50-\uaa59\uaa5c-\uaa7b\uaa7d-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaaeb\uaaee-\uaaf5\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab65\uab70-\uabe4\uabe6\uabe7\uabe9-\uabec\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ue000-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|\ud800\udc3c|\ud800\udc3d|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|\ud800\udd00|\ud800\udd02|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|\ud801\udd6f|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|\ud804\udc00|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|\ud804\udcb7|\ud804\udcb8|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|\ud804\udd2c|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|\ud804\uddcd|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|\ud804\ude32|\ud804\ude33|\ud804\ude35|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|\ud804\ude88|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|\ud804\udf02|\ud804\udf03|\ud804[\udf05-\udf0c]|\ud804\udf0f|\ud804\udf10|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|\ud804\udf32|\ud804\udf33|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|\ud804\udf47|\ud804\udf48|\ud804[\udf4b-\udf4d]|\ud804\udf50|\ud804\udf57|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|\ud805\udcb9|\ud805[\udcbb-\udcbe]|\ud805\udcc1|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|\ud805\uddbe|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|\ud805\ude3b|\ud805\ude3c|\ud805\ude3e|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|\ud805\udeac|\ud805\udeae|\ud805\udeaf|\ud805\udeb6|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|\ud805\udf20|\ud805\udf21|\ud805\udf26|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|\ud806\udcff|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|\ud81a\ude6e|\ud81a\ude6f|\ud81a[\uded0-\udeed]|\ud81a\udef5|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|\ud82c\udc00|\ud82c\udc01|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|\ud82f\udc9c|\ud82f\udc9f|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|\ud834\udd83|\ud834\udd84|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|\ud835\udc9e|\ud835\udc9f|\ud835\udca2|\ud835\udca5|\ud835\udca6|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|\ud835\udcbb|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|\ud835\udd46|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|\ud83c\ude50|\ud83c\ude51|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd]' +
+ ')|(' +
+ '[\u0590\u05be\u05c0\u05c3\u05c6\u05c8-\u05ff\u07c0-\u07ea\u07f4\u07f5\u07fa-\u0815\u081a\u0824\u0828\u082e-\u0858\u085c-\u089f\u200f\ufb1d\ufb1f-\ufb28\ufb2a-\ufb4f\u0608\u060b\u060d\u061b-\u064a\u066d-\u066f\u0671-\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u0710\u0712-\u072f\u074b-\u07a5\u07b1-\u07bf\u08a0-\u08e2\ufb50-\ufd3d\ufd40-\ufdcf\ufdf0-\ufdfc\ufdfe\ufdff\ufe70-\ufefe]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|\ud802\ude04|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]' +
+ ')' +
+ ')'
+ );
+
+ /**
+ * Gets directionality of the first strongly directional codepoint
+ *
+ * This is the rule the BIDI algorithm uses to determine the directionality of
+ * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and
+ * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).
+ *
+ * TODO: Does not handle BIDI control characters inside the text.
+ * TODO: Does not handle unallocated characters.
+ */
+ function strongDirFromContent( text ) {
+ var m = text.match( strongDirRegExp );
+ if ( !m ) {
+ return null;
+ }
+ if ( m[2] === undefined ) {
+ return 'ltr';
+ }
+ return 'rtl';
+ }
+
+ $.extend( $.i18n.parser.emitter, {
+ /**
+ * Wraps argument with unicode control characters for directionality safety
+ *
+ * This solves the problem where directionality-neutral characters at the edge of
+ * the argument string get interpreted with the wrong directionality from the
+ * enclosing context, giving renderings that look corrupted like "(Ben_(WMF".
+ *
+ * The wrapping is LRE...PDF or RLE...PDF, depending on the detected
+ * directionality of the argument string, using the BIDI algorithm's own "First
+ * strong directional codepoint" rule. Essentially, this works round the fact that
+ * there is no embedding equivalent of U+2068 FSI (isolation with heuristic
+ * direction inference). The latter is cleaner but still not widely supported.
+ */
+ bidi: function ( nodes ) {
+ var dir = strongDirFromContent( nodes[0] );
+ if ( dir === 'ltr' ) {
+ // Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING
+ return '\u202A' + nodes[0] + '\u202C';
+ }
+ if ( dir === 'rtl' ) {
+ // Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING
+ return '\u202B' + nodes[0] + '\u202C';
+ }
+ // No strong directionality: do not wrap
+ return nodes[0];
+ }
+ } );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.fallbacks.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.fallbacks.js
index 0b2eafbf..4584c5f2 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.fallbacks.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.fallbacks.js
@@ -16,171 +16,171 @@
$.i18n = $.i18n || {};
$.extend( $.i18n.fallbacks, {
- 'ab': ['ru'],
- 'ace': ['id'],
- 'aln': ['sq'],
+ ab: [ 'ru' ],
+ ace: [ 'id' ],
+ aln: [ 'sq' ],
// Not so standard - als is supposed to be Tosk Albanian,
// but in Wikipedia it's used for a Germanic language.
- 'als': ['gsw', 'de'],
- 'an': ['es'],
- 'anp': ['hi'],
- 'arn': ['es'],
- 'arz': ['ar'],
- 'av': ['ru'],
- 'ay': ['es'],
- 'ba': ['ru'],
- 'bar': ['de'],
- 'bat-smg': ['sgs', 'lt'],
- 'bcc': ['fa'],
- 'be-x-old': ['be-tarask'],
- 'bh': ['bho'],
- 'bjn': ['id'],
- 'bm': ['fr'],
- 'bpy': ['bn'],
- 'bqi': ['fa'],
- 'bug': ['id'],
- 'cbk-zam': ['es'],
- 'ce': ['ru'],
- 'crh': ['crh-latn'],
- 'crh-cyrl': ['ru'],
- 'csb': ['pl'],
- 'cv': ['ru'],
- 'de-at': ['de'],
- 'de-ch': ['de'],
- 'de-formal': ['de'],
- 'dsb': ['de'],
- 'dtp': ['ms'],
- 'egl': ['it'],
- 'eml': ['it'],
- 'ff': ['fr'],
- 'fit': ['fi'],
- 'fiu-vro': ['vro', 'et'],
- 'frc': ['fr'],
- 'frp': ['fr'],
- 'frr': ['de'],
- 'fur': ['it'],
- 'gag': ['tr'],
- 'gan': ['gan-hant', 'zh-hant', 'zh-hans'],
- 'gan-hans': ['zh-hans'],
- 'gan-hant': ['zh-hant', 'zh-hans'],
- 'gl': ['pt'],
- 'glk': ['fa'],
- 'gn': ['es'],
- 'gsw': ['de'],
- 'hif': ['hif-latn'],
- 'hsb': ['de'],
- 'ht': ['fr'],
- 'ii': ['zh-cn', 'zh-hans'],
- 'inh': ['ru'],
- 'iu': ['ike-cans'],
- 'jut': ['da'],
- 'jv': ['id'],
- 'kaa': ['kk-latn', 'kk-cyrl'],
- 'kbd': ['kbd-cyrl'],
- 'khw': ['ur'],
- 'kiu': ['tr'],
- 'kk': ['kk-cyrl'],
- 'kk-arab': ['kk-cyrl'],
- 'kk-latn': ['kk-cyrl'],
- 'kk-cn': ['kk-arab', 'kk-cyrl'],
- 'kk-kz': ['kk-cyrl'],
- 'kk-tr': ['kk-latn', 'kk-cyrl'],
- 'kl': ['da'],
- 'ko-kp': ['ko'],
- 'koi': ['ru'],
- 'krc': ['ru'],
- 'ks': ['ks-arab'],
- 'ksh': ['de'],
- 'ku': ['ku-latn'],
- 'ku-arab': ['ckb'],
- 'kv': ['ru'],
- 'lad': ['es'],
- 'lb': ['de'],
- 'lbe': ['ru'],
- 'lez': ['ru'],
- 'li': ['nl'],
- 'lij': ['it'],
- 'liv': ['et'],
- 'lmo': ['it'],
- 'ln': ['fr'],
- 'ltg': ['lv'],
- 'lzz': ['tr'],
- 'mai': ['hi'],
- 'map-bms': ['jv', 'id'],
- 'mg': ['fr'],
- 'mhr': ['ru'],
- 'min': ['id'],
- 'mo': ['ro'],
- 'mrj': ['ru'],
- 'mwl': ['pt'],
- 'myv': ['ru'],
- 'mzn': ['fa'],
- 'nah': ['es'],
- 'nap': ['it'],
- 'nds': ['de'],
- 'nds-nl': ['nl'],
- 'nl-informal': ['nl'],
- 'no': ['nb'],
- 'os': ['ru'],
- 'pcd': ['fr'],
- 'pdc': ['de'],
- 'pdt': ['de'],
- 'pfl': ['de'],
- 'pms': ['it'],
- 'pt': ['pt-br'],
- 'pt-br': ['pt'],
- 'qu': ['es'],
- 'qug': ['qu', 'es'],
- 'rgn': ['it'],
- 'rmy': ['ro'],
- 'roa-rup': ['rup'],
- 'rue': ['uk', 'ru'],
- 'ruq': ['ruq-latn', 'ro'],
- 'ruq-cyrl': ['mk'],
- 'ruq-latn': ['ro'],
- 'sa': ['hi'],
- 'sah': ['ru'],
- 'scn': ['it'],
- 'sg': ['fr'],
- 'sgs': ['lt'],
- 'sli': ['de'],
- 'sr': ['sr-ec'],
- 'srn': ['nl'],
- 'stq': ['de'],
- 'su': ['id'],
- 'szl': ['pl'],
- 'tcy': ['kn'],
- 'tg': ['tg-cyrl'],
- 'tt': ['tt-cyrl', 'ru'],
- 'tt-cyrl': ['ru'],
- 'ty': ['fr'],
- 'udm': ['ru'],
- 'ug': ['ug-arab'],
- 'uk': ['ru'],
- 'vec': ['it'],
- 'vep': ['et'],
- 'vls': ['nl'],
- 'vmf': ['de'],
- 'vot': ['fi'],
- 'vro': ['et'],
- 'wa': ['fr'],
- 'wo': ['fr'],
- 'wuu': ['zh-hans'],
- 'xal': ['ru'],
- 'xmf': ['ka'],
- 'yi': ['he'],
- 'za': ['zh-hans'],
- 'zea': ['nl'],
- 'zh': ['zh-hans'],
- 'zh-classical': ['lzh'],
- 'zh-cn': ['zh-hans'],
- 'zh-hant': ['zh-hans'],
- 'zh-hk': ['zh-hant', 'zh-hans'],
- 'zh-min-nan': ['nan'],
- 'zh-mo': ['zh-hk', 'zh-hant', 'zh-hans'],
- 'zh-my': ['zh-sg', 'zh-hans'],
- 'zh-sg': ['zh-hans'],
- 'zh-tw': ['zh-hant', 'zh-hans'],
- 'zh-yue': ['yue']
+ als: [ 'gsw', 'de' ],
+ an: [ 'es' ],
+ anp: [ 'hi' ],
+ arn: [ 'es' ],
+ arz: [ 'ar' ],
+ av: [ 'ru' ],
+ ay: [ 'es' ],
+ ba: [ 'ru' ],
+ bar: [ 'de' ],
+ 'bat-smg': [ 'sgs', 'lt' ],
+ bcc: [ 'fa' ],
+ 'be-x-old': [ 'be-tarask' ],
+ bh: [ 'bho' ],
+ bjn: [ 'id' ],
+ bm: [ 'fr' ],
+ bpy: [ 'bn' ],
+ bqi: [ 'fa' ],
+ bug: [ 'id' ],
+ 'cbk-zam': [ 'es' ],
+ ce: [ 'ru' ],
+ crh: [ 'crh-latn' ],
+ 'crh-cyrl': [ 'ru' ],
+ csb: [ 'pl' ],
+ cv: [ 'ru' ],
+ 'de-at': [ 'de' ],
+ 'de-ch': [ 'de' ],
+ 'de-formal': [ 'de' ],
+ dsb: [ 'de' ],
+ dtp: [ 'ms' ],
+ egl: [ 'it' ],
+ eml: [ 'it' ],
+ ff: [ 'fr' ],
+ fit: [ 'fi' ],
+ 'fiu-vro': [ 'vro', 'et' ],
+ frc: [ 'fr' ],
+ frp: [ 'fr' ],
+ frr: [ 'de' ],
+ fur: [ 'it' ],
+ gag: [ 'tr' ],
+ gan: [ 'gan-hant', 'zh-hant', 'zh-hans' ],
+ 'gan-hans': [ 'zh-hans' ],
+ 'gan-hant': [ 'zh-hant', 'zh-hans' ],
+ gl: [ 'pt' ],
+ glk: [ 'fa' ],
+ gn: [ 'es' ],
+ gsw: [ 'de' ],
+ hif: [ 'hif-latn' ],
+ hsb: [ 'de' ],
+ ht: [ 'fr' ],
+ ii: [ 'zh-cn', 'zh-hans' ],
+ inh: [ 'ru' ],
+ iu: [ 'ike-cans' ],
+ jut: [ 'da' ],
+ jv: [ 'id' ],
+ kaa: [ 'kk-latn', 'kk-cyrl' ],
+ kbd: [ 'kbd-cyrl' ],
+ khw: [ 'ur' ],
+ kiu: [ 'tr' ],
+ kk: [ 'kk-cyrl' ],
+ 'kk-arab': [ 'kk-cyrl' ],
+ 'kk-latn': [ 'kk-cyrl' ],
+ 'kk-cn': [ 'kk-arab', 'kk-cyrl' ],
+ 'kk-kz': [ 'kk-cyrl' ],
+ 'kk-tr': [ 'kk-latn', 'kk-cyrl' ],
+ kl: [ 'da' ],
+ 'ko-kp': [ 'ko' ],
+ koi: [ 'ru' ],
+ krc: [ 'ru' ],
+ ks: [ 'ks-arab' ],
+ ksh: [ 'de' ],
+ ku: [ 'ku-latn' ],
+ 'ku-arab': [ 'ckb' ],
+ kv: [ 'ru' ],
+ lad: [ 'es' ],
+ lb: [ 'de' ],
+ lbe: [ 'ru' ],
+ lez: [ 'ru' ],
+ li: [ 'nl' ],
+ lij: [ 'it' ],
+ liv: [ 'et' ],
+ lmo: [ 'it' ],
+ ln: [ 'fr' ],
+ ltg: [ 'lv' ],
+ lzz: [ 'tr' ],
+ mai: [ 'hi' ],
+ 'map-bms': [ 'jv', 'id' ],
+ mg: [ 'fr' ],
+ mhr: [ 'ru' ],
+ min: [ 'id' ],
+ mo: [ 'ro' ],
+ mrj: [ 'ru' ],
+ mwl: [ 'pt' ],
+ myv: [ 'ru' ],
+ mzn: [ 'fa' ],
+ nah: [ 'es' ],
+ nap: [ 'it' ],
+ nds: [ 'de' ],
+ 'nds-nl': [ 'nl' ],
+ 'nl-informal': [ 'nl' ],
+ no: [ 'nb' ],
+ os: [ 'ru' ],
+ pcd: [ 'fr' ],
+ pdc: [ 'de' ],
+ pdt: [ 'de' ],
+ pfl: [ 'de' ],
+ pms: [ 'it' ],
+ pt: [ 'pt-br' ],
+ 'pt-br': [ 'pt' ],
+ qu: [ 'es' ],
+ qug: [ 'qu', 'es' ],
+ rgn: [ 'it' ],
+ rmy: [ 'ro' ],
+ 'roa-rup': [ 'rup' ],
+ rue: [ 'uk', 'ru' ],
+ ruq: [ 'ruq-latn', 'ro' ],
+ 'ruq-cyrl': [ 'mk' ],
+ 'ruq-latn': [ 'ro' ],
+ sa: [ 'hi' ],
+ sah: [ 'ru' ],
+ scn: [ 'it' ],
+ sg: [ 'fr' ],
+ sgs: [ 'lt' ],
+ sli: [ 'de' ],
+ sr: [ 'sr-ec' ],
+ srn: [ 'nl' ],
+ stq: [ 'de' ],
+ su: [ 'id' ],
+ szl: [ 'pl' ],
+ tcy: [ 'kn' ],
+ tg: [ 'tg-cyrl' ],
+ tt: [ 'tt-cyrl', 'ru' ],
+ 'tt-cyrl': [ 'ru' ],
+ ty: [ 'fr' ],
+ udm: [ 'ru' ],
+ ug: [ 'ug-arab' ],
+ uk: [ 'ru' ],
+ vec: [ 'it' ],
+ vep: [ 'et' ],
+ vls: [ 'nl' ],
+ vmf: [ 'de' ],
+ vot: [ 'fi' ],
+ vro: [ 'et' ],
+ wa: [ 'fr' ],
+ wo: [ 'fr' ],
+ wuu: [ 'zh-hans' ],
+ xal: [ 'ru' ],
+ xmf: [ 'ka' ],
+ yi: [ 'he' ],
+ za: [ 'zh-hans' ],
+ zea: [ 'nl' ],
+ zh: [ 'zh-hans' ],
+ 'zh-classical': [ 'lzh' ],
+ 'zh-cn': [ 'zh-hans' ],
+ 'zh-hant': [ 'zh-hans' ],
+ 'zh-hk': [ 'zh-hant', 'zh-hans' ],
+ 'zh-min-nan': [ 'nan' ],
+ 'zh-mo': [ 'zh-hk', 'zh-hant', 'zh-hans' ],
+ 'zh-my': [ 'zh-sg', 'zh-hans' ],
+ 'zh-sg': [ 'zh-hans' ],
+ 'zh-tw': [ 'zh-hant', 'zh-hans' ],
+ 'zh-yue': [ 'yue' ]
} );
}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.js
index ccd36b4c..9236e4e2 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.js
@@ -123,9 +123,9 @@
* can also be passed. Example:
* <code>
* load( {
- * 'bn': 'i18n/bn.json',
- * 'he': 'i18n/he.json',
- * 'en': 'i18n/en.json'
+ * bn: 'i18n/bn.json',
+ * he: 'i18n/he.json',
+ * en: 'i18n/en.json'
* } )
* </code>
*
@@ -138,12 +138,12 @@
*/
load: function ( source, locale ) {
var fallbackLocales, locIndex, fallbackLocale, sourceMap = {};
- if (!source && !locale) {
+ if ( !source && !locale ) {
source = 'i18n/' + $.i18n().locale + '.json';
locale = $.i18n().locale;
}
if ( typeof source === 'string' &&
- source.split('.').pop() !== 'json'
+ source.split( '.' ).pop() !== 'json'
) {
// Load specified locale then check for fallbacks when directory is specified in load()
sourceMap[locale] = source + '/' + locale + '.json';
@@ -173,7 +173,7 @@
// should probably not change the 'this.parser' but just
// pass it to the parser.
this.parser.language = $.i18n.languages[$.i18n().locale] || $.i18n.languages['default'];
- if( message === '' ) {
+ if ( message === '' ) {
message = key;
}
return this.parser.parse( message, parameters );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.language.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.language.js
index ee6eacbc..3ce0a993 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.language.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.language.js
@@ -5,262 +5,263 @@
var language = {
// CLDR plural rules generated using
// libs/CLDRPluralRuleParser/tools/PluralXML2JSON.html
- 'pluralRules': {
- 'ak': {
- 'one': 'n = 0..1'
- },
- 'am': {
- 'one': 'i = 0 or n = 1'
+ pluralRules: {
+ ak: {
+ one: 'n = 0..1'
+ },
+ am: {
+ one: 'i = 0 or n = 1'
},
- 'ar': {
- 'zero': 'n = 0',
- 'one': 'n = 1',
- 'two': 'n = 2',
- 'few': 'n % 100 = 3..10',
- 'many': 'n % 100 = 11..99'
+ ar: {
+ zero: 'n = 0',
+ one: 'n = 1',
+ two: 'n = 2',
+ few: 'n % 100 = 3..10',
+ many: 'n % 100 = 11..99'
},
- 'be': {
- 'one': 'n % 10 = 1 and n % 100 != 11',
- 'few': 'n % 10 = 2..4 and n % 100 != 12..14',
- 'many': 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'
+ be: {
+ one: 'n % 10 = 1 and n % 100 != 11',
+ few: 'n % 10 = 2..4 and n % 100 != 12..14',
+ many: 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'
},
- 'bh': {
- 'one': 'n = 0..1'
+ bh: {
+ one: 'n = 0..1'
},
- 'bn': {
- 'one': 'i = 0 or n = 1'
+ bn: {
+ one: 'i = 0 or n = 1'
},
- 'br': {
- 'one': 'n % 10 = 1 and n % 100 != 11,71,91',
- 'two': 'n % 10 = 2 and n % 100 != 12,72,92',
- 'few': 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',
- 'many': 'n != 0 and n % 1000000 = 0'
+ br: {
+ one: 'n % 10 = 1 and n % 100 != 11,71,91',
+ two: 'n % 10 = 2 and n % 100 != 12,72,92',
+ few: 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',
+ many: 'n != 0 and n % 1000000 = 0'
},
- 'bs': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
+ bs: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
},
- 'cs': {
- 'one': 'i = 1 and v = 0',
- 'few': 'i = 2..4 and v = 0',
- 'many': 'v != 0'
+ cs: {
+ one: 'i = 1 and v = 0',
+ few: 'i = 2..4 and v = 0',
+ many: 'v != 0'
},
- 'cy': {
- 'zero': 'n = 0',
- 'one': 'n = 1',
- 'two': 'n = 2',
- 'few': 'n = 3',
- 'many': 'n = 6'
+ cy: {
+ zero: 'n = 0',
+ one: 'n = 1',
+ two: 'n = 2',
+ few: 'n = 3',
+ many: 'n = 6'
},
- 'da': {
- 'one': 'n = 1 or t != 0 and i = 0,1'
+ da: {
+ one: 'n = 1 or t != 0 and i = 0,1'
},
- 'fa': {
- 'one': 'i = 0 or n = 1'
+ fa: {
+ one: 'i = 0 or n = 1'
},
- 'ff': {
- 'one': 'i = 0,1'
+ ff: {
+ one: 'i = 0,1'
},
- 'fil': {
- 'one': 'i = 0..1 and v = 0'
+ fil: {
+ one: 'i = 0..1 and v = 0'
},
- 'fr': {
- 'one': 'i = 0,1'
+ fr: {
+ one: 'i = 0,1'
},
- 'ga': {
- 'one': 'n = 1',
- 'two': 'n = 2',
- 'few': 'n = 3..6',
- 'many': 'n = 7..10'
+ ga: {
+ one: 'n = 1',
+ two: 'n = 2',
+ few: 'n = 3..6',
+ many: 'n = 7..10'
},
- 'gd': {
- 'one': 'n = 1,11',
- 'two': 'n = 2,12',
- 'few': 'n = 3..10,13..19'
+ gd: {
+ one: 'n = 1,11',
+ two: 'n = 2,12',
+ few: 'n = 3..10,13..19'
},
- 'gu': {
- 'one': 'i = 0 or n = 1'
+ gu: {
+ one: 'i = 0 or n = 1'
},
- 'guw': {
- 'one': 'n = 0..1'
+ guw: {
+ one: 'n = 0..1'
},
- 'gv': {
- 'one': 'n % 10 = 1',
- 'two': 'n % 10 = 2',
- 'few': 'n % 100 = 0,20,40,60'
+ gv: {
+ one: 'n % 10 = 1',
+ two: 'n % 10 = 2',
+ few: 'n % 100 = 0,20,40,60'
},
- 'he': {
- 'one': 'i = 1 and v = 0',
- 'two': 'i = 2 and v = 0',
- 'many': 'v = 0 and n != 0..10 and n % 10 = 0'
+ he: {
+ one: 'i = 1 and v = 0',
+ two: 'i = 2 and v = 0',
+ many: 'v = 0 and n != 0..10 and n % 10 = 0'
},
- 'hi': {
- 'one': 'i = 0 or n = 1'
+ hi: {
+ one: 'i = 0 or n = 1'
},
- 'hr': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
+ hr: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
},
- 'hy': {
- 'one': 'i = 0,1'
+ hy: {
+ one: 'i = 0,1'
},
- 'is': {
- 'one': 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'
+ is: {
+ one: 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'
},
- 'iu': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ iu: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'iw': {
- 'one': 'i = 1 and v = 0',
- 'two': 'i = 2 and v = 0',
- 'many': 'v = 0 and n != 0..10 and n % 10 = 0'
+ iw: {
+ one: 'i = 1 and v = 0',
+ two: 'i = 2 and v = 0',
+ many: 'v = 0 and n != 0..10 and n % 10 = 0'
},
- 'kab': {
- 'one': 'i = 0,1'
+ kab: {
+ one: 'i = 0,1'
},
- 'kn': {
- 'one': 'i = 0 or n = 1'
+ kn: {
+ one: 'i = 0 or n = 1'
},
- 'kw': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ kw: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'lag': {
- 'zero': 'n = 0',
- 'one': 'i = 0,1 and n != 0'
+ lag: {
+ zero: 'n = 0',
+ one: 'i = 0,1 and n != 0'
},
- 'ln': {
- 'one': 'n = 0..1'
+ ln: {
+ one: 'n = 0..1'
},
- 'lt': {
- 'one': 'n % 10 = 1 and n % 100 != 11..19',
- 'few': 'n % 10 = 2..9 and n % 100 != 11..19',
- 'many': 'f != 0'
+ lt: {
+ one: 'n % 10 = 1 and n % 100 != 11..19',
+ few: 'n % 10 = 2..9 and n % 100 != 11..19',
+ many: 'f != 0'
},
- 'lv': {
- 'zero': 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',
- 'one': 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'
+ lv: {
+ zero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',
+ one: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'
},
- 'mg': {
- 'one': 'n = 0..1'
+ mg: {
+ one: 'n = 0..1'
},
- 'mk': {
- 'one': 'v = 0 and i % 10 = 1 or f % 10 = 1'
+ mk: {
+ one: 'v = 0 and i % 10 = 1 or f % 10 = 1'
},
- 'mo': {
- 'one': 'i = 1 and v = 0',
- 'few': 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'
+ mo: {
+ one: 'i = 1 and v = 0',
+ few: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'
},
- 'mr': {
- 'one': 'i = 0 or n = 1'
+ mr: {
+ one: 'i = 0 or n = 1'
},
- 'mt': {
- 'one': 'n = 1',
- 'few': 'n = 0 or n % 100 = 2..10',
- 'many': 'n % 100 = 11..19'
+ mt: {
+ one: 'n = 1',
+ few: 'n = 0 or n % 100 = 2..10',
+ many: 'n % 100 = 11..19'
},
- 'naq': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ naq: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'nso': {
- 'one': 'n = 0..1'
+ nso: {
+ one: 'n = 0..1'
},
- 'pa': {
- 'one': 'n = 0..1'
+ pa: {
+ one: 'n = 0..1'
},
- 'pl': {
- 'one': 'i = 1 and v = 0',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',
- 'many': 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'
+ pl: {
+ one: 'i = 1 and v = 0',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',
+ many: 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'
},
- 'pt': {
- 'one': 'i = 1 and v = 0 or i = 0 and t = 1'
+ pt: {
+ one: 'i = 1 and v = 0 or i = 0 and t = 1'
},
- 'pt_PT': {
- 'one': 'n = 1 and v = 0'
+ // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
+ pt_PT: {
+ one: 'n = 1 and v = 0'
},
- 'ro': {
- 'one': 'i = 1 and v = 0',
- 'few': 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'
+ // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
+ ro: {
+ one: 'i = 1 and v = 0',
+ few: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'
},
- 'ru': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11',
- 'many': 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'
+ ru: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11',
+ many: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'
},
- 'se': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ se: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'sh': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
+ sh: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
},
- 'shi': {
- 'one': 'i = 0 or n = 1',
- 'few': 'n = 2..10'
+ shi: {
+ one: 'i = 0 or n = 1',
+ few: 'n = 2..10'
},
- 'si': {
- 'one': 'n = 0,1 or i = 0 and f = 1'
+ si: {
+ one: 'n = 0,1 or i = 0 and f = 1'
},
- 'sk': {
- 'one': 'i = 1 and v = 0',
- 'few': 'i = 2..4 and v = 0',
- 'many': 'v != 0'
+ sk: {
+ one: 'i = 1 and v = 0',
+ few: 'i = 2..4 and v = 0',
+ many: 'v != 0'
},
- 'sl': {
- 'one': 'v = 0 and i % 100 = 1',
- 'two': 'v = 0 and i % 100 = 2',
- 'few': 'v = 0 and i % 100 = 3..4 or v != 0'
+ sl: {
+ one: 'v = 0 and i % 100 = 1',
+ two: 'v = 0 and i % 100 = 2',
+ few: 'v = 0 and i % 100 = 3..4 or v != 0'
},
- 'sma': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ sma: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'smi': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ smi: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'smj': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ smj: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'smn': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ smn: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'sms': {
- 'one': 'n = 1',
- 'two': 'n = 2'
+ sms: {
+ one: 'n = 1',
+ two: 'n = 2'
},
- 'sr': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
+ sr: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'
},
- 'ti': {
- 'one': 'n = 0..1'
+ ti: {
+ one: 'n = 0..1'
},
- 'tl': {
- 'one': 'i = 0..1 and v = 0'
+ tl: {
+ one: 'i = 0..1 and v = 0'
},
- 'tzm': {
- 'one': 'n = 0..1 or n = 11..99'
+ tzm: {
+ one: 'n = 0..1 or n = 11..99'
},
- 'uk': {
- 'one': 'v = 0 and i % 10 = 1 and i % 100 != 11',
- 'few': 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',
- 'many': 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'
+ uk: {
+ one: 'v = 0 and i % 10 = 1 and i % 100 != 11',
+ few: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',
+ many: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'
},
- 'wa': {
- 'one': 'n = 0..1'
+ wa: {
+ one: 'n = 0..1'
},
- 'zu': {
- 'one': 'i = 0 or n = 1'
+ zu: {
+ one: 'i = 0 or n = 1'
}
},
-
/**
* Plural form transformations, needed for some languages.
*
@@ -274,7 +275,7 @@
var pluralRules,
pluralFormIndex,
index,
- explicitPluralPattern = new RegExp('\\d+=', 'i'),
+ explicitPluralPattern = new RegExp( '\\d+=', 'i' ),
formCount,
form;
@@ -344,13 +345,13 @@
* @param {number} num Value to be converted
* @param {boolean} integer Convert the return value to an integer
*/
- 'convertNumber': function ( num, integer ) {
+ convertNumber: function ( num, integer ) {
var tmp, item, i,
transformTable, numberString, convertedNumber;
// Set the target Transform table:
transformTable = this.digitTransformTable( $.i18n().locale );
- numberString = '' + num;
+ numberString = String( num );
convertedNumber = '';
if ( !transformTable ) {
@@ -411,7 +412,7 @@
*
* @return string
*/
- 'gender': function ( gender, forms ) {
+ gender: function ( gender, forms ) {
if ( !forms || forms.length === 0 ) {
return '';
}
@@ -453,8 +454,8 @@
my: '၀၁၂၃၄၅၆၇၈၉',
ta: '௦௧௨௩௪௫௬௭௮௯',
te: '౦౧౨౩౪౫౬౭౮౯',
- th: '๐๑๒๓๔๕๖๗๘๙', //FIXME use iso 639 codes
- bo: '༠༡༢༣༤༥༦༧༨༩' //FIXME use iso 639 codes
+ th: '๐๑๒๓๔๕๖๗๘๙', // FIXME use iso 639 codes
+ bo: '༠༡༢༣༤༥༦༧༨༩' // FIXME use iso 639 codes
};
if ( !tables[language] ) {
@@ -466,6 +467,6 @@
};
$.extend( $.i18n.languages, {
- 'default': language
+ default: language
} );
}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.messagestore.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.messagestore.js
index a8e10f9d..759295ce 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.messagestore.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.messagestore.js
@@ -88,7 +88,7 @@
* @param locale
* @param messages
*/
- set: function( locale, messages ) {
+ set: function ( locale, messages ) {
if ( !this.messages[locale] ) {
this.messages[locale] = messages;
} else {
@@ -107,7 +107,6 @@
}
};
-
function jsonMessageLoader( url ) {
var deferred = $.Deferred();
@@ -117,7 +116,7 @@
$.i18n.log( 'Error in loading messages from ' + url + ' Exception: ' + exception );
// Ignore 404 exception, because we are handling fallabacks explicitly
deferred.resolve();
- } );
+ } );
return deferred.promise();
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.parser.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.parser.js
index 7dc26e6e..3dea2842 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.parser.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/jquery.i18n.parser.js
@@ -53,7 +53,7 @@
pos = 0;
// Try parsers until one works, if none work return null
- function choice ( parserSyntax ) {
+ function choice( parserSyntax ) {
return function () {
var i, result;
@@ -72,7 +72,7 @@
// Try several parserSyntax-es in a row.
// All must succeed; otherwise, return null.
// This is the only eager one.
- function sequence ( parserSyntax ) {
+ function sequence( parserSyntax ) {
var i, res,
originalPos = pos,
result = [];
@@ -94,7 +94,7 @@
// Run the same parser over and over until it fails.
// Must succeed a minimum of n times; otherwise, return null.
- function nOrMore ( n, p ) {
+ function nOrMore( n, p ) {
return function () {
var originalPos = pos,
result = [],
@@ -117,7 +117,7 @@
// Helpers -- just make parserSyntax out of simpler JS builtin types
- function makeStringParser ( s ) {
+ function makeStringParser( s ) {
var len = s.length;
return function () {
@@ -132,7 +132,7 @@
};
}
- function makeRegexParser ( regex ) {
+ function makeRegexParser( regex ) {
return function () {
var matches = message.substr( pos ).match( regex );
@@ -163,7 +163,7 @@
// But using this as a combinator seems to cause problems
// when combined with nOrMore().
// May be some scoping issue.
- function transform ( p, fn ) {
+ function transform( p, fn ) {
return function () {
var result = p();
@@ -174,19 +174,19 @@
// Used to define "literals" within template parameters. The pipe
// character is the parameter delimeter, so by default
// it is not a literal in the parameter
- function literalWithoutBar () {
+ function literalWithoutBar() {
var result = nOrMore( 1, escapedOrLiteralWithoutBar )();
return result === null ? null : result.join( '' );
}
- function literal () {
+ function literal() {
var result = nOrMore( 1, escapedOrRegularLiteral )();
return result === null ? null : result.join( '' );
}
- function escapedLiteral () {
+ function escapedLiteral() {
var result = sequence( [ backslash, anyCharacter ] );
return result === null ? null : result[1];
@@ -196,7 +196,7 @@
escapedOrLiteralWithoutBar = choice( [ escapedLiteral, regularLiteralWithoutBar ] );
escapedOrRegularLiteral = choice( [ escapedLiteral, regularLiteral ] );
- function replacement () {
+ function replacement() {
var result = sequence( [ dollar, digits ] );
if ( result === null ) {
@@ -216,7 +216,7 @@
}
);
- function templateParam () {
+ function templateParam() {
var expr,
result = sequence( [ pipe, nOrMore( 0, paramExpression ) ] );
@@ -231,13 +231,13 @@
return expr.length > 1 ? [ 'CONCAT' ].concat( expr ) : expr[0];
}
- function templateWithReplacement () {
+ function templateWithReplacement() {
var result = sequence( [ templateName, colon, replacement ] );
return result === null ? null : [ result[0], result[2] ];
}
- function templateWithOutReplacement () {
+ function templateWithOutReplacement() {
var result = sequence( [ templateName, colon, paramExpression ] );
return result === null ? null : [ result[0], result[2] ];
@@ -270,7 +270,7 @@
openTemplate = makeStringParser( '{{' );
closeTemplate = makeStringParser( '}}' );
- function template () {
+ function template() {
var result = sequence( [ openTemplate, templateContents, closeTemplate ] );
return result === null ? null : result[1];
@@ -279,7 +279,7 @@
expression = choice( [ template, replacement, literal ] );
paramExpression = choice( [ template, replacement, literalWithoutBar ] );
- function start () {
+ function start() {
var result = nOrMore( 0, expression )();
if ( result === null ) {
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/languages/os.js b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/languages/os.js
index 67dccfb3..47443671 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/languages/os.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/languages/os.js
@@ -20,22 +20,20 @@
// Variable for ending
ending = '';
- // Checking if the $word is in plural form
if ( word.match( /тæ$/i ) ) {
+ // Checking if the $word is in plural form
word = word.substring( 0, word.length - 1 );
endAllative = 'æм';
- }
- // Works if word is in singular form.
- // Checking if word ends on one of the vowels: е, ё, и, о, ы, э, ю,
- // я.
- else if ( word.match( /[аæеёиоыэюя]$/i ) ) {
+ } else if ( word.match( /[аæеёиоыэюя]$/i ) ) {
+ // Works if word is in singular form.
+ // Checking if word ends on one of the vowels: е, ё, и, о, ы, э, ю,
+ // я.
jot = 'й';
- }
- // Checking if word ends on 'у'. 'У' can be either consonant 'W' or
- // vowel 'U' in cyrillic Ossetic.
- // Examples: {{grammar:genitive|аунеу}} = аунеуы,
- // {{grammar:genitive|лæппу}} = лæппуйы.
- else if ( word.match( /у$/i ) ) {
+ } else if ( word.match( /у$/i ) ) {
+ // Checking if word ends on 'у'. 'У' can be either consonant 'W' or
+ // vowel 'U' in cyrillic Ossetic.
+ // Examples: {{grammar:genitive|аунеу}} = аунеуы,
+ // {{grammar:genitive|лæппу}} = лæппуйы.
if ( !word.substring( word.length - 2, word.length - 1 )
.match( /[аæеёиоыэюя]$/i ) ) {
jot = 'й';
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.i18n/package.json b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/package.json
new file mode 100644
index 00000000..0dded29c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.i18n/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "jquery.i18n",
+ "version": "1.0.3",
+ "description": "jQuery based internationalization library",
+ "homepage": "https://github.com/wikimedia/jquery.i18n",
+ "keywords": [
+ "internationalization",
+ "localization",
+ "i18n",
+ "jquery",
+ "l10n"
+ ],
+ "author": {
+ "name": "Santhosh Thottingal",
+ "email": "santhosh.thottingal@gmail.com"
+ },
+ "contributors": [
+ "Amir Aharoni <amir.aharoni@mail.huji.ac.il>",
+ "Niklas Laxström <nlaxstrom@wikimedia.org>",
+ "Neil Kandalgaonkar <neilk@brevity.org>",
+ "David Chan <david@troi.org>"
+ ],
+ "devDependencies": {
+ "qunit": "0.7.6",
+ "grunt": "0.4.5",
+ "grunt-cli": "0.1.13",
+ "grunt-contrib-jshint": "0.11.2",
+ "grunt-contrib-connect": "0.10.1",
+ "grunt-contrib-qunit": "0.7.0",
+ "grunt-contrib-watch": "0.6.1",
+ "grunt-jscs": "1.8.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/wikimedia/jquery.i18n.git"
+ },
+ "bugs": {
+ "url" : "http://github.com/wikimedia/jquery.i18n/issues"
+ },
+ "engine": {
+ "node": ">=0.8.x"
+ },
+ "license": "(MIT OR GPL-2.0)",
+ "scripts": {
+ "test": "grunt test --verbose"
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js
index 33a363e2..3ae830c5 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js
@@ -1,4 +1,4 @@
-/*! jquery.ime - v0.1.0+20150429
+/*! jquery.ime - v0.1.0+20150818
* https://github.com/wikimedia/jquery.ime
* Copyright (c) 2015 Santhosh Thottingal; Licensed GPL, MIT */
( function ( $ ) {
@@ -1605,6 +1605,10 @@
name: 'প্ৰতিৰূপান্তৰণ',
source: 'rules/as/as-transliteration.js'
},
+ 'azb-kbd': {
+ name: 'تۆرکجه',
+ source: 'rules/azb/azb-kbd.js'
+ },
'batak-qwerty': {
name: 'Batak QWERTY',
source: 'rules/bbc/batak-qwerty.js'
@@ -1625,6 +1629,10 @@
name: 'Tifinagh',
source: 'rules/ber/ber-tfng.js'
},
+ 'bgn-kbd': {
+ name: 'روچ کپتین بلوچی',
+ source: 'rules/bgn/bgn-kbd.js'
+ },
'bn-avro': {
name: 'অভ্র',
source: 'rules/bn/bn-avro.js'
@@ -1935,6 +1943,10 @@
name: 'າຶກ',
source: 'rules/lo/lo-kbd.js'
},
+ 'lrc-kbd': {
+ name: 'لۊری شومالی',
+ source: 'rules/lrc/lrc-kbd.js'
+ },
'mh': {
name: 'Kajin M̧ajeļ',
source: 'rules/mh/mh.js'
@@ -2023,6 +2035,10 @@
name: 'इनस्क्रिप्ट २',
source: 'rules/sd/sd-inscript2.js'
},
+ 'sdh-kbd': {
+ name: 'کوردی خوارگ',
+ source: 'rules/sdh/sdh-kbd.js'
+ },
'se-normforms': {
name: 'Normal forms',
source: 'rules/se/se-normforms.js'
@@ -2185,6 +2201,10 @@
autonym: 'авар',
inputmethods: [ 'cyrl-palochka' ]
},
+ 'azb': {
+ autonym: 'تۆرکجه',
+ inputmethods: [ 'azb-kbd' ]
+ },
'bbc': {
autonym: 'Batak',
inputmethods: [ 'batak-qwerty' ]
@@ -2201,6 +2221,10 @@
autonym: 'भोजपुरी',
inputmethods: [ 'hi-transliteration' ]
},
+ 'bgn': {
+ autonym: 'روچ کپتین بلوچی',
+ inputmethods: [ 'bgn-kbd' ]
+ },
'bho': {
autonym: 'भोजपुरी',
inputmethods: [ 'hi-transliteration' ]
@@ -2218,7 +2242,7 @@
inputmethods: [ 'brx-inscript', 'brx-inscript2' ]
},
'ckb': {
- autonym: 'کوردی',
+ autonym: 'کوردیی ناوەندی',
inputmethods: [ 'ckb-transliteration-arkbd', 'ckb-transliteration-fakbd', 'ckb-transliteration-lakbd' ]
},
'ce': {
@@ -2269,12 +2293,16 @@
autonym: 'Suomi',
inputmethods: [ 'fi-transliteration' ]
},
+ 'lrc': {
+ autonym: 'لۊری شومالی',
+ inputmethods: [ 'lrc-kbd' ]
+ },
'lud': {
autonym: 'lüüdi',
inputmethods: [ 'lud-transliteration' ]
},
'gom': {
- autonym: 'कोंकणी',
+ autonym: 'गोवा कोंकणी / Gova Konknni',
inputmethods: [ 'hi-transliteration', 'hi-inscript', 'gom-inscript2' ]
},
'gu': {
@@ -2433,6 +2461,10 @@
autonym: 'सिंधी',
inputmethods: [ 'sd-inscript2' ]
},
+ 'sdh': {
+ autonym: 'کوردی خوارگ',
+ inputmethods: [ 'sdh-kbd' ]
+ },
'se': {
autonym: 'Davvisámegiella',
inputmethods: [ 'se-normforms' ]
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/azb/azb-kbd.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/azb/azb-kbd.js
new file mode 100644
index 00000000..edd9251c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/azb/azb-kbd.js
@@ -0,0 +1,108 @@
+( function ( $ ) {
+ 'use strict';
+
+ var azb_kbd = {
+ id: 'azb-kbd',
+ name: 'تۆرکجه',
+ description: 'South Azerbaijani Keyboard Layout',
+ date: '2015-05-02',
+ URL: 'http://github.com/wikimedia/jquery.ime',
+ author: 'Mjbmr',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+ ['`', '\u200d'],
+ ['1', '۱'],
+ ['2', '۲'],
+ ['3', '۳'],
+ ['4', '۴'],
+ ['5', '۵'],
+ ['6', '۶'],
+ ['7', '۷'],
+ ['8', '۸'],
+ ['9', '۹'],
+ ['0', '۰'],
+
+ ['q', 'ض'],
+ ['w', 'ص'],
+ ['e', 'ث'],
+ ['r', 'ق'],
+ ['t', 'ف'],
+ ['y', 'غ'],
+ ['u', 'ع'],
+ ['i', 'ه'],
+ ['o', 'خ'],
+ ['p', 'ح'],
+ ['\\[', 'ج'],
+ ['\\]', 'چ'],
+
+ ['a', 'ش'],
+ ['s', 'س'],
+ ['d', 'ی'],
+ ['f', 'ب'],
+ ['g', 'ل'],
+ ['h', 'ا'],
+ ['j', 'ت'],
+ ['k', 'ن'],
+ ['l', 'م'],
+ [';', 'ک'],
+ ['\'', 'گ'],
+
+ ['z', 'ظ'],
+ ['x', 'ط'],
+ ['c', 'ز'],
+ ['v', 'ر'],
+ ['b', 'ذ'],
+ ['n', 'د'],
+ ['m', 'پ'],
+ [',', 'و'],
+
+ ['~', '\u200c'],
+ ['@', '٬'],
+ ['#', '٫'],
+ ['%', '٪'],
+ ['\\^', '×'],
+ ['&', '،'],
+ ['\\(', ')'],
+ ['\\)', '('],
+ ['_', 'ـ'],
+
+ ['Q', 'ۇ'],
+ ['W', 'ۆ'],
+ ['E', 'وْ'],
+ ['R', 'ً'],
+ ['T', 'ُ'],
+ ['Y', 'ِ'],
+ ['U', 'َ'],
+ ['I', 'ّ'],
+ ['O', ']'],
+ ['P', '['],
+ ['\\{', '}'],
+ ['\\}', '{'],
+
+ ['A', 'ؤ'],
+ ['S', 'ئ'],
+ ['D', 'ؽ'],
+ ['F', 'إ'],
+ ['G', 'أ'],
+ ['H', 'آ'],
+ ['J', 'ة'],
+ ['K', '»'],
+ ['L', '«'],
+ ['"', '؛'],
+
+ ['Z', 'ك'],
+ ['X', 'ط'],
+ ['C', 'ژ'],
+ ['V', 'ٰ'],
+ ['B', 'ڭ'],
+ ['N', 'ٔ'],
+ ['M', 'ء'],
+ ['<', '>'],
+ ['>', '<'],
+ ['\\?', '؟']
+ ]
+ };
+
+ $.ime.register( azb_kbd );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bgn/bgn-kbd.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bgn/bgn-kbd.js
new file mode 100644
index 00000000..82e8f469
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bgn/bgn-kbd.js
@@ -0,0 +1,108 @@
+( function ( $ ) {
+ 'use strict';
+
+ var bgn_kbd = {
+ id: 'bgn-kbd',
+ name: 'روچ کپتین بلوچی',
+ description: 'Western Baluchi Keyboard Layout',
+ date: '2015-03-11',
+ URL: 'http://github.com/wikimedia/jquery.ime',
+ author: 'Mjbmr',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+ ['`', '\u200c'],
+ ['1', '۱'],
+ ['2', '۲'],
+ ['3', '۳'],
+ ['4', '۴'],
+ ['5', '۵'],
+ ['6', '۶'],
+ ['7', '۷'],
+ ['8', '۸'],
+ ['9', '۹'],
+ ['0', '۰'],
+
+ ['q', 'ض'],
+ ['w', 'ص'],
+ ['e', 'ث'],
+ ['r', 'ق'],
+ ['t', 'ف'],
+ ['y', 'غ'],
+ ['u', 'ع'],
+ ['i', 'ه'],
+ ['o', 'خ'],
+ ['p', 'ح'],
+ ['\\[', 'ج'],
+ ['\\]', 'چ'],
+
+ ['a', 'ش'],
+ ['s', 'س'],
+ ['d', 'ی'],
+ ['f', 'ب'],
+ ['g', 'ل'],
+ ['h', 'ا'],
+ ['j', 'ت'],
+ ['k', 'ن'],
+ ['l', 'م'],
+ [';', 'ک'],
+ ['\'', 'گ'],
+
+ ['z', 'ظ'],
+ ['x', 'ط'],
+ ['c', 'ز'],
+ ['v', 'ر'],
+ ['b', 'ڈ'],
+ ['n', 'د'],
+ ['m', 'پ'],
+ [',', 'و'],
+
+ ['~', '÷'],
+ ['@', '٬'],
+ ['#', '٫'],
+ ['%', '٪'],
+ ['\\^', '×'],
+ ['&', '،'],
+ ['\\(', ')'],
+ ['\\)', '('],
+ ['_', 'ـ'],
+
+ ['Q', 'ْ'],
+ ['W', 'ٌ'],
+ ['E', 'ٍ'],
+ ['R', 'ً'],
+ ['T', 'ُ'],
+ ['Y', 'ِ'],
+ ['U', 'َ'],
+ ['I', 'ّ'],
+ ['O', ']'],
+ ['P', '['],
+ ['\\{', '}'],
+ ['\\}', '{'],
+
+ ['A', 'ؤ'],
+ ['S', 'ئ'],
+ ['D', 'ي'],
+ ['F', 'إ'],
+ ['G', 'أ'],
+ ['H', 'آ'],
+ ['J', 'ٹ'],
+ ['K', '»'],
+ ['L', '«'],
+ ['"', '؛'],
+
+ ['Z', 'ێ'],
+ ['X', 'ط'],
+ ['C', 'ژ'],
+ ['V', 'ڑ'],
+ ['B', 'ۆ'],
+ ['N', 'ٔ'],
+ ['M', 'ء'],
+ ['<', '>'],
+ ['>', '<'],
+ ['\\?', '؟']
+ ]
+ };
+
+ $.ime.register( bgn_kbd );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bo/bo-ewts.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bo/bo-ewts.js
index 094b3352..ad9f1f8e 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bo/bo-ewts.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/bo/bo-ewts.js
@@ -1,284 +1,284 @@
( function ( $ ) {
- 'use strict';
-
- var boEWTS = {
- id: 'bo-ewts',
- name: 'Tibetan EWTS transliteration',
- description: 'Tibetan Extended Wylie Transliteration, based on the work of thdl.',
- date: '2014-07-09',
- URL: 'http://www.thlib.org/reference/transliteration/#!essay=/thl/ewts',
- author: 'Elie Roux <elie.roux@telecom-bretagne.eu>',
- license: 'GPLv3',
- version: '1.1',
- contextLength: 2,
- maxKeyLength: 5,
- patterns: [
- // ambiguous cases with b as prefix
- ['བྲk', 'r', 'བརྐ'],
- ['བྲg', 'r', 'བརྒ'],
- ['བྲl', 'r', 'བརླ'],
- ['བྲj', 'r', 'བརྗ'],
- ['བྲt', 'r', 'བརྟ'],
- ['བྲd', 'r', 'བརྡ'],
- ['བྲn', 'r', 'བརྣ '],
- ['བླt', 'l', 'བལྟ'],
- ['བླd', 'l', 'བལྡ'],
- // Standard Tibetan Stacks listed at <http://www.thlib.org/reference/transliteration/tibstacks.php>
- // some are handled magically and don't need to appear here.
- ['རྐy', 'k', 'རྐྱ'],
- ['རྒy', 'g', 'རྒྱ'],
- ['རྨy', 'm', 'རྨྱ'],
- ['རྒw', 'g', 'རྒྭ'],
- ['རྩw', 's', 'རྩྭ'],
- ['སྐy', 'k', 'སྐྱ'],
- ['སྒy', 'g', 'སྒྱ'],
- ['སྤy', 'p', 'སྤྱ'],
- ['སྦy', 'b', 'སྦྱ'],
- ['སྨy', 'm', 'སྨྱ'],
- ['སྐr', 'k', 'སྐྲ'],
- ['སྒr', 'g', 'སྒྲ'],
- ['སྣr', 'n', 'སྣྲ'],
- ['སྤr', 'p', 'སྤྲ'],
- ['སྦr', 'b', 'སྦྲ'],
- ['སྨr', 'm', 'སྨྲ'],
- ['གྲw', 'r', 'གྲྭ'],
- ['དྲw', 'r', 'དྲྭ'],
- ['ཕྱw', 'y', 'ཕྱྭ'],
- ['རk', 'r', 'རྐ'],
- ['རg', 'r', 'རྒ'],
- ['རj', 'r', 'རྗ'],
- ['རt', 'r', 'རྟ'],
- ['རd', 'r', 'རྡ'],
- ['རn', 'r', 'རྣ '],
- ['རb', 'r', 'རྦ'],
- ['རm', 'r', 'རྨ'],
- ['ལk', 'l', 'ལྐ'],
- ['ལg', 'l', 'ལྒ'],
- ['ལc', 'l', 'ལྕ'],
- ['ལj', 'l', 'ལྗ'],
- ['ལt', 'l', 'ལྟ'],
- ['ལd', 'l', 'ལྡ'],
- ['ལp', 'l', 'ལྤ'],
- ['ལb', 'l', 'ལྦ'],
- ['ལh', 'l', 'ལྷ'],
- ['སk', 's', 'སྐ'],
- ['སg', 's', 'སྒ'],
- ['སt', 's', 'སྟ'],
- ['སd', 's', 'སྡ'],
- ['སn', 's', 'སྣ'],
- ['སp', 's', 'སྤ'],
- ['སb', 's', 'སྦ'],
- ['སm', 's', 'སྨ'],
- ['སྟs', 't', 'སྩ'],
- ['ཀw', 'k', 'ཀྭ'],
- ['ཁw', 'h', 'ཁྭ'],
- ['གw', 'g', 'གྭ'],
- ['ཅw', 'c', 'ཅྭ'],
- ['ཉw', 'y', 'ཉྭ'],
- ['ཏw', 't', 'ཏྭ'],
- ['དw', 'd', 'དྭ'],
- ['ཙw', 's', 'ཙྭ'],
- ['ཚw', 'h', 'ཚྭ'],
- ['ཞw', 'h', 'ཞྭ'],
- ['ཟw', 'z', 'ཟྭ'],
- ['རw', 'r', 'རྭ'],
- ['ཤw', 'h', 'ཤྭ'],
- ['སw', 's', 'སྭ'],
- ['ཧw', 'h', 'ཧྭ'],
- ['ཀy', 'k', 'ཀྱ'],
- ['ཁy', 'h', 'ཁྱ'],
- ['གy', 'g', 'གྱ'],
- ['པy', 'p', 'པྱ'],
- ['ཕy', 'h', 'ཕྱ'],
- ['བy', 'b', 'བྱ'],
- ['མy', 'm', 'མྱ'],
- ['ཀr', 'k', 'ཀྲ'],
- ['ཁr', 'h', 'ཁྲ'],
- ['གr', 'g', 'གྲ'],
- ['ཏr', 't', 'ཏྲ'],
- ['ཐr', 'h', 'ཐྲ'],
- ['དr', 'd', 'དྲ'],
- ['པr', 'p', 'པྲ'],
- ['ཕr', 'h', 'ཕྲ'],
- ['བr', 'b', 'བྲ'],
- ['མr', 'm', 'མྲ'],
- ['ཤr', 'h', 'ཤྲ'],
- ['སr', 's', 'སྲ'],
- ['ཧr', 'h', 'ཧྲ'],
- ['ཀl', 'k', 'ཀླ'],
- ['གl', 'g', 'གླ'],
- ['བl', 'b', 'བླ'],
- ['ཟl', 'z', 'ཟླ'],
- ['རl', 'r', 'རླ'],
- ['སl', 's', 'སླ'],
- ['ཨོM', 'o', 'ༀ'],
- ['\\.', ''],
- ['\\+', ''],
- ['-', ''],
- ['S', ''],
- // subjoined letters:
- ['k', '\\+', 'ྐ'],
- ['g', '\\+', 'ྒ'],
- ['ྣg', 'ྔ'],
- ['c', '\\+', 'ྕ'],
- ['ྕh', 'ྖ'],
- ['j', '\\+', 'ྗ'],
- ['ྣy', 'ྙ'],
- ['T', '\\+', 'ྚ'],
- ['ྚh', 'ྛ'],
- ['D', '\\+', 'ྜ'],
- ['N', '\\+', 'ྞ'],
- ['t', '\\+', 'ྟ'],
- ['ྟh', 'ྠ'],
- ['d', '\\+', 'ྡ'],
- ['n', '\\+', 'ྣ'],
- ['p', '\\+', 'ྤ'],
- ['ྤh', 'ྥ'],
- ['b', '\\+', 'ྦ'],
- ['m', '\\+', 'ྨ'],
- ['ྟs', 'ྩ'],
- ['ྩh', 'ྪ'],
- ['ྡz', 'ྫ'],
- ['w', '\\+', 'ྭ'],
- ['ྯh', 'ྮ'],
- ['z', '\\+', 'ྯ'],
- ['\'', '\\+', 'ྰ'],
- ['y', '\\+', 'ྱ'],
- ['r', '\\+', 'ྲ'],
- ['l', '\\+', 'ླ'],
- ['ྶh', 'ྴ'],
- ['ཀh', '\\+S', 'ཀྵ'],
- ['ྐh', '\\+S', 'ྐྵ'],
- ['ྐh', 'ྑ'],
- ['h', '\\+S', 'ྵ'],
- ['s', '\\+', 'ྶ'],
- ['གh', '\\+', 'གྷ'],
- ['ཌh', '\\+', 'ཌྷ'],
- ['དh', '\\+', 'དྷ'],
- ['བh', '\\+', 'བྷ'],
- ['ཛh', '\\+', 'ཛྷ'],
- ['ྒh', '\\+', 'ྒྷ'],
- ['ྜh', '\\+', 'ྜྷ'],
- ['ྡh', '\\+', 'ྡྷ'],
- ['ྦh', '\\+', 'ྦྷ'],
- ['ྫh', '\\+', 'ྫྷ'],
- ['h', '\\+', 'ྷ'],
- ['v', '\\+', 'ྦ༹'],
- ['f', '\\+', 'ྥ༹'],
- ['W', '\\+', 'ྺ'],
- ['Y', '\\+', 'ྻ'],
- ['R', '\\+', 'ྼ'],
- ['Z', '\\+', '༹'],
- // consonants
- ['k', 'ཀ'],
- ['ཀh', 'k', 'ཁ'],
- ['g', 'ག'],
- ['ནg', 'n', 'ང'],
- ['c', 'ཅ'],
- ['ཅh', 'c', 'ཆ'],
- ['j', 'ཇ'],
- ['ནy', 'n', 'ཉ'],
- ['T', 'ཊ'],
- ['ཊh', 'T', 'ཋ'],
- ['D', 'ཌ'],
- ['N', 'ཎ'],
- ['t', 'ཏ'],
- ['ཏh', 't', 'ཐ'],
- ['d', 'ད'],
- ['n', 'ན'],
- ['p', 'པ'],
- ['པh', 'p', 'ཕ'],
- ['b', 'བ'],
- ['m', 'མ'],
- ['ཏs', 't', 'ཙ'],
- ['ཙh', 's', 'ཚ'],
- ['དz', 'd', 'ཛ'],
- ['w', 'ཝ'],
- ['ཟh', 'z', 'ཞ'],
- ['z', 'ཟ'],
- ['\'', 'འ'],
- ['y', 'ཡ'],
- ['r', 'ར'],
- ['l', 'ལ'],
- ['སh', 's', 'ཤ'],
- ['h', 'S', 'ཥ'],
- ['s', 'ས'],
- ['h', 'ཧ'],
- ['f', 'ཕ༹'],
- ['v', 'བ༹'],
- ['R', 'ཪ'],
- // vowels after consonnants or vowels
- ['([ཀ-ྼ])i', 'a', '$1ཻ'],
- ['([ཀ-ྼ])u', 'a', '$1ཽ'],
- ['ྲi', '-', 'ྲྀ'],
- ['ླi', '-', 'ླྀ'],
- ['([ཀ-ྼ])i', '-', '$1ྀ'],
- ['([ཀ-ྼ])རI', 'r-', '$1ྲཱྀ'],
- ['([ཀ-ྼ])ལI', 'l-', '$1ླཱྀ'],
- ['རI', 'r-', 'ཨྲཱྀ'],
- ['ལI', 'l-', 'ཨླཱྀ'],
- ['([ཀ-ྼ])I', '-', '$1ཱྀ'],
- ['([ཀ-ྼ])a', '$1'],
- ['([ཀ-ྼ])i', '$1ི'],
- ['([ཀ-ྼ])u', '$1ུ'],
- ['([ཀ-ྼ])e', '$1ེ'],
- ['([ཀ-ྼ])o', '$1ོ'],
- ['([ཀ-ྼ])A', '$1ཱ'],
- ['([ཀ-ྼ])I', '$1ཱི'],
- ['([ཀ-ྼ])U', '$1ཱུ'],
- // vowels after something else
- ['a', 'ཨ'],
- ['i', '-', 'ཨྀ'],
- ['A', 'ཨཱ'],
- ['I', '-', 'ཨཱྀ'],
- ['I', 'ཨཱི'],
- ['U', 'ཨཱུ'],
- ['i', 'ཨི'],
- ['u', 'ཨུ'],
- ['e', 'ཨེ'],
- ['o', 'ཨོ'],
- // numbers
- ['0', '༠'],
- ['1', '༡'],
- ['2', '༢'],
- ['3', '༣'],
- ['4', '༤'],
- ['5', '༥'],
- ['6', '༦'],
- ['7', '༧'],
- ['8', '༨'],
- ['9', '༩'],
- // sanskrit marks
- ['H', 'ཿ'],
- ['M', 'ཾ'],
- ['~M', 'ྃ'],
- ['~M`', 'ྂ'],
- ['\\?', '྄'],
- ['&', '྅'],
- // punctuation
- [' ', '་'],
- ['\\*', '༌'],
- ['\\/', '།'],
- ['\\/\\/', '༎'],
- [';', '༏'],
- ['\\|', '༑'],
- ['\\!', '༈'],
- ['\\:', '༔'],
- ['_', ' '],
- ['\\=', '༴'],
- ['@', '༄'],
- ['#', '༅'],
- ['\\$', '༆'],
- ['%', '༇'],
- ['<', '༺'],
- ['>', '༻'],
- ['\\(', '༼'],
- ['\\)', '༽'],
- ['~X', '༵'],
- ['X', '༷'],
- ['\\^', '༹']
- ]
- };
+ 'use strict';
+
+ var boEWTS = {
+ id: 'bo-ewts',
+ name: 'Tibetan EWTS transliteration',
+ description: 'Tibetan Extended Wylie Transliteration, based on the work of thdl.',
+ date: '2014-07-09',
+ URL: 'http://www.thlib.org/reference/transliteration/#!essay=/thl/ewts',
+ author: 'Elie Roux <elie.roux@telecom-bretagne.eu>',
+ license: 'GPLv3',
+ version: '1.1',
+ contextLength: 2,
+ maxKeyLength: 5,
+ patterns: [
+ // ambiguous cases with b as prefix
+ ['བྲk', 'r', 'བརྐ'],
+ ['བྲg', 'r', 'བརྒ'],
+ ['བྲl', 'r', 'བརླ'],
+ ['བྲj', 'r', 'བརྗ'],
+ ['བྲt', 'r', 'བརྟ'],
+ ['བྲd', 'r', 'བརྡ'],
+ ['བྲn', 'r', 'བརྣ '],
+ ['བླt', 'l', 'བལྟ'],
+ ['བླd', 'l', 'བལྡ'],
+ // Standard Tibetan Stacks listed at <http://www.thlib.org/reference/transliteration/tibstacks.php>
+ // some are handled magically and don't need to appear here.
+ ['རྐy', 'k', 'རྐྱ'],
+ ['རྒy', 'g', 'རྒྱ'],
+ ['རྨy', 'm', 'རྨྱ'],
+ ['རྒw', 'g', 'རྒྭ'],
+ ['རྩw', 's', 'རྩྭ'],
+ ['སྐy', 'k', 'སྐྱ'],
+ ['སྒy', 'g', 'སྒྱ'],
+ ['སྤy', 'p', 'སྤྱ'],
+ ['སྦy', 'b', 'སྦྱ'],
+ ['སྨy', 'm', 'སྨྱ'],
+ ['སྐr', 'k', 'སྐྲ'],
+ ['སྒr', 'g', 'སྒྲ'],
+ ['སྣr', 'n', 'སྣྲ'],
+ ['སྤr', 'p', 'སྤྲ'],
+ ['སྦr', 'b', 'སྦྲ'],
+ ['སྨr', 'm', 'སྨྲ'],
+ ['གྲw', 'r', 'གྲྭ'],
+ ['དྲw', 'r', 'དྲྭ'],
+ ['ཕྱw', 'y', 'ཕྱྭ'],
+ ['རk', 'r', 'རྐ'],
+ ['རg', 'r', 'རྒ'],
+ ['རj', 'r', 'རྗ'],
+ ['རt', 'r', 'རྟ'],
+ ['རd', 'r', 'རྡ'],
+ ['རn', 'r', 'རྣ '],
+ ['རb', 'r', 'རྦ'],
+ ['རm', 'r', 'རྨ'],
+ ['ལk', 'l', 'ལྐ'],
+ ['ལg', 'l', 'ལྒ'],
+ ['ལc', 'l', 'ལྕ'],
+ ['ལj', 'l', 'ལྗ'],
+ ['ལt', 'l', 'ལྟ'],
+ ['ལd', 'l', 'ལྡ'],
+ ['ལp', 'l', 'ལྤ'],
+ ['ལb', 'l', 'ལྦ'],
+ ['ལh', 'l', 'ལྷ'],
+ ['སk', 's', 'སྐ'],
+ ['སg', 's', 'སྒ'],
+ ['སt', 's', 'སྟ'],
+ ['སd', 's', 'སྡ'],
+ ['སn', 's', 'སྣ'],
+ ['སp', 's', 'སྤ'],
+ ['སb', 's', 'སྦ'],
+ ['སm', 's', 'སྨ'],
+ ['སྟs', 't', 'སྩ'],
+ ['ཀw', 'k', 'ཀྭ'],
+ ['ཁw', 'h', 'ཁྭ'],
+ ['གw', 'g', 'གྭ'],
+ ['ཅw', 'c', 'ཅྭ'],
+ ['ཉw', 'y', 'ཉྭ'],
+ ['ཏw', 't', 'ཏྭ'],
+ ['དw', 'd', 'དྭ'],
+ ['ཙw', 's', 'ཙྭ'],
+ ['ཚw', 'h', 'ཚྭ'],
+ ['ཞw', 'h', 'ཞྭ'],
+ ['ཟw', 'z', 'ཟྭ'],
+ ['རw', 'r', 'རྭ'],
+ ['ཤw', 'h', 'ཤྭ'],
+ ['སw', 's', 'སྭ'],
+ ['ཧw', 'h', 'ཧྭ'],
+ ['ཀy', 'k', 'ཀྱ'],
+ ['ཁy', 'h', 'ཁྱ'],
+ ['གy', 'g', 'གྱ'],
+ ['པy', 'p', 'པྱ'],
+ ['ཕy', 'h', 'ཕྱ'],
+ ['བy', 'b', 'བྱ'],
+ ['མy', 'm', 'མྱ'],
+ ['ཀr', 'k', 'ཀྲ'],
+ ['ཁr', 'h', 'ཁྲ'],
+ ['གr', 'g', 'གྲ'],
+ ['ཏr', 't', 'ཏྲ'],
+ ['ཐr', 'h', 'ཐྲ'],
+ ['དr', 'd', 'དྲ'],
+ ['པr', 'p', 'པྲ'],
+ ['ཕr', 'h', 'ཕྲ'],
+ ['བr', 'b', 'བྲ'],
+ ['མr', 'm', 'མྲ'],
+ ['ཤr', 'h', 'ཤྲ'],
+ ['སr', 's', 'སྲ'],
+ ['ཧr', 'h', 'ཧྲ'],
+ ['ཀl', 'k', 'ཀླ'],
+ ['གl', 'g', 'གླ'],
+ ['བl', 'b', 'བླ'],
+ ['ཟl', 'z', 'ཟླ'],
+ ['རl', 'r', 'རླ'],
+ ['སl', 's', 'སླ'],
+ ['ཨོM', 'o', 'ༀ'],
+ ['\\.', ''],
+ ['\\+', ''],
+ ['-', ''],
+ ['S', ''],
+ // subjoined letters:
+ ['k', '\\+', 'ྐ'],
+ ['g', '\\+', 'ྒ'],
+ ['ྣg', 'ྔ'],
+ ['c', '\\+', 'ྕ'],
+ ['ྕh', 'ྖ'],
+ ['j', '\\+', 'ྗ'],
+ ['ྣy', 'ྙ'],
+ ['T', '\\+', 'ྚ'],
+ ['ྚh', 'ྛ'],
+ ['D', '\\+', 'ྜ'],
+ ['N', '\\+', 'ྞ'],
+ ['t', '\\+', 'ྟ'],
+ ['ྟh', 'ྠ'],
+ ['d', '\\+', 'ྡ'],
+ ['n', '\\+', 'ྣ'],
+ ['p', '\\+', 'ྤ'],
+ ['ྤh', 'ྥ'],
+ ['b', '\\+', 'ྦ'],
+ ['m', '\\+', 'ྨ'],
+ ['ྟs', 'ྩ'],
+ ['ྩh', 'ྪ'],
+ ['ྡz', 'ྫ'],
+ ['w', '\\+', 'ྭ'],
+ ['ྯh', 'ྮ'],
+ ['z', '\\+', 'ྯ'],
+ ['\'', '\\+', 'ྰ'],
+ ['y', '\\+', 'ྱ'],
+ ['r', '\\+', 'ྲ'],
+ ['l', '\\+', 'ླ'],
+ ['ྶh', 'ྴ'],
+ ['ཀh', '\\+S', 'ཀྵ'],
+ ['ྐh', '\\+S', 'ྐྵ'],
+ ['ྐh', 'ྑ'],
+ ['h', '\\+S', 'ྵ'],
+ ['s', '\\+', 'ྶ'],
+ ['གh', '\\+', 'གྷ'],
+ ['ཌh', '\\+', 'ཌྷ'],
+ ['དh', '\\+', 'དྷ'],
+ ['བh', '\\+', 'བྷ'],
+ ['ཛh', '\\+', 'ཛྷ'],
+ ['ྒh', '\\+', 'ྒྷ'],
+ ['ྜh', '\\+', 'ྜྷ'],
+ ['ྡh', '\\+', 'ྡྷ'],
+ ['ྦh', '\\+', 'ྦྷ'],
+ ['ྫh', '\\+', 'ྫྷ'],
+ ['h', '\\+', 'ྷ'],
+ ['v', '\\+', 'ྦ༹'],
+ ['f', '\\+', 'ྥ༹'],
+ ['W', '\\+', 'ྺ'],
+ ['Y', '\\+', 'ྻ'],
+ ['R', '\\+', 'ྼ'],
+ ['Z', '\\+', '༹'],
+ // consonants
+ ['k', 'ཀ'],
+ ['ཀh', 'k', 'ཁ'],
+ ['g', 'ག'],
+ ['ནg', 'n', 'ང'],
+ ['c', 'ཅ'],
+ ['ཅh', 'c', 'ཆ'],
+ ['j', 'ཇ'],
+ ['ནy', 'n', 'ཉ'],
+ ['T', 'ཊ'],
+ ['ཊh', 'T', 'ཋ'],
+ ['D', 'ཌ'],
+ ['N', 'ཎ'],
+ ['t', 'ཏ'],
+ ['ཏh', 't', 'ཐ'],
+ ['d', 'ད'],
+ ['n', 'ན'],
+ ['p', 'པ'],
+ ['པh', 'p', 'ཕ'],
+ ['b', 'བ'],
+ ['m', 'མ'],
+ ['ཏs', 't', 'ཙ'],
+ ['ཙh', 's', 'ཚ'],
+ ['དz', 'd', 'ཛ'],
+ ['w', 'ཝ'],
+ ['ཟh', 'z', 'ཞ'],
+ ['z', 'ཟ'],
+ ['\'', 'འ'],
+ ['y', 'ཡ'],
+ ['r', 'ར'],
+ ['l', 'ལ'],
+ ['སh', 's', 'ཤ'],
+ ['h', 'S', 'ཥ'],
+ ['s', 'ས'],
+ ['h', 'ཧ'],
+ ['f', 'ཕ༹'],
+ ['v', 'བ༹'],
+ ['R', 'ཪ'],
+ // vowels after consonnants or vowels
+ ['([ཀ-ྼ])i', 'a', '$1ཻ'],
+ ['([ཀ-ྼ])u', 'a', '$1ཽ'],
+ ['ྲi', '-', 'ྲྀ'],
+ ['ླi', '-', 'ླྀ'],
+ ['([ཀ-ྼ])i', '-', '$1ྀ'],
+ ['([ཀ-ྼ])རI', 'r-', '$1ྲཱྀ'],
+ ['([ཀ-ྼ])ལI', 'l-', '$1ླཱྀ'],
+ ['རI', 'r-', 'ཨྲཱྀ'],
+ ['ལI', 'l-', 'ཨླཱྀ'],
+ ['([ཀ-ྼ])I', '-', '$1ཱྀ'],
+ ['([ཀ-ྼ])a', '$1'],
+ ['([ཀ-ྼ])i', '$1ི'],
+ ['([ཀ-ྼ])u', '$1ུ'],
+ ['([ཀ-ྼ])e', '$1ེ'],
+ ['([ཀ-ྼ])o', '$1ོ'],
+ ['([ཀ-ྼ])A', '$1ཱ'],
+ ['([ཀ-ྼ])I', '$1ཱི'],
+ ['([ཀ-ྼ])U', '$1ཱུ'],
+ // vowels after something else
+ ['a', 'ཨ'],
+ ['i', '-', 'ཨྀ'],
+ ['A', 'ཨཱ'],
+ ['I', '-', 'ཨཱྀ'],
+ ['I', 'ཨཱི'],
+ ['U', 'ཨཱུ'],
+ ['i', 'ཨི'],
+ ['u', 'ཨུ'],
+ ['e', 'ཨེ'],
+ ['o', 'ཨོ'],
+ // numbers
+ ['0', '༠'],
+ ['1', '༡'],
+ ['2', '༢'],
+ ['3', '༣'],
+ ['4', '༤'],
+ ['5', '༥'],
+ ['6', '༦'],
+ ['7', '༧'],
+ ['8', '༨'],
+ ['9', '༩'],
+ // Sanskrit marks
+ ['H', 'ཿ'],
+ ['M', 'ཾ'],
+ ['~M', 'ྃ'],
+ ['~M`', 'ྂ'],
+ ['\\?', '྄'],
+ ['&', '྅'],
+ // punctuation
+ [' ', '་'],
+ ['\\*', '༌'],
+ ['\\/', '།'],
+ ['\\/\\/', '༎'],
+ [';', '༏'],
+ ['\\|', '༑'],
+ ['\\!', '༈'],
+ ['\\:', '༔'],
+ ['_', ' '],
+ ['\\=', '༴'],
+ ['@', '༄'],
+ ['#', '༅'],
+ ['\\$', '༆'],
+ ['%', '༇'],
+ ['<', '༺'],
+ ['>', '༻'],
+ ['\\(', '༼'],
+ ['\\)', '༽'],
+ ['~X', '༵'],
+ ['X', '༷'],
+ ['\\^', '༹']
+ ]
+ };
$.ime.register( boEWTS );
}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/lrc/lrc-kbd.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/lrc/lrc-kbd.js
new file mode 100644
index 00000000..5f8999af
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/lrc/lrc-kbd.js
@@ -0,0 +1,108 @@
+( function ( $ ) {
+ 'use strict';
+
+ var lrc_kbd = {
+ id: 'lrc-kbd',
+ name: 'لۊری شومالی',
+ description: 'Northern Luri Keyboard Layout',
+ date: '2015-05-11',
+ URL: 'http://github.com/wikimedia/jquery.ime',
+ author: 'Mjbmr',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+ ['`', '\u200c'],
+ ['1', '۱'],
+ ['2', '۲'],
+ ['3', '۳'],
+ ['4', '۴'],
+ ['5', '۵'],
+ ['6', '۶'],
+ ['7', '۷'],
+ ['8', '۸'],
+ ['9', '۹'],
+ ['0', '۰'],
+
+ ['q', 'ض'],
+ ['w', 'ص'],
+ ['e', 'ث'],
+ ['r', 'ق'],
+ ['t', 'ف'],
+ ['y', 'غ'],
+ ['u', 'ع'],
+ ['i', 'ھ'],
+ ['o', 'خ'],
+ ['p', 'ح'],
+ ['\\[', 'ج'],
+ ['\\]', 'چ'],
+
+ ['a', 'ش'],
+ ['s', 'س'],
+ ['d', 'ی'],
+ ['f', 'ب'],
+ ['g', 'ل'],
+ ['h', 'ا'],
+ ['j', 'ت'],
+ ['k', 'ن'],
+ ['l', 'م'],
+ [';', 'ک'],
+ ['\'', 'گ'],
+
+ ['z', 'ظ'],
+ ['x', 'ط'],
+ ['c', 'ز'],
+ ['v', 'ر'],
+ ['b', 'ذ'],
+ ['n', 'د'],
+ ['m', 'پ'],
+ [',', 'ڤ'],
+
+ ['~', '÷'],
+ ['@', '٬'],
+ ['#', '٫'],
+ ['%', '٪'],
+ ['\\^', '×'],
+ ['&', '،'],
+ ['\\(', ')'],
+ ['\\)', '('],
+ ['_', 'ـ'],
+
+ ['Q', 'ۊ'],
+ ['W', 'ۉ'],
+ ['E', 'وٙ'],
+ ['R', 'ً'],
+ ['T', 'و'],
+ ['Y', 'أ'],
+ ['U', 'ە'],
+ ['I', 'ؤ'],
+ ['O', ']'],
+ ['P', '['],
+ ['\\{', '}'],
+ ['\\}', '{'],
+
+ ['A', 'اٛ'],
+ ['S', 'ئ'],
+ ['D', 'ئو'],
+ ['F', 'ئی'],
+ ['G', 'لٛ'],
+ ['H', 'آ'],
+ ['J', 'او'],
+ ['K', '»'],
+ ['L', '«'],
+ ['"', '؛'],
+
+ ['Z', 'نٛ'],
+ ['X', 'گٛ'],
+ ['C', 'ژ'],
+ ['V', 'ؽ'],
+ ['B', 'دٙ'],
+ ['N', 'ٔ'],
+ ['M', 'ء'],
+ ['<', '>'],
+ ['>', '<'],
+ ['\\?', '؟']
+ ]
+ };
+
+ $.ime.register( lrc_kbd );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/sdh/sdh-kbd.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/sdh/sdh-kbd.js
new file mode 100644
index 00000000..e1b7c2f1
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/sdh/sdh-kbd.js
@@ -0,0 +1,108 @@
+( function ( $ ) {
+ 'use strict';
+
+ var sdh_kbd = {
+ id: 'sdh-kbd',
+ name: 'کوردی خوارگ',
+ description: 'Southern Kurdish Keyboard Layout',
+ date: '2015-05-03',
+ URL: 'http://github.com/wikimedia/jquery.ime',
+ author: 'Mjbmr',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+ ['`', '\u200c'],
+ ['1', '١'],
+ ['2', '٢'],
+ ['3', '٣'],
+ ['4', '٤'],
+ ['5', '٥'],
+ ['6', '٦'],
+ ['7', '٧'],
+ ['8', '٨'],
+ ['9', '٩'],
+ ['0', '٠'],
+
+ ['q', 'ض'],
+ ['w', 'ص'],
+ ['e', 'ث'],
+ ['r', 'ق'],
+ ['t', 'ف'],
+ ['y', 'غ'],
+ ['u', 'ع'],
+ ['i', 'ھ'],
+ ['o', 'خ'],
+ ['p', 'ح'],
+ ['\\[', 'ج'],
+ ['\\]', 'چ'],
+
+ ['a', 'ش'],
+ ['s', 'س'],
+ ['d', 'ی'],
+ ['f', 'ب'],
+ ['g', 'ل'],
+ ['h', 'ا'],
+ ['j', 'ت'],
+ ['k', 'ن'],
+ ['l', 'م'],
+ [';', 'ک'],
+ ['\'', 'گ'],
+
+ ['z', 'ظ'],
+ ['x', 'ط'],
+ ['c', 'ز'],
+ ['v', 'ر'],
+ ['b', 'ذ'],
+ ['n', 'د'],
+ ['m', 'پ'],
+ [',', 'و'],
+
+ ['~', '÷'],
+ ['@', '٬'],
+ ['#', '٫'],
+ ['%', '٪'],
+ ['\\^', '×'],
+ ['&', '،'],
+ ['\\(', ')'],
+ ['\\)', '('],
+ ['_', 'ـ'],
+
+ ['Q', 'ْ'],
+ ['W', 'وو'],
+ ['E', 'ڤ'],
+ ['R', 'ً'],
+ ['T', 'ۊ'],
+ ['Y', 'ئ'],
+ ['U', 'ە'],
+ ['I', 'ّ'],
+ ['O', ']'],
+ ['P', '['],
+ ['\\{', '}'],
+ ['\\}', '{'],
+
+ ['A', 'ؤ'],
+ ['S', 'ئ'],
+ ['D', 'ێ'],
+ ['F', 'إ'],
+ ['G', 'أ'],
+ ['H', 'آ'],
+ ['J', 'ة'],
+ ['K', '»'],
+ ['L', '«'],
+ ['"', '؛'],
+
+ ['Z', 'ۆ'],
+ ['X', 'ط'],
+ ['C', 'ژ'],
+ ['V', 'ڕ'],
+ ['B', 'ڵ'],
+ ['N', 'ٔ'],
+ ['M', 'ء'],
+ ['<', '>'],
+ ['>', '<'],
+ ['\\?', '؟']
+ ]
+ };
+
+ $.ime.register( sdh_kbd );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-apple.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-apple.js
new file mode 100644
index 00000000..eca65087
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-apple.js
@@ -0,0 +1,159 @@
+( function ( $ ) {
+ 'use strict';
+
+ var teApple = {
+ id: 'te-apple',
+ name: 'ఆపిల్',
+ description: 'Apple keyboard layout for Telugu',
+ date: '2014-12-27',
+ author: 'Praveen Illa',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+
+ ['1', '1'],
+ ['2', '2'],
+ ['3', '3'],
+ ['4', '4'],
+ ['5', '5'],
+ ['6', '6'],
+ ['7', '7'],
+ ['8', '8'],
+ ['\\(', '('],
+ ['9', '9'],
+ ['\\)', ')'],
+ ['0', '0'],
+ ['\\_', '÷'],
+ ['\\-', '×'],
+ ['\\+', '+'],
+ ['\\=', '='],
+
+ ['\\!', '!'],
+ ['\\@', '\''],
+ ['\\#', '%'],
+ ['\\$', '్పు'],
+ ['\\%', '్ర'],
+ ['\\^', '-'],
+ ['\\&', '|'],
+ ['\\*', '`'],
+
+ ['([క-హ])e', '$1ా'],
+ ['([క-హ])E', '$1ౄ'],
+ ['([క-హ])r', '$1ి'],
+ ['([క-హ])w', '$1ీ'],
+ ['([క-హ])W', '$1ృ'],
+ ['([క-హ])t', '$1ొ'],
+ ['([క-హ])y', '$1ో'],
+ ['([క-హ])u', '$1ె'],
+ ['([క-హ])i', '$1ు'],
+ ['([క-హ])o', '$1ే'],
+ ['([క-హ])p', '$1ూ'],
+ ['([క-హ])\\[', '$1ై'],
+ ['([క-హ])\\]', '$1ౌ'],
+
+ ['Q', 'క్ష్మి'],
+ ['q', 'అ'],
+ ['W', 'ఋ'],
+ ['w', 'ఈ'],
+ ['E', 'ౠ'],
+ ['e', 'ఆ'],
+ ['R', 'ఙ'],
+ ['r', 'ఇ'],
+ ['T', 'ఞ'],
+ ['t', 'ఒ'],
+ ['Y', 'క్ష'],
+ ['y', 'ఓ'],
+ ['U', 'శ్రీ'],
+ ['u', 'ఎ'],
+ ['I', '/'],
+ ['i', 'ఉ'],
+ ['O', 'స్త్ర'],
+ ['o', 'ఏ'],
+ ['P', 'ష్ట్ర'],
+ ['p', 'ఊ'],
+ ['\\{', 'క్ష్మ'],
+ ['\\[', 'ఐ'],
+ ['\\}', '!'],
+ ['\\]', 'ఔ'],
+ ['\\|', 'ఁ'],
+ ['\\\\', 'ః'],
+ ['A', 'ళ'],
+ ['a', 'ల'],
+ ['S', 'థ'],
+ ['s', 'త'],
+ ['D', 'ధ'],
+ ['d', 'ద'],
+ ['F', 'శ'],
+ ['f', 'వ'],
+ ['G', ':'],
+ ['g', 'ం'],
+ ['H', '్'],
+ ['h', '్'],
+ ['J', 'ఖ'],
+ ['j', 'క'],
+ ['K', 'ఱ'],
+ ['k', 'ర'],
+ ['L', 'ణ'],
+ ['l', 'న'],
+ [':', 'ఫ'],
+ [';', 'ప'],
+ ['"', 'ష'],
+ ['\\\'', 'స'],
+ ['\\~', '~'],
+ ['\\`', '`'],
+ ['Z', 'ఠ'],
+ ['z', 'ట'],
+ ['X', 'ఘ'],
+ ['x', 'గ'],
+ ['C', 'ఢ'],
+ ['c', 'డ'],
+ ['V', 'భ'],
+ ['v', 'బ'],
+ ['B', 'హ'],
+ ['b', 'మ'],
+ ['N', 'క్ష్మీ'],
+ ['n', 'య'],
+ ['M', 'ఛ'],
+ ['m', 'చ'],
+ ['\\<', ';'],
+ [',', ','],
+ ['\\>', '?'],
+ ['\\.', '.'],
+ ['/', 'జ'],
+ ['\\?', 'ఝ']
+
+ ],
+ patterns_x: [
+
+ /*
+ * Some characters originally not there
+ * in original layout but for accessibility
+ * kept these based on inscript.
+ */
+
+ ['\\!', '౹'],
+ ['\\@', '౼'],
+ ['\\#', '౺'],
+ ['\\$', '౽'],
+ ['4', '₹'],
+ ['\\%', '౻'],
+ ['\\^', '౾'],
+ ['1', '\u200d'],
+ ['2', '\u200c'],
+ ['0', '౸'],
+ ['\\-', '౿'],
+ ['R', 'ౣ'],
+ ['r', 'ౡ'],
+ ['p', 'ౙ'],
+ ['F', 'ఌ'],
+ ['f', 'ౢ'],
+ [';', 'ౘ'],
+ ['Z', 'ౖ'],
+ ['z', 'ౕ'],
+ ['\\>', 'ఽ'],
+ ['\\.', '॥']
+ ]
+ };
+
+ $.ime.register( teApple );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-modular.js b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-modular.js
new file mode 100644
index 00000000..f0c358b9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.ime/rules/te/te-modular.js
@@ -0,0 +1,179 @@
+( function ( $ ) {
+ 'use strict';
+
+ var teModular = {
+ id: 'te-modular',
+ name: 'మాడ్యులర్',
+ description: 'Modular keyboard layout for Telugu',
+ date: '2014-12-31',
+ author: 'Praveen Illa',
+ license: 'GPLv3',
+ version: '1.0',
+ patterns: [
+
+ // numbers
+
+ ['\\`', 'ే'],
+ ['1', '1'],
+ ['2', '2'],
+ ['3', '3'],
+ ['4', '4'],
+ ['5', '5'],
+ ['6', '6'],
+ ['7', '7'],
+ ['8', '8'],
+ ['9', '9'],
+ ['0', '0'],
+ ['\\-', '-'],
+ ['\\=', '='],
+
+ // shift num
+
+ ['\\~', 'ఏ'],
+ ['\\!', '!'],
+ ['\\@', '\''],
+ ['\\#', '\''],
+ ['\\$', 'ఊ'],
+ ['\\%', '%'],
+ ['\\^', 'క్ష'],
+ ['\\&', 'ౄ'],
+ ['\\*', '్ర'],
+ ['\\(', '('],
+ ['\\)', ')'],
+ ['\\_', 'ఙ'],
+ ['\\+', '+'],
+
+ // qwerty order
+ // 1st row
+
+ ['Q', 'అ'],
+ ['q', 'ష'],
+ ['W', 'ఘ'],
+ ['w', 'గ'],
+ ['E', 'ఖ'],
+ ['e', 'క'],
+ ['R', 'ఠ'],
+ ['r', 'ట'],
+ ['T', 'ఢ'],
+ ['t', 'డ'],
+ ['Y', 'ఫ'],
+ ['y', 'ప'],
+ ['U', 'బ'],
+ ['u', 'మ'],
+ ['I', 'ళ'],
+ ['i', 'ల'],
+ ['O', 'శ'],
+ ['o', 'వ'],
+ ['P', 'ఒ'],
+ ['p', 'ొ'],
+ ['\\{', 'ఓ'],
+ ['\\[', 'ో'],
+ ['\\}', 'ఞ'],
+ ['\\]', 'ూ'],
+ ['\\|', 'శ్రీ'],
+ ['\\\\', '్ర'],
+
+ // 2nd row
+ ['A', 'ఆ'],
+ ['a', 'ా'],
+ ['S', 'ఇ'],
+ ['s', 'ి'],
+ ['D', '్'],
+ ['d', '్'],
+ ['F', 'ణ'],
+ ['f', 'య'],
+ ['G', 'థ'],
+ ['g', 'త'],
+ ['H', 'ధ'],
+ ['h', 'ద'],
+ ['J', 'భ'],
+ ['j', 'న'],
+ ['K', 'ఱ'],
+ ['k', 'ర'],
+ ['L', 'హ'],
+ ['l', 'స'],
+ [':', ':'],
+ [';', ';'],
+ ['"', 'ఔ'],
+ ['\\\'', 'ౌ'],
+
+ // 3rd row
+
+ ['Z', 'ఋ'],
+ ['z', 'ృ'],
+ ['X', 'ఝ'],
+ ['x', 'జ'],
+ ['C', 'ఛ'],
+ ['c', 'చ'],
+ ['V', 'ఈ'],
+ ['v', 'ీ'],
+ ['B', 'ఎ'],
+ ['b', 'ె'],
+ ['N', 'ఉ'],
+ ['n', 'ు'],
+ ['M', 'ఐ'],
+ ['m', 'ై'],
+ ['\\<', 'ం'],
+ [',', ','],
+ ['\\>', 'ః'],
+ ['\\.', '.'],
+ ['\\?', '?'],
+ ['\\/', '/']
+
+ ],
+ patterns_x: [
+
+ /*
+ * Some characters originally not there
+ * in original layout but for accessibility
+ * kept these based on inscript.
+ */
+
+ ['\\!', '౹'],
+ ['\\@', '౼'],
+ ['\\#', '౺'],
+ ['\\$', '౽'],
+ ['4', '₹'],
+ ['\\%', '౻'],
+ ['\\^', '౾'],
+ ['1', '\u200d'],
+ ['2', '\u200c'],
+ ['0', '౸'],
+ ['\\-', '౿'],
+ ['R', 'ౣ'],
+ ['r', 'ౡ'],
+ ['p', 'ౙ'],
+ ['F', 'ఌ'],
+ ['f', 'ౢ'],
+ [';', 'ౘ'],
+
+ ['\\>', 'ఽ'],
+ ['\\.', '॥'],
+
+ ['\\_', 'ఁ'],
+ ['=', 'ః'],
+
+ ['q', 'ష్ట్ర'],
+ ['w', '÷'],
+ ['e', 'క్ష్మ'],
+ ['y', '్పు'],
+ ['i', 'క్ష్మి'],
+ ['\\[', 'క్ష్మీ'],
+ ['\\]', '×'],
+
+ ['g', 'ఁ'],
+ ['k', '్ర'],
+ ['l', 'స్త్ర'],
+ ['\\\'', '్పు'],
+
+ ['z', 'ౠ'],
+ ['c', 'ఁ'],
+ ['v', '|'],
+ ['n', '-'],
+ ['/', '÷']
+
+ ]
+ };
+
+ $.ime.register( teModular );
+}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/aeb-latn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/aeb-latn.json
new file mode 100644
index 00000000..f4d25045
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/aeb-latn.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Csisc"
+ ]
+ },
+ "uls-select-language": "Exţār lūğa",
+ "uls-region-WW": "Ģālemīye",
+ "uls-region-SP": "Spēsyāl",
+ "uls-region-AM": "Emerīke",
+ "uls-region-AF": "Ifrīqye",
+ "uls-region-EU": "Ūrūppe",
+ "uls-region-AS": "Ēsye",
+ "uls-region-ME": "Ic-carq il-awsaţ",
+ "uls-region-PA": "Il-Mūḩīţ il-hēdī",
+ "uls-no-results-found": "Mē fammēc ḩattā rēzülta",
+ "uls-common-languages": "Lūğāt muntacra",
+ "uls-no-results-suggestion-title": "Tnejjim tkūn muhtam b-:",
+ "uls-search-help": "Tnejjim tlawwij ḩasb ism il-lūğa, ism il-kod, il-kod ISO mtēģ il-lūğa w illē ḩasb ij-jīhe",
+ "uls-search-placeholder": "Lawwij ģlā il-lūğa"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/as.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/as.json
index 4d7a2d40..6e52dec5 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/as.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/as.json
@@ -1,11 +1,13 @@
{
"@metadata": {
"authors": [
- "Nilamdyuti"
+ "Nilamdyuti",
+ "Dibya Dutta"
]
},
"uls-select-language": "ভাষা নির্বাচন:",
"uls-region-WW": "বিশ্বব্যাপী",
+ "uls-region-SP": "বিশেষ",
"uls-region-AM": "আমেৰিকা",
"uls-region-AF": "আফ্ৰিকা",
"uls-region-EU": "ইউৰোপ",
@@ -15,6 +17,6 @@
"uls-no-results-found": "কোনো ফলাফল পোৱা নগ'ল",
"uls-common-languages": "সাধাৰণ ভাষাসমূহ",
"uls-no-results-suggestion-title": "আপুনি আগ্ৰহী হ'ব পাৰে:",
- "uls-search-help": "আপুনি ভাষাৰ নাম, স্ক্ৰিপ্টৰ নাম, ভাষাৰ ISO ক'ড সাপেক্ষে সন্ধান কৰিব পাৰে অথবা অঞ্চল সাপেক্ষে ব্ৰাউছ কৰিব পাৰে।",
+ "uls-search-help": "আপুনি ভাষাৰ নাম, স্ক্ৰিপ্টৰ নাম, ভাষাৰ নাম, ISO ক'ড সাপেক্ষে সন্ধান কৰিব পাৰে অথবা অঞ্চল সাপেক্ষে ব্ৰাউজ কৰিব পাৰে।",
"uls-search-placeholder": "ভাষা সন্ধান"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ast.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ast.json
index 112df721..3fb11a44 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ast.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ast.json
@@ -14,8 +14,8 @@
"uls-region-ME": "Oriente mediu",
"uls-region-PA": "Pacíficu",
"uls-no-results-found": "Nun s'alcontraron resultaos",
- "uls-common-languages": "Llingües comúnes",
+ "uls-common-languages": "Llingües comunes",
"uls-no-results-suggestion-title": "Seique t'interese:",
- "uls-search-help": "Pues buscar pol nome de la llingua, nome del alfabetu, códigu ISO de la llingua o ver un área xeográfica:",
+ "uls-search-help": "Pues buscar pol nome de la llingua, nome del alfabetu, códigu ISO de la llingua o ver un área xeográfica.",
"uls-search-placeholder": "Guetar llingua"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bcl.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bcl.json
new file mode 100644
index 00000000..4041acab
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bcl.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Geopoet"
+ ]
+ },
+ "uls-select-language": "Pumili nin lengguwahe",
+ "uls-region-WW": "Pankinaban",
+ "uls-region-SP": "Espesyal",
+ "uls-region-AM": "Amerika",
+ "uls-region-AF": "Aprika",
+ "uls-region-EU": "Europa",
+ "uls-region-AS": "Asya",
+ "uls-region-ME": "Katahawang Sirangan",
+ "uls-region-PA": "Pasipiko",
+ "uls-no-results-found": "Mayong mga resultang nanumpungan",
+ "uls-common-languages": "Komun na mga lengguwahe",
+ "uls-no-results-suggestion-title": "Ika gayod interesado sa:",
+ "uls-search-help": "Ika makakahanap sa pangaran nin lengguwahe, pangaran nin eskrip, ISO kodigo nin lengguwahe o kaya ika makakabuklat sa paagi nin rehiyon.",
+ "uls-search-placeholder": "Paghahanap nin Lengguwahe"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bs.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bs.json
index 7394218f..dcc90b46 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bs.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/bs.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"DzWiki",
- "Edinwiki"
+ "Edinwiki",
+ "Srdjan m"
]
},
"uls-select-language": "Izaberite jezik",
@@ -17,6 +18,6 @@
"uls-no-results-found": "Nema pronađenih rezultata",
"uls-common-languages": "Prijedlozi za jezik",
"uls-no-results-suggestion-title": "Možda vas interesuje:",
- "uls-search-help": "Možete da tražite po imenu jezika ili pisma, po ISO kodu jezika ili po regionu:",
+ "uls-search-help": "Možete da tražite po imenu jezika ili pisma, po ISO kodu jezika ili po regionu.",
"uls-search-placeholder": "Pretraga jezika"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ckb.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ckb.json
index 379817fe..91148f3b 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ckb.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ckb.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Calak"
+ "Calak",
+ "Asoxor"
]
},
"uls-select-language": "زمان ھەڵبژێرە",
@@ -15,7 +16,7 @@
"uls-region-PA": "ئۆقیانووسی ئارام",
"uls-no-results-found": "ھیچ ئاکامێک نەدۆزرایەوە",
"uls-common-languages": "زمانە ھاوبەشەکان",
- "uls-no-results-suggestion-title": "ڕەنگە خۆشیت بێ لە:",
- "uls-search-help": "دەتوانی بە پێی زمان، ناوی سکریپت، کۆدی ئای ئێس ئۆی زمان یان بە پێی ھەرێم بگەڕێی:",
+ "uls-no-results-suggestion-title": "ڕەنگە ئەمانەت پێ خۆش بێت:",
+ "uls-search-help": "دەتوانیت بە پێی ناوی زمان، جۆری ئەلفوبێ، کۆدی ISOی زمان یان بە پێی ناوچە بگەڕێی.",
"uls-search-placeholder": "گەڕانی زمان"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/dty.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/dty.json
new file mode 100644
index 00000000..e47dbfc1
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/dty.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "रमेश सिंह बोहरा"
+ ]
+ },
+ "uls-select-language": "भाषा छाट",
+ "uls-region-WW": "विश्वभर",
+ "uls-region-SP": "खास",
+ "uls-region-AM": "अमेरिका",
+ "uls-region-AF": "अफ्रिका",
+ "uls-region-EU": "युरोप",
+ "uls-region-AS": "एसिया",
+ "uls-region-ME": "मध्य पूर्व",
+ "uls-region-PA": "प्रशान्त",
+ "uls-no-results-found": "कोइ पन नतिजाहरू नाइभेटिया",
+ "uls-common-languages": "साझो भाषा",
+ "uls-no-results-suggestion-title": "तमलाई यैमी मन लाग्गसकन्छ:",
+ "uls-search-placeholder": "भाषा खोज अर"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/eo.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/eo.json
index 9d57b777..d872eb01 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/eo.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/eo.json
@@ -17,6 +17,6 @@
"uls-no-results-found": "Neniu rezulto estis trovita",
"uls-common-languages": "Komunaj lingvoj",
"uls-no-results-suggestion-title": "Vi eble interesiĝas pri:",
- "uls-search-help": "Vi povas serĉi laŭ la lingvonomo, la skriptnomo aŭ la lingva ISO-kodo, aŭ vi povas abeli laŭ regiono:",
+ "uls-search-help": "Vi povas serĉi laŭ la lingvonomo, la skriptnomo aŭ la lingva ISO-kodo, aŭ vi povas foliumi laŭ regiono.",
"uls-search-placeholder": "Lingvoserĉo"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/es.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/es.json
index ce993811..e8b54dbf 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/es.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/es.json
@@ -6,7 +6,8 @@
"McDutchie",
"Pginer",
"Santhosh.thottingal",
- "Vivaelcelta"
+ "Vivaelcelta",
+ "Macofe"
]
},
"uls-select-language": "Seleccione el idioma",
@@ -21,6 +22,6 @@
"uls-no-results-found": "No se encontraron resultados",
"uls-common-languages": "Idiomas comunes",
"uls-no-results-suggestion-title": "Puedes estar interesado en:",
- "uls-search-help": "Puedes buscar por el nombre del idioma, su tipo de escritura, el código ISO del idioma o su área geográfica:",
+ "uls-search-help": "Puedes buscar por el nombre del idioma, su tipo de escritura, el código ISO del idioma o buscar por región.",
"uls-search-placeholder": "Buscar un idioma"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/et.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/et.json
index 5d00580c..06d88c1f 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/et.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/et.json
@@ -16,6 +16,6 @@
"uls-no-results-found": "Tulemusi ei leitud.",
"uls-common-languages": "Eelistatavad keeled",
"uls-no-results-suggestion-title": "Võid eelistada neid:",
- "uls-search-help": "Saad otsida keeli keelenimetuse, kirjanimetuse või keele ISO-koodi järgi või sirvida keeli piirkonna järgi:",
+ "uls-search-help": "Saad otsida keeli keelenimetuse, kirjanimetuse või keele ISO-koodi järgi või sirvida keeli piirkonna järgi.",
"uls-search-placeholder": "Keeleotsing"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gd.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gd.json
new file mode 100644
index 00000000..42960ff7
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gd.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "GunChleoc"
+ ]
+ },
+ "uls-select-language": "Tagh cànan",
+ "uls-region-WW": "Mòr-chànan",
+ "uls-region-SP": "Sònraichte",
+ "uls-region-AM": "Aimeireaga",
+ "uls-region-AF": "Afraga",
+ "uls-region-EU": "An Roinn-Eòrpa",
+ "uls-region-AS": "Àisia",
+ "uls-region-ME": "An Ear-mheadhan",
+ "uls-region-PA": "An Cuan Sèimh",
+ "uls-no-results-found": "Cha deach toradh a lorg",
+ "uls-common-languages": "Cànanan cumanta",
+ "uls-no-results-suggestion-title": "'S dòcha gum bu mhiann leat:",
+ "uls-search-help": "'S urrainn dhut lorg le ainm a' chànain, ainm an sgriobt, còd ISO a' chànain no brabhsadh a-rèir roinn-dùthcha.",
+ "uls-search-placeholder": "Lorg cànan"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gn.json
index e40b98e7..53b55599 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gn.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gn.json
@@ -1,12 +1,13 @@
{
"@metadata": {
"authors": [
- "P. S. F. Freitas"
+ "P. S. F. Freitas",
+ "Fitoschido"
]
},
- "uls-select-language": "Eiporavo ñe'ẽ",
+ "uls-select-language": "Eiporavo ñe’ẽ",
"uls-region-WW": "Yvóra",
- "uls-region-SP": "Mba'echĩchĩ",
+ "uls-region-SP": "Mba’echĩchĩ",
"uls-region-AM": "Amérika",
"uls-region-AF": "Afrika",
"uls-region-EU": "Europa",
@@ -14,8 +15,8 @@
"uls-region-ME": "Mbyte Kuarahyresẽ",
"uls-region-PA": "Paraguasu Py'aguapy",
"uls-no-results-found": "Ndojuhu mba'e",
- "uls-common-languages": "Ñe'ẽ jeipuruveva",
+ "uls-common-languages": "Ñe’ẽ jeipuruveva",
"uls-no-results-suggestion-title": "Nde ikatu reipotaː",
- "uls-search-help": "Nde ikatu reheka ñe'ẽ héra, tai ysaja, ISO ñe'ẽ héra térã ñe'ẽ renda:",
- "uls-search-placeholder": "Ñe'ẽ heka"
+ "uls-search-help": "Nde ikatu reheka ñe’ẽ héra, tai ysaja, ISO ñe’ẽ héra térã ñe’ẽ renda.",
+ "uls-search-placeholder": "Ñe’ẽ heka"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-deva.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-deva.json
new file mode 100644
index 00000000..6ae4b662
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-deva.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Santhosh.thottingal",
+ "The Discoverer",
+ "Vaishali Parab"
+ ]
+ },
+ "uls-region-AM": "अमेरिका",
+ "uls-region-AF": "अफ़्रीका",
+ "uls-region-EU": "यूरोप",
+ "uls-region-AS": "एशिया",
+ "uls-region-ME": "मदलें उदेंत",
+ "uls-region-PA": "पॅसिफीक",
+ "uls-no-results-found": "परिणाम मेळूंक ना",
+ "uls-common-languages": "सामान्य भासो",
+ "uls-no-results-suggestion-title": "Tuka avdot:",
+ "uls-search-help": "तुज्यान भाशेचें नांव, लिपीचें नांव, भाशेचो ISO‍‌‍‌ कोड वा जाग्यावरवीं सोदूंक जाता.",
+ "uls-search-placeholder": "भास सोदात"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-latn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-latn.json
new file mode 100644
index 00000000..a6fa7048
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/gom-latn.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "The Discoverer"
+ ]
+ },
+ "uls-select-language": "Bhas vinchun kad",
+ "uls-region-WW": "Akhea sonvsarant",
+ "uls-region-SP": "Khashelem",
+ "uls-region-AM": "Amerika",
+ "uls-region-AF": "Afrika",
+ "uls-region-EU": "Erop",
+ "uls-region-AS": "Asia",
+ "uls-region-ME": "Modlem Udent",
+ "uls-region-PA": "Pacifik",
+ "uls-no-results-found": "Porinam mellunk nam",
+ "uls-common-languages": "Khup uzar kelele bhaso",
+ "uls-no-results-suggestion-title": "Tuka avdot:",
+ "uls-search-help": "Tujean bhase, lipie, bhaseche ISO code vo zagea vorvim sodunk zata.",
+ "uls-search-placeholder": "Bhas sod"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hr.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hr.json
new file mode 100644
index 00000000..93bc5251
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hr.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "MaGa",
+ "Teoo3"
+ ]
+ },
+ "uls-select-language": "Odaberite jezik",
+ "uls-region-WW": "Svjetski jezici",
+ "uls-region-SP": "Posebno",
+ "uls-region-AM": "Amerika",
+ "uls-region-AF": "Afrika",
+ "uls-region-EU": "Europa",
+ "uls-region-AS": "Azija",
+ "uls-region-ME": "Bliski istok",
+ "uls-region-PA": "Pacifik",
+ "uls-no-results-found": "Nema rezultata",
+ "uls-common-languages": "Najčešći jezici",
+ "uls-no-results-suggestion-title": "Možda ste zainteresirani za:",
+ "uls-search-help": "Možete tražiti prema nazivu jezika, pisma, ISO kôdu jezika ili možete pretražiti po regiji.",
+ "uls-search-placeholder": "Pretraga jezika"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hsb.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hsb.json
index 7160e7ea..d4ef39bc 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hsb.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/hsb.json
@@ -16,6 +16,6 @@
"uls-no-results-found": "Žane wuslědki namakane",
"uls-common-languages": "Powšitkowne rěče",
"uls-no-results-suggestion-title": "To móhło će zajimować:",
- "uls-search-help": "Móžeš po mjenje rěče, mjenje pisma, ISO-kodźe rěče pytać abo móžeš po regionje pytać:",
+ "uls-search-help": "Móžeš po mjenje rěče, mjenje pisma, ISO-kodźe rěče pytać abo pytanje přez region přewjesć.",
"uls-search-placeholder": "Rěčne pytanje"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/is.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/is.json
index 4982d8bb..b6f81a84 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/is.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/is.json
@@ -15,6 +15,7 @@
"uls-region-PA": "Kyrrahaf",
"uls-no-results-found": "Ekkert fannst",
"uls-common-languages": "Algeng tungumál",
- "uls-search-help": "Þú getur leitað eftir nafni tungumáls, nafni skriftunar, ISO kóða tungumálsins eða þú getur leitað eftir svæði:",
+ "uls-no-results-suggestion-title": "Þú gætir haft áhuga á:",
+ "uls-search-help": "Þú getur leitað eftir nafni tungumáls, nafni skriftunar, ISO kóða tungumálsins eða þú getur leitað eftir svæði.",
"uls-search-placeholder": "Tungumála leit"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ka.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ka.json
index 45899c5e..ea6fc945 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ka.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ka.json
@@ -16,6 +16,6 @@
"uls-no-results-found": "შედეგი ვერ მოიძებნა",
"uls-common-languages": "საერთო ენები",
"uls-no-results-suggestion-title": "იქნებ თქვენ ამ ენებმა დაგაინტერესოთ:",
- "uls-search-help": "ძიება შესაძლებელია ენის სახელით ან დამწერლობით, ენის ISO-კოდით ან რეგიონის მიხედვით:",
+ "uls-search-help": "ძიება შესაძლებელია ენის სახელით ან დამწერლობით, ენის ISO-კოდით ან რეგიონის მიხედვით.",
"uls-search-placeholder": "ენის მოძებნა"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/kk-cyrl.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/kk-cyrl.json
index fa0ebf9d..c84ecb32 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/kk-cyrl.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/kk-cyrl.json
@@ -16,6 +16,6 @@
"uls-no-results-found": "Ешбір нәтиже табылмады",
"uls-common-languages": "Ортақ тілдер",
"uls-no-results-suggestion-title": "Сіз қызықтауыңыз мүмкін:",
- "uls-search-help": "Тіл атауы бойынша, скрипт аты, тілдің ISO коды бойынша ізей аласыз немесе аумағы бойынша шола аласыз:",
+ "uls-search-help": "Тіл атауы бойынша, скрипт аты, тілдің ISO коды бойынша ізей аласыз немесе аумағы бойынша шола аласыз.",
"uls-search-placeholder": "Тілді іздеу"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ko.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ko.json
index aa284b0c..987bf41b 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ko.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ko.json
@@ -17,6 +17,6 @@
"uls-no-results-found": "결과가 없습니다",
"uls-common-languages": "자주 사용하는 언어",
"uls-no-results-suggestion-title": "이것을 찾으셨나요:",
- "uls-search-help": "언어 이름, 문자 체계 이름, 언어의 ISO 코드로 검색할 수 있으며 지역별로 찾아볼 수 있습니다:",
+ "uls-search-help": "언어 이름, 문자 체계 이름, 언어의 ISO 코드로 검색할 수 있으며 지역별로 찾아볼 수 있습니다.",
"uls-search-placeholder": "언어 검색"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/krc.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/krc.json
index 7f2b03e8..4ddf3da8 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/krc.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/krc.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Iltever"
+ "Iltever",
+ "Ernác"
]
},
"uls-select-language": "Тил сайлау",
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ku-latn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ku-latn.json
index b1b0b472..43fda663 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ku-latn.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/ku-latn.json
@@ -1,16 +1,23 @@
{
"@metadata": {
"authors": [
- "George Animal"
+ "George Animal",
+ "Bikarhêner",
+ "Ghybu"
]
},
"uls-select-language": "Zimanekî hilbijêre",
+ "uls-region-WW": "Li hemû cîhanê",
"uls-region-SP": "Taybet",
"uls-region-AM": "Amerîka",
- "uls-region-AF": "Afrîqa",
+ "uls-region-AF": "Afrîka",
"uls-region-EU": "Ewropa",
"uls-region-AS": "Asya",
"uls-region-ME": "Rojhilata Navîn",
+ "uls-region-PA": "Pasîfîk",
"uls-no-results-found": "Ti encam nehatin dîtin",
+ "uls-common-languages": "Zimanên belavbûyî",
+ "uls-no-results-suggestion-title": "Pêwendîya we dikara bikişîne:",
+ "uls-search-help": "Hûn lêgerîna xwe li gor nava zimanê, koda ISOyê an jî li gor herêmê dikarin bikin.",
"uls-search-placeholder": "Lêgerîna li ziman"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/li.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/li.json
new file mode 100644
index 00000000..171d2216
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/li.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robin0van0der0vliet"
+ ]
+ },
+ "uls-region-WW": "Waereldwied",
+ "uls-region-SP": "Sjpesjaal",
+ "uls-region-AM": "Amerika",
+ "uls-region-AF": "Afrika",
+ "uls-region-EU": "Europa",
+ "uls-region-AS": "Azië",
+ "uls-region-ME": "Midde-Ooste",
+ "uls-region-PA": "Pacifisch gebied",
+ "uls-search-placeholder": "Taol zeuke"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/mzn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/mzn.json
index fd929bf8..c3a514ab 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/mzn.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/mzn.json
@@ -16,6 +16,6 @@
"uls-no-results-found": "هچّی پیدا نیّه",
"uls-common-languages": "رایج زوونون",
"uls-no-results-suggestion-title": "شاید دوست دارین:",
- "uls-search-help": "شما بتونّی زوون نوم، اسکریپ نوم، زوونِ استانداردِ کد یا ونه منطقه جه شه دِلِوستِ زوون ره پیدا هاکنین:",
+ "uls-search-help": "شما بتونّی زوون نوم، اسکریپ نوم، زوونِ استانداردِ کد یا ونه منطقه جه شه دِلِوستِ زوون ره پیدا هاکنین.",
"uls-search-placeholder": "زوونِ جستجو"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nb.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nb.json
index afcbced3..14e32131 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nb.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nb.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Event",
- "Wouterkoch"
+ "Wouterkoch",
+ "Danmichaelo"
]
},
"uls-select-language": "Velg språk",
@@ -17,6 +18,6 @@
"uls-no-results-found": "Ingen resultater funnet",
"uls-common-languages": "Vanlige språk",
"uls-no-results-suggestion-title": "Dette kan kanskje interessere deg:",
- "uls-search-help": "Du kan søke basert på språkets navn, skriptnavn eller ISO-kode, eller bla basert på region:",
+ "uls-search-help": "Du kan søke etter språkets navn, alfabet (skriftnavn) eller ISO-kode, eller du kan bla etter region.",
"uls-search-placeholder": "Språksøk"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nl-informal.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nl-informal.json
index c4fd0529..71c2e851 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nl-informal.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/nl-informal.json
@@ -1,15 +1,22 @@
{
"@metadata": {
"authors": [
- "Carsrac"
+ "Carsrac",
+ "Robin0van0der0vliet"
]
},
- "uls-select-language": "Kies taal",
+ "uls-select-language": "Taal selecteren",
"uls-region-WW": "Wereldwijd",
"uls-region-SP": "Speciaal",
"uls-region-AM": "Amerika",
"uls-region-AF": "Afrika",
"uls-region-EU": "Europa",
"uls-region-AS": "Azië",
- "uls-region-ME": "Midden-Oosten"
+ "uls-region-ME": "Midden-Oosten",
+ "uls-region-PA": "Pacifisch gebied",
+ "uls-no-results-found": "Geen resultaten gevonden",
+ "uls-common-languages": "Taalsuggesties",
+ "uls-no-results-suggestion-title": "Wellicht wil je een van de volgende talen kiezen:",
+ "uls-search-help": "Je kan zoeken op taalnaam, schriftnaam, ISO-code van de taal of je kunt bladeren per regio.",
+ "uls-search-placeholder": "Taal zoeken"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/olo.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/olo.json
new file mode 100644
index 00000000..f54b1e50
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/olo.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ilja.mos"
+ ]
+ },
+ "uls-select-language": "Valliče kieli",
+ "uls-region-WW": "Muailman lajuine",
+ "uls-region-SP": "Erikoine",
+ "uls-region-AM": "Amerikku",
+ "uls-region-AF": "Afriekku",
+ "uls-region-EU": "Jevrouppu",
+ "uls-region-AS": "Aazii",
+ "uls-region-ME": "Lähi-idä",
+ "uls-region-PA": "Okeanii",
+ "uls-no-results-found": "Ei löydynyh tuloksii",
+ "uls-common-languages": "Automuattizesti vallitut kielet",
+ "uls-no-results-suggestion-title": "Voit olla kiinnostunnuh nämmis kielis:",
+ "uls-search-help": "Voit eččie kielen nimen libo kirjutustavan mugah, kielen ISO-koudan mugah libo kaččuo alovehen kielii.",
+ "uls-search-placeholder": "Eči kieli"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/or.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/or.json
new file mode 100644
index 00000000..8b46034a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/or.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "ଶିତିକଣ୍ଠ ଦାଶ"
+ ]
+ },
+ "uls-select-language": "ଭାଷା ବାଛନ୍ତୁ",
+ "uls-region-WW": "ବିଶ୍ଵବ୍ୟାପୀ",
+ "uls-region-SP": "ବିଶେଷ",
+ "uls-region-AM": "ଆମେରିକା",
+ "uls-region-AF": "ଆଫ୍ରିକା",
+ "uls-region-EU": "ଇଉରୋପ",
+ "uls-region-AS": "ଏସିଆ",
+ "uls-region-ME": "ମଧ୍ୟପ୍ରାଚ୍ୟ",
+ "uls-region-PA": "ପ୍ରଶାନ୍ତ-ମହାସାଗରୀୟ",
+ "uls-no-results-found": "କୌଣସି ଫଳାଫଳ ମିଳିଲା ନାହିଁ",
+ "uls-common-languages": "ସାଧାରଣ ଭାଷାଗୁଡ଼ିକ",
+ "uls-no-results-suggestion-title": "ଆପଣ ହୁଏତ ଆଗ୍ରହୀ ହେଇପାରନ୍ତି:",
+ "uls-search-placeholder": "ଭାଷା ଖୋଜନ୍ତୁ"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/pl.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/pl.json
index c843fb35..7188785c 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/pl.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/pl.json
@@ -3,7 +3,8 @@
"authors": [
"Matma Rex",
"Rezonansowy",
- "Woytecr"
+ "Woytecr",
+ "Chrumps"
]
},
"uls-select-language": "Wybierz język",
@@ -18,6 +19,6 @@
"uls-no-results-found": "Brak wyników",
"uls-common-languages": "Wybrane języki",
"uls-no-results-suggestion-title": "Być może cię zainteresują te języki:",
- "uls-search-help": "Możesz wyszukiwać według nazwy języka, nazwy systemu pisma, kodu ISO języka, lub przeglądać listy według regionów:",
+ "uls-search-help": "Możesz wyszukiwać według nazwy języka, nazwy systemu pisma, kodu ISO języka, lub przeglądać listy według regionów.",
"uls-search-placeholder": "Wyszukiwanie języka"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sa.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sa.json
new file mode 100644
index 00000000..f8962529
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sa.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "NehalDaveND"
+ ]
+ },
+ "uls-select-language": "भाषा चीयताम्",
+ "uls-region-WW": "विश्वव्यापी",
+ "uls-region-SP": "महत्त्वपूर्णम्",
+ "uls-region-AM": "अमेरिका",
+ "uls-region-AF": "कालद्वीपः",
+ "uls-region-EU": "यूरोप",
+ "uls-region-AS": "जम्बुमहाद्वीपः",
+ "uls-region-ME": "मध्यभूभागे",
+ "uls-region-PA": "पॅसिफिक्",
+ "uls-no-results-found": "परिणामाः न लब्धाः",
+ "uls-common-languages": "समान्याः भाषाः",
+ "uls-no-results-suggestion-title": "एतत् भवते/भवत्यै रोचेत :",
+ "uls-search-placeholder": "भाषा अन्विष्यताम्"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/shn.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/shn.json
new file mode 100644
index 00000000..01fdb063
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/shn.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saimawnkham"
+ ]
+ },
+ "uls-select-language": "လိူၵ်ႈပၼ် ၽႃႇသႃႇၵႂၢမ်း",
+ "uls-region-WW": "တင်းၵမ်ႇၽႃႇ",
+ "uls-region-SP": "ၶိုၵ်ႉတွၼ်း",
+ "uls-region-AM": "ဢမေႇရိၵ",
+ "uls-region-AF": "ဢႃႇၽရိၵ",
+ "uls-region-EU": "ရူးရူပ်ႉ",
+ "uls-region-AS": "ဢေးသျႃး",
+ "uls-region-ME": "ပွတ်းၵၢင်တၢင်းဢွၵ်ႇ",
+ "uls-region-PA": "ပသိၽိၵ်ႉ",
+ "uls-no-results-found": "ဢမ်ႇႁၼ်ၽွၼ်းလႆႈ",
+ "uls-common-languages": "ၽႃႇသႃႇၸႂ်ႉၼမ်",
+ "uls-no-results-suggestion-title": "ၸဝ်ႈၵဝ်ႇၸၢင်ႈၶဝ်ႈၸႂ်ပႃး",
+ "uls-search-help": "ၸဝ်ႈၵဝ်ႇ ၸၢင်ႈသွၵ်ႈႁႃတင်း ၸိုဝ်ႈၽႃႇသႃႇၵႂၢမ်း၊ ၸိုဝ်ႈ Script, မၢႆ ISO တွၼ်ႈတႃႇ ၽႃႇသႃႇၵႂၢမ်း ဢၼ်ၼၼ် ၸဝ်ႈၵဝ်ႇ ၸၢင်ႈပိုတ်ႇႁႃ တင်း လႅၼ်မိူင်း region",
+ "uls-search-placeholder": "သွၵ်ႈႁႃၽႃႇသႃႇၵႂၢမ်း"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sq.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sq.json
new file mode 100644
index 00000000..c7f7b3a9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sq.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ammartivari",
+ "Liridon"
+ ]
+ },
+ "uls-select-language": "Zgjidh gjuhën",
+ "uls-region-WW": "Botëror",
+ "uls-region-SP": "Të veçanta",
+ "uls-region-AM": "Amerikë",
+ "uls-region-AF": "Afrikë",
+ "uls-region-EU": "Evropë",
+ "uls-region-AS": "Azi",
+ "uls-region-ME": "Lindje e Mesme",
+ "uls-region-PA": "Paqësor",
+ "uls-no-results-found": "Nuk është gjetur asnjë rezultat",
+ "uls-common-languages": "Gjuhë e përbashkët",
+ "uls-no-results-suggestion-title": "Ju mund të jeni të interesuar në:",
+ "uls-search-help": "Ju mund të kërkoni sipas emrit të gjuhës, emrit të skriptës, kodit ISO të gjuhës ose ju mund të shfletoni sipa rajonit.",
+ "uls-search-placeholder": "Kërkimi i gjuhës"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sv.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sv.json
index 13e98987..65d5c72b 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sv.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/sv.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Cybjit",
- "WikiPhoenix"
+ "WikiPhoenix",
+ "Jopparn"
]
},
"uls-select-language": "Välj språk",
@@ -17,6 +18,6 @@
"uls-no-results-found": "Inga resultat hittades",
"uls-common-languages": "Vanliga språk",
"uls-no-results-suggestion-title": "Du kan vara intresserad av:",
- "uls-search-help": "Du kan söka efter språkets namn, skriptnamn, ISO-koden för språket eller bläddra efter region:",
+ "uls-search-help": "Du kan söka efter språkets namn, skriptnamn, ISO-kod för språket eller bläddra efter region.",
"uls-search-placeholder": "Språksökning"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/udm.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/udm.json
new file mode 100644
index 00000000..10f618ce
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/udm.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlnashPiyash2"
+ ]
+ },
+ "uls-select-language": "Кылэз быръён",
+ "uls-region-AM": "Америка",
+ "uls-region-AF": "Африка",
+ "uls-region-EU": "Европа",
+ "uls-region-AS": "Азия",
+ "uls-region-PA": "Океания",
+ "uls-no-results-found": "Шедьтэмын ӧвӧл",
+ "uls-search-placeholder": "Кылэз утчан"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uk.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uk.json
index 4804ed8d..5491c174 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uk.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uk.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Andriykopanytsia",
- "Base"
+ "Base",
+ "Alex Khimich"
]
},
"uls-select-language": "Оберіть мову",
@@ -17,6 +18,6 @@
"uls-no-results-found": "Не знайдено результатів",
"uls-common-languages": "Поширені мови",
"uls-no-results-suggestion-title": "Ви можете бути зацікавленими у:",
- "uls-search-help": "Ви можете шукати за назвою мови або писемності, ISO-коду мови, або Ви можете переглянути за регіонами:",
+ "uls-search-help": "Ви можете шукати за назвою мови або писемності, ISO-коду мови, або можете вказати регіон.",
"uls-search-placeholder": "Мова пошуку"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uz.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uz.json
index bcf10a47..2fd692e7 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uz.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/uz.json
@@ -4,7 +4,8 @@
"Akmalzhon",
"CoderSI",
"Nataev",
- "6ahodir"
+ "6ahodir",
+ "Таржимон"
]
},
"uls-select-language": "Tilni tanlash",
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zea.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zea.json
new file mode 100644
index 00000000..a4e51c76
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zea.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robin0van0der0vliet"
+ ]
+ },
+ "uls-region-WW": "Waereldwied",
+ "uls-region-SP": "Speciaal",
+ "uls-region-AM": "Amerika",
+ "uls-region-AF": "Afrika",
+ "uls-region-EU": "Europa",
+ "uls-region-AS": "Azië",
+ "uls-region-ME": "Midden-Oôsten",
+ "uls-region-PA": "Pacifisch gebied"
+}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zh-hans.json b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zh-hans.json
index 93839bdf..3340a188 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zh-hans.json
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/i18n/zh-hans.json
@@ -17,7 +17,7 @@
"uls-region-PA": "太平洋",
"uls-no-results-found": "无搜索结果",
"uls-common-languages": "常用语言",
- "uls-no-results-suggestion-title": "你可能感兴趣:",
+ "uls-no-results-suggestion-title": "您可能感兴趣:",
"uls-search-help": "您可以按语言名称、文字名称、语言的ISO代码搜索,或按地区浏览。",
"uls-search-placeholder": "语言搜索"
}
diff --git a/MLEB/UniversalLanguageSelector/lib/jquery.uls/src/jquery.uls.data.js b/MLEB/UniversalLanguageSelector/lib/jquery.uls/src/jquery.uls.data.js
index 4a7deb26..3fb5bdf4 100644
--- a/MLEB/UniversalLanguageSelector/lib/jquery.uls/src/jquery.uls.data.js
+++ b/MLEB/UniversalLanguageSelector/lib/jquery.uls/src/jquery.uls.data.js
@@ -3,5 +3,5 @@
'use strict';
$.uls = $.uls || {};
//noinspection JSHint
- $.uls.data = {"languages":{"aa":["Latn",["AF"],"Qafár af"],"ab":["Cyrl",["EU"],"Аҧсшәа"],"abs":["Latn",["AS"],"Bahasa Ambon"],"ace":["Latn",["AS","PA"],"Acèh"],"acf":["Latn",["AM"],"kwéyòl"],"ady":["Cyrl",["EU","ME"],"Адыгэбзэ"],"ady-cyrl":["ady"],"ady-latn":["Latn",["EU","ME"],"Adygabze"],"aeb":["Arab",["AF"],"تونسي"],"af":["Latn",["AF"],"Afrikaans"],"ahr":["Deva",["AS"],"अहिराणी"],"ak":["Latn",["AF"],"Akan"],"akz":["Latn",["AM"],"Albaamo innaaɬiilka"],"aln":["Latn",["EU"],"Gegë"],"am":["Ethi",["AF"],"አማርኛ"],"an":["Latn",["EU"],"aragonés"],"ang":["Latn",["EU"],"Ænglisc"],"anp":["Deva",["AS"],"अङ्गिका"],"ar":["Arab",["ME"],"العربية"],"arc":["Syrc",["ME"],"ܐܪܡܝܐ"],"arn":["Latn",["AM"],"mapudungun"],"aro":["Latn",["AM"],"Araona"],"arq":["Arab",["AF"],"جازايرية"],"ary":["Latn",["ME"],"Maġribi"],"arz":["Arab",["ME"],"مصرى"],"as":["Beng",["AS"],"অসমীয়া"],"ase":["Sgnw",["AM"],"American sign language"],"ast":["Latn",["EU"],"asturianu"],"av":["Cyrl",["EU"],"авар"],"avk":["Latn",["WW"],"Kotava"],"ay":["Latn",["AM"],"Aymar aru"],"az":["az-latn"],"az-latn":["Latn",["EU","ME"],"azərbaycanca"],"az-arab":["Arab",["EU","ME"],"آذربايجانجا"],"az-cyrl":["Latn",["EU","ME"],"азәрбајҹанҹа"],"azb":["az-arab"],"ba":["Cyrl",["EU"],"башҡортса"],"ban":["Bali",["AS"],"ᬩᬲᬩᬮᬶ"],"bar":["Latn",["EU"],"Boarisch"],"bat-smg":["sgs"],"bbc-latn":["Latn",["AS"],"Batak Toba"],"bbc-batk":["Batk",["AS"],"Batak Toba"],"bbc":["Latn",["AS"],"Batak Toba"],"bcc":["Arab",["AS","ME"],"بلوچی مکرانی"],"bcl":["Latn",["AS"],"Bikol Central"],"be-tarask":["Cyrl",["EU"],"беларуская (тарашкевіца)"],"be-x-old":["be-tarask"],"be":["Cyrl",["EU"],"беларуская"],"bew":["Latn",["AS"],"Bahasa Betawi"],"bfa":["Latn",["AF"],"Bari"],"bfq":["Taml",["AS"],"படகா"],"bg":["Cyrl",["EU"],"български"],"bgn":["Arab",["AS","ME"],"بلوچی رخشانی"],"bh":["Deva",["AS"],"भोजपुरी"],"bho":["Deva",["AS"],"भोजपुरी"],"bi":["Latn",["PA"],"Bislama"],"bjn":["Latn",["AS"],"Bahasa Banjar"],"bm":["Latn",["AF"],"bamanankan"],"bn":["Beng",["AS"],"বাংলা"],"bo":["Tibt",["AS"],"བོད་ཡིག"],"bpy":["Beng",["AS"],"বিষ্ণুপ্রিয়া মণিপুরী"],"bqi":["Arab",["AS","ME"],"بختياري"],"br":["Latn",["EU"],"brezhoneg"],"brh":["Latn",["ME","AS"],"Bráhuí"],"brx":["Deva",["AS"],"बड़ो"],"bs":["Latn",["EU"],"bosanski"],"bto":["Latn",["AS"],"Iriga Bicolano"],"bug":["Bugi",["AS"],"ᨅᨔ ᨕᨘᨁᨗ"],"bxr":["Cyrl",["AS"],"буряад"],"ca":["Latn",["EU"],"català"],"cbk-zam":["Latn",["AS"],"Chavacano de Zamboanga"],"cdo":["Latn",["AS"],"Mìng-dĕ̤ng-ngṳ̄"],"ce":["Cyrl",["EU"],"нохчийн"],"ceb":["Latn",["AS"],"Cebuano"],"ch":["Latn",["PA"],"Chamoru"],"cho":["Latn",["AM"],"Choctaw"],"chr":["Cher",["AM"],"ᏣᎳᎩ"],"chy":["Latn",["AM"],"Tsetsêhestâhese"],"ciw":["Latn",["AM"],"Ojibwemowin"],"ckb":["Arab",["ME"],"کوردی"],"cnh":["Latn",["AS"],"Lai holh"],"co":["Latn",["EU"],"corsu"],"cps":["Latn",["AS"],"Capiceño"],"cr":["Cans",["AM"],"ᓀᐦᐃᔭᐍᐏᐣ"],"cr-cans":["cr"],"cr-latn":["Latn",["AM"],"Nēhiyawēwin"],"crh":["Latn",["EU"],"qırımtatarca"],"crh-cyrl":["Cyrl",["EU"],"къырымтатарджа"],"crh-latn":["crh"],"cs":["Latn",["EU"],"čeština"],"csb":["Latn",["EU"],"kaszëbsczi"],"cu":["Cyrl",["EU"],"словѣньскъ \/ ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ"],"cv":["Cyrl",["EU"],"Чӑвашла"],"cy":["Latn",["EU"],"Cymraeg"],"da":["Latn",["EU"],"dansk"],"de-at":["Latn",["EU"],"Österreichisches Deutsch"],"de-ch":["Latn",["EU"],"Schweizer Hochdeutsch"],"de-formal":["Latn",["EU"],"Deutsch (Sie-Form)"],"de":["Latn",["EU"],"Deutsch"],"din":["Latn",["AF"],"Thuɔŋjäŋ"],"diq":["Latn",["EU","AS"],"Zazaki"],"dsb":["Latn",["EU"],"dolnoserbski"],"dtp":["Latn",["AS"],"Dusun Bundu-liwan"],"dty":["Deva",["AS"],"डोटेली"],"dv":["Thaa",["AS"],"ދިވެހިބަސް"],"dz":["Tibt",["AS"],"ཇོང་ཁ"],"ee":["Latn",["AF"],"eʋegbe"],"egl":["Latn",["EU"],"Emiliàn"],"el":["Grek",["EU"],"Ελληνικά"],"eml":["Latn",["EU"],"emiliàn e rumagnòl"],"en-ca":["Latn",["AM"],"Canadian English"],"en-gb":["Latn",["EU","AS","PA"],"British English"],"en":["Latn",["EU","AM","AF","ME","AS","PA","WW"],"English"],"eo":["Latn",["WW"],"Esperanto"],"es-419":["Latn",["AM"],"español de America Latina"],"es-formal":["Latn",["EU","AM","AF","WW"],"español (formal)"],"es":["Latn",["EU","AM","AF","WW"],"español"],"esu":["Latn",["AM"],"Yup'ik"],"et":["Latn",["EU"],"eesti"],"eu":["Latn",["EU"],"euskara"],"ext":["Latn",["EU"],"estremeñu"],"fa":["Arab",["AS","ME"],"فارسی"],"ff":["Latn",["AF"],"Fulfulde"],"fi":["Latn",["EU"],"suomi"],"fil":["tl"],"fit":["Latn",["EU"],"meänkieli"],"fiu-vro":["vro"],"fj":["Latn",["PA"],"Na Vosa Vakaviti"],"fo":["Latn",["EU"],"føroyskt"],"fr":["Latn",["EU","AM","WW"],"français"],"frc":["Latn",["AM"],"français cadien"],"frp":["Latn",["EU"],"arpetan"],"frr":["Latn",["EU"],"Nordfriisk"],"fur":["Latn",["EU"],"furlan"],"fy":["Latn",["EU"],"Frysk"],"ga":["Latn",["EU"],"Gaeilge"],"gag":["Latn",["EU"],"Gagauz"],"gah":["Latn",["AS"],"Alekano"],"gan-hans":["Hans",["AS"],"赣语(简体)"],"gan-hant":["gan"],"gan":["Hant",["AS"],"贛語"],"gbz":["Latn",["AS"],"Dari"],"gcf":["Latn",["AM"],"Guadeloupean Creole French"],"gd":["Latn",["EU"],"Gàidhlig"],"gl":["Latn",["EU"],"galego"],"glk":["Arab",["AS","ME"],"گیلکی"],"gn":["Latn",["AM"],"Avañe'ẽ"],"gom":["Deva",["AS"],"कोंकणी"],"gom-deva":["gom"],"gom-latn":["Latn",["AS"],"Konknni"],"got":["Goth",["EU"],"𐌲𐌿𐍄𐌹𐍃𐌺"],"grc":["Grek",["EU"],"Ἀρχαία ἑλληνικὴ"],"gsw":["Latn",["EU"],"Alemannisch"],"gu":["Gujr",["AS"],"ગુજરાતી"],"guc":["Latn",["AM"],"Wayúu"],"gur":["Latn",["AF"],"Gurenɛ"],"gv":["Latn",["EU"],"Gaelg"],"ha-arab":["Arab",["AF"],"هَوُسَ"],"ha-latn":["Latn",["AF"],"Hausa"],"ha":["ha-latn"],"hak":["Latn",["AS"],"Hak-kâ-fa"],"haw":["Latn",["AM","PA"],"Hawai`i"],"he":["Hebr",["ME"],"עברית"],"hi":["Deva",["AS"],"हिन्दी"],"hif":["Latn",["PA","AS"],"Fiji Hindi"],"hif-deva":["Deva",["AS"],"फ़ीजी हिन्दी"],"hif-latn":["hif"],"hil":["Latn",["AS"],"Ilonggo"],"hne":["Deva",["AS"],"छत्तीसगढ़ी"],"ho":["Latn",["PA"],"Hiri Motu"],"hr":["Latn",["EU"],"hrvatski"],"hrx":["Latn",["AM"],"Hunsrik"],"hsb":["Latn",["EU"],"hornjoserbsce"],"hsn":["Hans",["AS"],"湘语"],"ht":["Latn",["AM"],"Kreyòl ayisyen"],"hu-formal":["Latn",["EU"],"Magyar (magázó)"],"hu":["Latn",["EU"],"magyar"],"hy":["Armn",["EU","ME"],"Հայերեն"],"hz":["Latn",["AF"],"Otsiherero"],"ia":["Latn",["WW"],"interlingua"],"id":["Latn",["AS"],"Bahasa Indonesia"],"ie":["Latn",["WW"],"Interlingue"],"ig":["Latn",["AF"],"Igbo"],"ii":["Yiii",["AS"],"ꆇꉙ"],"ik":["Latn",["AM"],"Iñupiak"],"ike-cans":["Cans",["AM"],"ᐃᓄᒃᑎᑐᑦ"],"ike-latn":["Latn",["AM"],"inuktitut"],"ilo":["Latn",["AS"],"Ilokano"],"inh":["Cyrl",["EU"],"ГӀалгӀай"],"io":["Latn",["WW"],"Ido"],"is":["Latn",["EU"],"íslenska"],"it":["Latn",["EU"],"italiano"],"iu":["Cans",["AM"],"ᐃᓄᒃᑎᑐᑦ"],"ja":["Jpan",["AS"],"日本語"],"jam":["Latn",["AM"],"Patois"],"jbo":["Latn",["WW"],"lojban"],"jdt":["jdt-cyrl"],"jdt-cyrl":["Cyrl",["EU","AS"],"жугьури"],"jut":["Latn",["EU"],"jysk"],"jv":["Latn",["AS","PA"],"Basa Jawa"],"jv-java":["Java",["AS","PA"],"ꦧꦱꦗꦮ"],"ka":["Geor",["EU"],"ქართული"],"kaa":["Latn",["AS"],"Qaraqalpaqsha"],"kab":["Latn",["AF","EU"],"Taqbaylit"],"kac":["Latn",["AS"],"Jinghpaw"],"kbd-cyrl":["kbd"],"kbd-latn":["Latn",["EU"],"Qabardjajəbza"],"kbd":["Cyrl",["EU","ME"],"Адыгэбзэ"],"kea":["Latn",["AF"],"Kabuverdianu"],"kg":["Latn",["AF"],"Kongo"],"kgp":["Latn",["AM"],"Kaingáng"],"khw":["Arab",["ME","AS"],"کھوار"],"ki":["Latn",["AF"],"Gĩkũyũ"],"kiu":["Latn",["EU","ME"],"Kırmancki"],"kj":["Latn",["AF"],"Kwanyama"],"kjh":["Cyrl",["AS"],"хакас"],"kk":["kk-cyrl"],"kk-arab":["Arab",["EU","AS"],"قازاقشا (تٶتە)"],"kk-cn":["kk-arab"],"kk-cyrl":["Cyrl",["EU","AS"],"қазақша"],"kk-kz":["kk-cyrl"],"kk-latn":["Latn",["EU","AS","ME"],"qazaqşa"],"kk-tr":["kk-latn"],"kl":["Latn",["AM","EU"],"kalaallisut"],"km":["Khmr",["AS"],"ភាសាខ្មែរ"],"kn":["Knda",["AS"],"ಕನ್ನಡ"],"ko-kp":["Kore",["AS"],"한국어 (조선)"],"ko":["Kore",["AS"],"한국어"],"koi":["Cyrl",["EU"],"Перем Коми"],"kr":["Latn",["AF"],"Kanuri"],"krc":["Cyrl",["EU"],"къарачай-малкъар"],"kri":["Latn",["AF"],"Krio"],"krj":["Latn",["ME","EU"],"Kinaray-a"],"krl":["Latn",["EU"],"Karjala"],"ks-arab":["Arab",["AS"],"کٲشُر"],"ks-deva":["Deva",["AS"],"कॉशुर"],"ks":["Arab",["AS"],"کٲشُر"],"ksf":["Latn",["AF"],"Bafia"],"ksh":["Latn",["EU"],"Ripoarisch"],"ku":["ku-latn"],"ku-arab":["Arab",["EU","ME"],"كوردي"],"ku-latn":["Latn",["EU","ME"],"Kurdî"],"kv":["Cyrl",["EU"],"коми"],"kw":["Latn",["EU"],"kernowek"],"ky":["Cyrl",["AS"],"Кыргызча"],"la":["Latn",["EU"],"Latina"],"lad":["lad-latn"],"lad-latn":["Latn",["ME","EU","AM"],"Ladino"],"lad-hebr":["Hebr",["ME","EU","AM"],"לאדינו"],"lb":["Latn",["EU"],"Lëtzebuergesch"],"lbe":["Cyrl",["EU"],"лакку"],"lez":["Cyrl",["EU"],"лезги"],"lfn":["Latn",["WW"],"Lingua Franca Nova"],"lg":["Latn",["AF"],"Luganda"],"li":["Latn",["EU"],"Limburgs"],"lij":["Latn",["EU"],"Ligure"],"liv":["Latn",["EU"],"Līvõ kēļ"],"lki":["Arab",["AS","ME"],"لەکی‎"],"lkt":["Latn",["AM"],"Lakȟótiyapi"],"lld":["Latn",["EU"],"Ladin"],"lmo":["Latn",["EU"],"lumbaart"],"ln":["Latn",["AF"],"lingála"],"lo":["Laoo",["AS"],"ລາວ"],"loz":["Latn",["AF"],"Silozi"],"lt":["Latn",["EU"],"lietuvių"],"lrc":["Arab",["AS","ME"],"لوری"],"ltg":["Latn",["EU"],"latgaļu"],"lud":["Latn",["EU"],"lüüdi"],"lus":["Latn",["AS"],"Mizo ţawng"],"lut":["Latn",["AM"],"dxʷləšucid"],"luz":["Arab",["ME"],"لری دومنی"],"lv":["Latn",["EU"],"latviešu"],"lzh":["Hant",["AS"],"文言"],"lzz":["Latn",["EU","ME"],"Lazuri"],"mai":["Deva",["AS"],"मैथिली"],"map-bms":["Latn",["AS"],"Basa Banyumasan"],"mdf":["Cyrl",["EU"],"мокшень"],"mfe":["Latn",["AM"],"Morisyen"],"mg":["Latn",["AF"],"Malagasy"],"mh":["Latn",["PA"],"Ebon"],"mhr":["Cyrl",["EU"],"олык марий"],"mi":["Latn",["PA"],"Māori"],"mic":["Latn",["AM"],"Mi'kmaq"],"min":["Latn",["AS"],"Baso Minangkabau"],"miq":["Latn",["AM"],"Mískitu"],"mk":["Cyrl",["EU"],"македонски"],"ml":["Mlym",["AS","ME"],"മലയാളം"],"mn":["Cyrl",["AS"],"монгол"],"mnc":["Mong",["AS"],"ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ"],"mni":["Beng",["AS"],"মেইতেই লোন্"],"mnw":["Mymr",["AS"],"ဘာသာ မန်"],"mo":["Cyrl",["EU"],"молдовеняскэ"],"mr":["Deva",["AS","ME"],"मराठी"],"mrj":["Cyrl",["EU"],"кырык мары"],"ms":["Latn",["AS"],"Bahasa Melayu"],"mt":["Latn",["EU"],"Malti"],"mui":["Latn",["AS"],"Musi"],"mus":["Latn",["AM"],"Mvskoke"],"mwl":["Latn",["EU"],"Mirandés"],"mwv":["Latn",["AS"],"Behase Mentawei"],"mww":["mww-latn"],"mww-latn":["Latn",["AS"],"Hmoob Dawb"],"my":["Mymr",["AS"],"မြန်မာဘာသာ"],"myv":["Cyrl",["EU"],"эрзянь"],"mzn":["Arab",["ME","AS"],"مازِرونی"],"na":["Latn",["PA"],"Dorerin Naoero"],"nah":["Latn",["AM"],"Nāhuatl"],"nan":["Latn",["AS"],"Bân-lâm-gú"],"nap":["Latn",["EU"],"Napulitano"],"nb":["Latn",["EU"],"norsk (bokmål)"],"nds-nl":["Latn",["EU"],"Nedersaksisch"],"nds":["Latn",["EU"],"Plattdüütsch"],"ne":["Deva",["AS"],"नेपाली"],"new":["Deva",["AS"],"नेपाल भाषा"],"ng":["Latn",["AF"],"Oshiwambo"],"niu":["Latn",["PA"],"ko e vagahau Niuē"],"njo":["Latn",["AS"],"Ao"],"nl-informal":["Latn",["EU","AM"],"Nederlands (informeel)"],"nl":["Latn",["EU","AM"],"Nederlands"],"nn":["Latn",["EU"],"norsk (nynorsk)"],"no":["Latn",["EU"],"norsk"],"nov":["Latn",["WW"],"Novial"],"nqo":["Nkoo",["AF"],"ߒߞߏ"],"nrm":["Latn",["EU"],"Nouormand"],"nso":["Latn",["AF"],"Sesotho sa Leboa"],"nv":["Latn",["AM"],"Diné bizaad"],"ny":["Latn",["AF"],"Chi-Chewa"],"oc":["Latn",["EU"],"occitan"],"om":["Latn",["AF"],"Oromoo"],"or":["Orya",["AS"],"ଓଡ଼ିଆ"],"os":["Cyrl",["EU"],"Ирон"],"ota":["Arab",["AS","EU"],"لسان عثمانى"],"pa":["pa-guru"],"pa-guru":["Guru",["AS"],"ਪੰਜਾਬੀ"],"pag":["Latn",["AS"],"Pangasinan"],"pam":["Latn",["AS"],"Kapampangan"],"pap":["Latn",["AM"],"Papiamentu"],"pbb":["Latn",["AM"],"Nasa Yuwe"],"pcd":["Latn",["EU"],"Picard"],"pdc":["Latn",["EU","AM"],"Deitsch"],"pdt":["Latn",["EU","AM"],"Plautdietsch"],"pfl":["Latn",["EU"],"Pälzisch"],"pi":["Deva",["AS"],"पालि"],"pih":["Latn",["PA"],"Norfuk \/ Pitkern"],"pis":["Latn",["PA"],"Pijin"],"pko":["Latn",["AF"],"Pökoot"],"pl":["Latn",["EU"],"polski"],"pms":["Latn",["EU"],"Piemontèis"],"pnb":["Arab",["AS","ME"],"پنجابی"],"pnt":["Grek",["EU"],"Ποντιακά"],"ppl":["Latn",["AM"],"Nawat"],"prg":["Latn",["EU"],"Prūsiskan"],"ps":["Arab",["AS","ME"],"پښتو"],"pt-br":["Latn",["AM"],"português do Brasil"],"pt":["Latn",["EU","AM","AS","PA","AF","WW"],"português"],"qu":["Latn",["AM"],"Runa Simi"],"qug":["Latn",["AM"],"Runa shimi"],"rap":["Latn",["AM"],"arero rapa nui"],"rcf":["Latn",["AF"],"Kreol Réyoné"],"rgn":["Latn",["EU"],"Rumagnôl"],"rif":["Latn",["AF"],"Tarifit"],"rki":["Mymr",["AS"],"ရခိုင်"],"rm":["Latn",["EU"],"rumantsch"],"rmf":["Latn",["EU"],"kaalengo tšimb"],"rmy":["Latn",["EU"],"Romani"],"rn":["Latn",["AF"],"Kirundi"],"ro":["Latn",["EU"],"română"],"roa-rup":["rup"],"roa-tara":["Latn",["EU"],"tarandíne"],"rtm":["Latn",["PA"],"Faeag Rotuma"],"ru":["Cyrl",["EU","AS","ME"],"русский"],"rue":["Cyrl",["EU"],"русиньскый"],"rup":["Latn",["EU"],"armãneashti"],"ruq":["Cyrl",["EU"],"Влахесте"],"ruq-cyrl":["ruq"],"ruq-grek":["Grek",["EU"],"Megleno-Romanian (Greek script)"],"ruq-latn":["Latn",["EU"],"Vlăheşte"],"rut":["Cyrl",["EU"],"мыхаӀбишды"],"rw":["Latn",["AF"],"Kinyarwanda"],"rwr":["Deva",["AS"],"मारवाड़ी"],"ryu":["Kana",["AS"],"ʔucināguci"],"sa":["Deva",["AS"],"संस्कृतम्"],"sah":["Cyrl",["EU","AS"],"саха тыла"],"sat":["Latn",["AS"],"Santali"],"saz":["Saur",["AS"],"ꢱꣃꢬꢵꢯ꣄ꢡ꣄ꢬꢵ"],"sc":["Latn",["EU"],"sardu"],"scn":["Latn",["EU"],"sicilianu"],"sco":["Latn",["EU"],"Scots"],"sd":["Arab",["AS"],"سنڌي"],"sdc":["Latn",["EU"],"Sassaresu"],"sdh":["Arab",["ME"],"کوردی خوارگ"],"se":["Latn",["EU"],"sámegiella"],"ses":["Latn",["AF"],"Koyraboro Senni"],"sei":["Latn",["AM"],"Cmique Itom"],"sg":["Latn",["AF"],"Sängö"],"sgs":["Latn",["EU"],"žemaitėška"],"sh":["Latn",["EU"],"srpskohrvatski"],"shi-latn":["Latn",["AF"],"Tašlḥiyt"],"shi-tfng":["Tfng",["AF"],"ⵜⴰⵛⵍⵃⵉⵜ"],"shi":["shi-latn"],"shn":["Mymr",["AS"],"လိၵ်ႈတႆး"],"si":["Sinh",["AS"],"සිංහල"],"simple":["Latn",["WW"],"Simple English"],"sk":["Latn",["EU"],"slovenčina"],"sl":["Latn",["EU"],"slovenščina"],"sli":["Latn",["EU"],"Schläsch"],"slr":["Latn",["AS"],"Salırça"],"sly":["Latn",["AS"],"Bahasa Selayar"],"syc":["Syrc",["ME"],"ܣܘܪܝܝܐ"],"sm":["Latn",["PA"],"Gagana Samoa"],"sma":["Latn",["EU"],"åarjelsaemien"],"smj":["Latn",["EU"],"julevsámegiella"],"smn":["Latn",["EU"],"anarâškielâ"],"sms":["Latn",["EU"],"sää´mǩiõll"],"sn":["Latn",["AF"],"chiShona"],"so":["Latn",["AF"],"Soomaaliga"],"son":["Latn",["AF"],"soŋay"],"sq":["Latn",["EU"],"shqip"],"sr":["sr-cyrl"],"sr-ec":["sr-cyrl"],"sr-cyrl":["Cyrl",["EU"],"српски"],"sr-el":["sr-latn"],"sr-latn":["Latn",["EU"],"srpski"],"srn":["Latn",["AM","EU"],"Sranantongo"],"ss":["Latn",["AF"],"SiSwati"],"st":["Latn",["AF"],"Sesotho"],"stq":["Latn",["EU"],"Seeltersk"],"su":["Latn",["AS"],"Basa Sunda"],"sv":["Latn",["EU"],"svenska"],"sw":["Latn",["AF"],"Kiswahili"],"swb":["Latn",["AF"],"Shikomoro"],"sxu":["Latn",["EU"],"Säggssch"],"szl":["Latn",["EU"],"ślůnski"],"ta":["Taml",["AS"],"தமிழ்"],"tcy":["Knda",["AS"],"ತುಳು"],"te":["Telu",["AS"],"తెలుగు"],"tet":["Latn",["AS","PA"],"tetun"],"tg-cyrl":["Cyrl",["AS"],"тоҷикӣ"],"tg-latn":["Latn",["AS"],"tojikī"],"tg":["Cyrl",["AS"],"тоҷикӣ"],"th":["Thai",["AS"],"ไทย"],"ti":["Ethi",["AF"],"ትግርኛ"],"tk":["Latn",["AS"],"Türkmençe"],"tkr":["Cyrl",["AS"],"ЦӀаьхна миз"],"tl":["Latn",["AS"],"Tagalog"],"tly":["Cyrl",["EU","AS","ME"],"толышә зывон"],"tn":["Latn",["AF"],"Setswana"],"to":["Latn",["PA"],"lea faka-Tonga"],"tokipona":["Latn",["WW"],"Toki Pona"],"tpi":["Latn",["PA","AS"],"Tok Pisin"],"tr":["Latn",["EU","ME"],"Türkçe"],"trp":["Latn",["AS"],"Kokborok (Tripuri)"],"tru":["Latn",["AS"],"Ṫuroyo"],"ts":["Latn",["AF"],"Xitsonga"],"tsd":["Grek",["EU"],"Τσακωνικά"],"tt":["Cyrl",["EU"],"татарча"],"tt-cyrl":["tt"],"tt-latn":["Latn",["EU"],"tatarça"],"ttt":["Cyrl",["AS"],"Tati"],"tum":["Latn",["AF"],"chiTumbuka"],"tw":["Latn",["AF"],"Twi"],"twd":["Latn",["EU"],"Tweants"],"ty":["Latn",["PA"],"reo tahiti"],"tyv":["Cyrl",["AS"],"тыва дыл"],"tzl":["Latn",["WW"],"Talossan"],"tzm":["Tfng",["AF"],"ⵜⴰⵎⴰⵣⵉⵖⵜ"],"udm":["Cyrl",["EU"],"удмурт"],"ug":["ug-arab"],"ug-arab":["Arab",["AS"],"ئۇيغۇرچە"],"ug-latn":["Latn",["AS"],"uyghurche"],"ug-cyrl":["Cyrl",["AS"],"уйғурчә"],"uk":["Cyrl",["EU"],"українська"],"ur":["Arab",["AS","ME"],"اردو"],"uz":["Latn",["AS"],"oʻzbekcha"],"ve":["Latn",["AF"],"Tshivenda"],"vec":["Latn",["EU"],"vèneto"],"vep":["Latn",["EU"],"vepsän kel’"],"vi":["Latn",["AS"],"Tiếng Việt"],"vls":["Latn",["EU"],"West-Vlams"],"vmf":["Latn",["EU"],"Mainfränkisch"],"vo":["Latn",["WW"],"Volapük"],"vot":["Latn",["EU"],"Vaďďa"],"vro":["Latn",["EU"],"Võro"],"wa":["Latn",["EU"],"walon"],"war":["Latn",["AS"],"Winaray"],"wls":["Latn",["PA"],"Faka'uvea"],"wo":["Latn",["AF"],"Wolof"],"wuu":["Hans",["AS"],"吴语"],"xal":["Cyrl",["EU"],"хальмг"],"xh":["Latn",["AF"],"isiXhosa"],"xmf":["Geor",["EU"],"მარგალური"],"ydd":["Hebr",["AS","EU"],"Eastern Yiddish"],"yi":["Hebr",["ME","EU","AM"],"ייִדיש"],"yo":["Latn",["AF"],"Yorùbá"],"yrk":["Cyrl",["AS"],"Ненэцяʼ вада"],"yrl":["Latn",["AM"],"ñe'engatú"],"yua":["Latn",["AM"],"Maaya T'aan"],"yue":["Hant",["AS"],"粵語"],"za":["Latn",["AS"],"Vahcuengh"],"zea":["Latn",["EU"],"Zeêuws"],"zgh":["Tfng",["AF"],"ⵜⴰⵎⴰⵣⵉⵖⵜ"],"zh":["Hans",["AS"],"中文"],"zh-classical":["Hant",["AS"],"文言"],"zh-cn":["Hans",["AS"],"中文(中国大陆)"],"zh-hans":["Hans",["AS"],"中文(简体)"],"zh-hant":["Hant",["AS"],"中文(繁體)"],"zh-hk":["Hant",["AS"],"中文(香港)"],"zh-min-nan":["nan"],"zh-mo":["Hant",["AS"],"中文(澳門)"],"zh-my":["Hans",["AS"],"中文(马来西亚)"],"zh-sg":["Hans",["AS"],"中文(新加坡)"],"zh-tw":["Hant",["AS"],"中文(台灣)"],"zh-yue":["yue"],"zu":["Latn",["AF"],"isiZulu"]},"scriptgroups":{"Latin":["Latn","Goth"],"Greek":["Grek"],"WestCaucasian":["Armn","Geor"],"Arabic":["Arab"],"MiddleEastern":["Hebr","Syrc"],"African":["Ethi","Nkoo","Tfng"],"SouthAsian":["Beng","Deva","Gujr","Guru","Knda","Mlym","Orya","Saur","Sinh","Taml","Telu","Tibt","Thaa"],"Cyrillic":["Cyrl"],"CJK":["Hans","Hant","Kana","Kore","Jpan","Yiii"],"SouthEastAsian":["Bali","Batk","Bugi","Java","Khmr","Laoo","Mymr","Thai"],"Mongolian":["Mong"],"SignWriting":["Sgnw"],"NativeAmerican":["Cher","Cans"],"Special":["Zyyy"]},"rtlscripts":["Arab","Hebr","Syrc","Nkoo","Thaa"],"regiongroups":{"WW":1,"SP":1,"AM":2,"EU":3,"ME":3,"AF":3,"AS":4,"PA":4},"territories":{"AC":["en"],"AD":["ca","es","fr"],"AE":["ar","ml","ps","bal","fa"],"AF":["fa","ps","haz","uz-arab","tk-latn","prd","bal","ug-arab","kk-arab"],"AG":["en","pt"],"AI":["en"],"AL":["sq","el","mk"],"AM":["hy","ku-latn","az-latn"],"AO":["pt","umb","kmb","ln"],"AQ":["und"],"AR":["es","en","cy","gn"],"AS":["sm","en"],"AT":["de","bar","en","hr","sl","hu"],"AU":["en","zh-hant","it","wbp"],"AW":["nl","pap","en"],"AX":["sv"],"AZ":["az-latn","az-cyrl","tly-latn","ku-latn","ttt-latn","tkr-latn"],"BA":["bs-cyrl","bs-latn","en","hr","sr-cyrl","sr-latn"],"BB":["en"],"BD":["bn","en","rkt","syl","ccp","my","grt","mni"],"BE":["en","nl","fr","vls","wa","de"],"BF":["mos","dyu","fr"],"BG":["bg","en","tr"],"BH":["ar","ml"],"BI":["rn","fr","sw"],"BJ":["fr","fon","yo"],"BL":["fr"],"BM":["en"],"BN":["ms-latn","zh-hant","ms-arab","en"],"BO":["es","qu","ay","gn","aro"],"BQ":["pap","nl"],"BR":["pt","en","de","it","ja","ko","kgp","gub","yrl","xav"],"BS":["en"],"BT":["dz","ne","tsj","en","lep"],"BV":["und"],"BW":["en","tn","af"],"BY":["be","ru"],"BZ":["en","es"],"CA":["en","fr","it","de","pdt","cr-cans","crk","yi","iu-cans","iu-latn","moe","crj","atj","crl","csw","crm","ikt","moh","dgr","den","scs","nsk","chp","gwi"],"CC":["ms-arab","en"],"CD":["sw","lua","swc","fr","ln","lu","kg","lol","rw"],"CF":["fr","sg","ln"],"CG":["fr","ln"],"CH":["de","en","fr","gsw","it","lmo","rm","rmo","wae"],"CI":["fr","bci","sef","dnj","kfo","bqv"],"CK":["en"],"CL":["es","en","arn"],"CM":["fr","en","bum","ff","ewo","ybb","bbj","nnh","bkm","bas","bax","byv","mua","maf","bfd","bss","kkj","dua","mgo","ar","jgo","ksf","agq","ha-arab","nmg","yav"],"CN":["zh-hans","wuu","hsn","hak","nan","gan","ii","ug-arab","za","mn-mong","bo","ko","kk-arab","lis","ky-arab","nxq","khb","tdd","lcp","en","ru","vi","uz-cyrl","lzh"],"CO":["es","guc"],"CP":["und"],"CR":["es"],"CU":["es"],"CV":["kea","pt"],"CW":["pap","nl","es"],"CX":["en"],"CY":["el","en","tr","hy","ar"],"CZ":["cs","en","de","pl"],"DE":["de","en","fr","nds","nl","it","es","ru","vmf","tr","da","hr","ku-latn","el","ksh","pl","hsb","frr","dsb","frs","stq","pfl"],"DG":["en"],"DJ":["aa","so","ar","fr"],"DK":["da","en","de","kl","jut"],"DM":["en"],"DO":["es","en"],"DZ":["arq","ar","fr","kab","en"],"EA":["es"],"EC":["es","qu","qug"],"EE":["et","ru","vro"],"EG":["ar","arz","en","el"],"EH":["ar"],"ER":["ti","en","tig","ar","aa","ssy","byn"],"ES":["es","en","ca","gl","eu","ast","ext"],"ET":["en","am","om","so","ti","sid","wal","aa"],"FI":["fi","en","sv","ru","et","rmf","se","smn","sms"],"FJ":["en","hi","hif-deva","fj","rtm"],"FK":["en"],"FM":["en","chk","pon","kos","yap","uli"],"FO":["fo"],"FR":["fr","en","oc","it","pt","pcd","gsw","br","co","ca","nl","eu","frp","ia"],"GA":["fr","puu"],"GB":["en","sco","pa-guru","cy","bn","zh-hant","syl","el","it","ks-arab","gd","yi","ml","ga","fr","kw"],"GD":["en"],"GE":["ka","xmf","ru","hy","ab","os","ku-latn"],"GF":["fr","gcr","zh-hant"],"GG":["en"],"GH":["ak","en","ee","abr","gur","ada","gaa","nzi","ha-latn","saf"],"GI":["en"],"GL":["kl","da"],"GM":["en","man-latn"],"GN":["fr","ff","man-nkoo","sus","nqo","kpe"],"GP":["fr"],"GQ":["es","fan","fr","bvb"],"GR":["el","en","pnt-grek","mk","tr","bg","sq","tsd"],"GS":["und"],"GT":["es","quc"],"GU":["en","ch"],"GW":["pt"],"GY":["en"],"HK":["zh-hant","en","zh-hans"],"HM":["und"],"HN":["es","en"],"HR":["hr","en","it"],"HT":["ht","fr"],"HU":["hu","en","de","ro","hr","sk","sl"],"IC":["es"],"ID":["id","jv","su","mad","ms-arab","min","bew","ban","bug","bjn","ace","sas","bbc","zh-hant","mak","ljp","rej","gor","nij","kge","aoz","kvr","lbw","gay","rob","mdr","sxn","sly","mwv"],"IE":["en","ga"],"IL":["he","en","ar","ru","ro","yi","pl","lad","hu","am","ti","ml"],"IM":["en","gv"],"IN":["hi","en","bn","te","mr","ta","ur","gu","kn","ml","or","pa-guru","bho","awa","as","bgc","mag","mwr","mai","hne","dcc","bjj","ne","sat","wtm","rkt","ks-arab","kok","gom","swv","gbm","lmn","sd-arab","gon-telu","kfy","doi","kru","sck","wbq","xnr","tcy","wbr","khn","brx","noe","bhb","mni","raj","hoc","mtr","unr-beng","bhi","hoj","kha","kfr","grt","unx-beng","bfy","srx","saz","ccp","sd-deva","bfq","njo","ria","bo","bpy","bft","bra","lep","btv","lif-deva","lah","sa","kht","dv","dz"],"IO":["en"],"IQ":["ar","en","ckb","fa","syr"],"IR":["fa","az-arab","azb","mzn","glk","ckb","tk-latn","lrc","ar","bal","rmt","bqi","luz","lki","prd","hy","ps","ka","gbz","kk-arab"],"IS":["is","da"],"IT":["it","en","fr","sc","de","vec","nap","lij","scn","sl","sdc","fur","egl","ca","el","lmo","pms","hr","rgn"],"JE":["en"],"JM":["en","jam"],"JO":["ar","en"],"JP":["ja","ryu","ko"],"KE":["sw","en","ki","luy","luo","kam","kln","guz","mer","mas","ebu","so","dav","teo","pko","om","saq","ar","pa-guru","gu"],"KG":["ky-cyrl","ru"],"KH":["km","cja","kdt"],"KI":["en","gil"],"KM":["ar","fr","zdj"],"KN":["en"],"KP":["ko"],"KR":["ko"],"KW":["ar"],"KY":["en"],"KZ":["ru","kk-cyrl","en","de","ug-cyrl"],"LA":["lo","kjg","kdt"],"LB":["ar","en","hy","ku-arab","fr"],"LC":["en"],"LI":["de","gsw","wae"],"LK":["si","ta","en"],"LR":["en","kpe","vai-vaii","men","vai-latn"],"LS":["st","en","zu","ss","xh"],"LT":["lt","en","ru","sgs"],"LU":["fr","lb","de"],"LV":["lv","ru","ltg"],"LY":["ar"],"MA":["ary","ar","zgh","fr","en","tzm-latn","shi-latn","shi-tfng","rif-latn","rif-tfng","es"],"MC":["fr"],"MD":["ro","uk","bg","gag","ru"],"ME":["sr-latn","sq","sr-cyrl"],"MF":["fr"],"MG":["mg","fr","en"],"MH":["en","mh"],"MK":["mk","sq","tr"],"ML":["bm-latn","fr","ffm","snk","mwk","ses","tmh","bm-nkoo","khq","dtm","kao","ar","bmq","bze"],"MM":["my","shn","kac","mnw","kht"],"MN":["mn-cyrl","kk-arab","zh-hans","ru","ug-cyrl"],"MO":["zh-hant","pt","zh-hans","en"],"MP":["en","ch"],"MQ":["fr"],"MR":["ar","fr","ff","wo"],"MS":["en"],"MT":["mt","en"],"MU":["mfe","en","bho","ur","fr","ta"],"MV":["dv"],"MW":["en","ny","tum","tog","zu"],"MX":["es","en","yua","nhe","nhw","maz","nch","sei"],"MY":["ms-latn","en","zh-hant","ta","iba","jv","zmi","dtp","ml","bug","bjn"],"MZ":["pt","vmw","ndc","ts","ngl","seh","mgh","rng","ny","yao","sw","zu"],"NA":["af","kj","ng","naq","hz","en","de","tn"],"NC":["fr"],"NE":["ha-latn","fr","dje","fuq","tmh","ar","twq"],"NF":["en"],"NG":["en","pcm","ha-latn","ig","yo","fuv","tiv","efi","ibb","ha-arab","bin","kaj","kcg","ar","cch","amo"],"NI":["es"],"NL":["nl","en","li","fy","gos","id","zea","rif-latn","tr","nds"],"NO":["nb","nn","se"],"NP":["ne","mai","bho","new","jml","en","taj","awa","thl","bap","tdg","thr","mgp","lif-deva","thq","mrd","bfy","xsr","rjs","tsf","hi","ggn","gvr","bo","tkt","tdh","bn","unr-deva","lep"],"NR":["en","na"],"NU":["en","niu"],"NZ":["en","mi"],"OM":["ar","bal","fa"],"PA":["es","en","zh-hant"],"PE":["es","qu","ay"],"PF":["fr","ty","zh-hant"],"PG":["tpi","en","ho"],"PH":["en","fil","es","ceb","ilo","hil","bik","war","bhk","pam","pag","mdh","tsg","zh-hant","cps","krj","bto","hnn","tbw","bku"],"PK":["ur","pa-arab","en","lah","ps","sd-arab","skr","bal","brh","hno","fa","hnd","tg-arab","gju","bft","kvx","khw","mvy","kxp","gjk","ks-arab","btv"],"PL":["pl","en","szl","be","uk","csb","de","sli","lt"],"PM":["fr","en"],"PN":["en"],"PR":["es","en"],"PS":["ar"],"PT":["pt","en","gl"],"PW":["pau","en"],"PY":["gn","es","de"],"QA":["ar","fa","ml"],"RE":["fr","rcf","ta"],"RO":["ro","en","hu","de","tr","sr-latn","bg","el","pl"],"RS":["sr-cyrl","sr-latn","sq","hu","ro","hr","sk","uk"],"RU":["ru","tt","ba","cv","hy","ce","av","udm","chm","sah","os","kbd","myv","dar","bua","mdf","kum","kv","lez","krc","inh","tyv","az-cyrl","ady","krl","lbe","koi","mrj","alt","fi","sr-latn","vep","mn-cyrl","izh","vot","cu"],"RW":["rw","en","fr"],"SA":["ar"],"SB":["en","rug"],"SC":["crs","fr","en"],"SD":["ar","en","nus","ha-arab"],"SE":["sv","en","fi","fit","se","rmu","yi","smj","sma","ia"],"SG":["en","zh-hans","ms-latn","ta","ml","pa-guru"],"SH":["en"],"SI":["sl","en","hu","it"],"SJ":["nb","ru"],"SK":["sk","en","hu","uk","pl","de"],"SL":["kri","en","men","tem"],"SM":["it","eo"],"SN":["wo","fr","ff","srr","dyo"],"SO":["so","ar","sw","om"],"SR":["nl","srn","zh-hant"],"SS":["ar","en"],"ST":["pt"],"SV":["es"],"SX":["en","es","vic","nl"],"SY":["ar","ku-latn","fr","hy","syr"],"SZ":["en","ss","zu","ts"],"TA":["en"],"TC":["en"],"TD":["fr","ar"],"TF":["fr"],"TG":["fr","ee"],"TH":["th","en","tts","nod","sou","mfa","zh-hant","kxm","kdt","mnw","shn","lcp","lwl"],"TJ":["tg-cyrl","ru","fa","ar"],"TK":["en","tkl"],"TL":["pt","tet"],"TM":["tk-latn","ru","uz-latn","ku-latn"],"TN":["aeb","ar","fr"],"TO":["to","en"],"TR":["tr","en","ku-latn","zza","kbd","az-latn","ar","bgx","bg","ady","kiu","hy","ka","sr-latn","lzz-latn","sq","ab","el","tru","uz-latn","ky-latn","kk-cyrl"],"TT":["en","es"],"TV":["tvl","en"],"TW":["zh-hant","trv"],"TZ":["sw","en","suk","nym","kde","bez","ksb","mas","mgy","asa","lag","jmc","rof","vun","rwk","sbp"],"UA":["uk","ru","pl","yi","rue","be","ro","bg","tr","hu","el"],"UG":["sw","lg","nyn","cgg","xog","en","teo","laj","ach","myx","rw","ttj","hi"],"UM":["en"],"US":["en","es","zh-hant","fr","de","fil","it","vi","ko","ru","nv","yi","pdc","haw","frc","chr","esu","dak","cho","lkt","ik","mus"],"UY":["es"],"UZ":["uz-latn","uz-cyrl","ru","kaa","tr"],"VA":["it","la"],"VC":["en"],"VE":["es"],"VG":["en"],"VI":["en"],"VN":["vi","zh-hant","cjm"],"VU":["bi","en","fr"],"WF":["wls","fr","fud"],"WS":["sm","en"],"XK":["sq","aln","sr-cyrl","sr-latn"],"YE":["ar","en"],"YT":["swb","fr","buc","sw"],"ZA":["en","zu","xh","af","nso","tn","st","ts","ss","ve","hi","nr","sw"],"ZM":["bem","en","ny","loz"],"ZW":["sn","en","nd","mxc","ndc","kck","ny","ve","tn"],"ZZ":[]}};
+ $.uls.data = {"languages":{"aa":["Latn",["AF"],"Qafár af"],"ab":["Cyrl",["EU"],"Аҧсшәа"],"abs":["Latn",["AS"],"Bahasa Ambon"],"ace":["Latn",["AS","PA"],"Acèh"],"acf":["Latn",["AM"],"kwéyòl"],"ady":["Cyrl",["EU","ME"],"Адыгабзэ"],"ady-cyrl":["ady"],"ady-latn":["Latn",["EU","ME"],"Adygabze"],"aeb":["aeb-arab"],"aeb-arab":["Arab",["AF"],"تونسي"],"aeb-latn":["Latn",["AF"],"Tûnsî"],"af":["Latn",["AF"],"Afrikaans"],"ahr":["Deva",["AS"],"अहिराणी"],"ak":["Latn",["AF"],"Akan"],"akz":["Latn",["AM"],"Albaamo innaaɬiilka"],"aln":["Latn",["EU"],"Gegë"],"am":["Ethi",["AF"],"አማርኛ"],"an":["Latn",["EU"],"aragonés"],"ang":["Latn",["EU"],"Ænglisc"],"anp":["Deva",["AS"],"अङ्गिका"],"ar":["Arab",["ME"],"العربية"],"arc":["Syrc",["ME"],"ܐܪܡܝܐ"],"arn":["Latn",["AM"],"mapudungun"],"aro":["Latn",["AM"],"Araona"],"arq":["Arab",["AF"],"جازايرية"],"ary":["Latn",["ME"],"Maġribi"],"arz":["Arab",["ME"],"مصرى"],"as":["Beng",["AS"],"অসমীয়া"],"ase":["Sgnw",["AM"],"American sign language"],"ast":["Latn",["EU"],"asturianu"],"av":["Cyrl",["EU"],"авар"],"avk":["Latn",["WW"],"Kotava"],"ay":["Latn",["AM"],"Aymar aru"],"az":["az-latn"],"az-arab":["Arab",["AS","ME"],"تۆرکجه"],"az-latn":["Latn",["EU","ME"],"azərbaycanca"],"az-cyrl":["Cyrl",["EU","ME"],"азәрбајҹанҹа"],"azb":["az-arab"],"azj":["az-latn"],"ba":["Cyrl",["EU"],"башҡортса"],"ban":["Bali",["AS"],"ᬩᬲᬩᬮᬶ"],"bar":["Latn",["EU"],"Boarisch"],"bat-smg":["sgs"],"bbc-latn":["Latn",["AS"],"Batak Toba"],"bbc-batk":["Batk",["AS"],"Batak Toba"],"bbc":["Latn",["AS"],"Batak Toba"],"bcc":["Arab",["AS","ME"],"جهلسری بلوچی"],"bcl":["Latn",["AS"],"Bikol Central"],"be-tarask":["Cyrl",["EU"],"беларуская (тарашкевіца)"],"be-x-old":["be-tarask"],"be":["Cyrl",["EU"],"беларуская"],"bew":["Latn",["AS"],"Bahasa Betawi"],"bfa":["Latn",["AF"],"Bari"],"bfq":["Taml",["AS"],"படகா"],"bg":["Cyrl",["EU"],"български"],"bgn":["Arab",["AS","ME"],"روچ کپتین بلوچی"],"bh":["Deva",["AS"],"भोजपुरी"],"bho":["Deva",["AS"],"भोजपुरी"],"bi":["Latn",["PA"],"Bislama"],"bjn":["Latn",["AS"],"Bahasa Banjar"],"bm":["Latn",["AF"],"bamanankan"],"bn":["Beng",["AS"],"বাংলা"],"bo":["Tibt",["AS"],"བོད་ཡིག"],"bpy":["Beng",["AS"],"বিষ্ণুপ্রিয়া মণিপুরী"],"bqi":["Arab",["AS","ME"],"بختیاری"],"br":["Latn",["EU"],"brezhoneg"],"brh":["Latn",["ME","AS"],"Bráhuí"],"brx":["Deva",["AS"],"बड़ो"],"bs":["Latn",["EU"],"bosanski"],"bto":["Latn",["AS"],"Iriga Bicolano"],"bug":["Bugi",["AS"],"ᨅᨔ ᨕᨘᨁᨗ"],"bxr":["Cyrl",["AS"],"буряад"],"ca":["Latn",["EU"],"català"],"cbk-zam":["Latn",["AS"],"Chavacano de Zamboanga"],"cdo":["Latn",["AS"],"Mìng-dĕ̤ng-ngṳ̄"],"ce":["Cyrl",["EU"],"нохчийн"],"ceb":["Latn",["AS"],"Cebuano"],"ch":["Latn",["PA"],"Chamoru"],"cho":["Latn",["AM"],"Choctaw"],"chr":["Cher",["AM"],"ᏣᎳᎩ"],"chy":["Latn",["AM"],"Tsetsêhestâhese"],"ciw":["Latn",["AM"],"Ojibwemowin"],"cjy":["cjy-hant"],"cjy-hans":["Hans",["AS"],"晋语(简化字)"],"cjy-hant":["Hant",["AS"],"晉語"],"ckb":["Arab",["ME"],"کوردیی ناوەندی"],"cnh":["Latn",["AS"],"Lai holh"],"co":["Latn",["EU"],"corsu"],"cps":["Latn",["AS"],"Capiceño"],"cr":["Cans",["AM"],"ᓀᐦᐃᔭᐍᐏᐣ"],"cr-cans":["cr"],"cr-latn":["Latn",["AM"],"Nēhiyawēwin"],"crh":["Latn",["EU"],"qırımtatarca"],"crh-cyrl":["Cyrl",["EU"],"къырымтатарджа"],"crh-latn":["crh"],"cs":["Latn",["EU"],"čeština"],"csb":["Latn",["EU"],"kaszëbsczi"],"cu":["Cyrl",["EU"],"словѣньскъ \/ ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ"],"cv":["Cyrl",["EU"],"Чӑвашла"],"cy":["Latn",["EU"],"Cymraeg"],"da":["Latn",["EU"],"dansk"],"de-at":["Latn",["EU"],"Österreichisches Deutsch"],"de-ch":["Latn",["EU"],"Schweizer Hochdeutsch"],"de-formal":["Latn",["EU"],"Deutsch (Sie-Form)"],"de":["Latn",["EU"],"Deutsch"],"din":["Latn",["AF"],"Thuɔŋjäŋ"],"diq":["Latn",["EU","AS"],"Zazaki"],"dsb":["Latn",["EU"],"dolnoserbski"],"dtp":["Latn",["AS"],"Dusun Bundu-liwan"],"dty":["Deva",["AS"],"डोटेली"],"dv":["Thaa",["AS"],"ދިވެހިބަސް"],"dz":["Tibt",["AS"],"ཇོང་ཁ"],"ee":["Latn",["AF"],"eʋegbe"],"egl":["Latn",["EU"],"Emiliàn"],"el":["Grek",["EU"],"Ελληνικά"],"eml":["Latn",["EU"],"emiliàn e rumagnòl"],"en-ca":["Latn",["AM"],"Canadian English"],"en-gb":["Latn",["EU","AS","PA"],"British English"],"en":["Latn",["EU","AM","AF","ME","AS","PA","WW"],"English"],"eo":["Latn",["WW"],"Esperanto"],"es-419":["Latn",["AM"],"español de America Latina"],"es-formal":["Latn",["EU","AM","AF","WW"],"español (formal)"],"es":["Latn",["EU","AM","AF","WW"],"español"],"esu":["Latn",["AM"],"Yup'ik"],"et":["Latn",["EU"],"eesti"],"eu":["Latn",["EU"],"euskara"],"ext":["Latn",["EU"],"estremeñu"],"fa":["Arab",["AS","ME"],"فارسی"],"ff":["Latn",["AF"],"Fulfulde"],"fi":["Latn",["EU"],"suomi"],"fil":["tl"],"fit":["Latn",["EU"],"meänkieli"],"fiu-vro":["vro"],"fj":["Latn",["PA"],"Na Vosa Vakaviti"],"fo":["Latn",["EU"],"føroyskt"],"fr":["Latn",["EU","AM","WW"],"français"],"frc":["Latn",["AM"],"français cadien"],"frp":["Latn",["EU"],"arpetan"],"frr":["Latn",["EU"],"Nordfriisk"],"fur":["Latn",["EU"],"furlan"],"fy":["Latn",["EU"],"Frysk"],"ga":["Latn",["EU"],"Gaeilge"],"gag":["Latn",["EU"],"Gagauz"],"gah":["Latn",["AS"],"Alekano"],"gan-hans":["Hans",["AS"],"赣语(简体)"],"gan-hant":["gan"],"gan":["Hant",["AS"],"贛語"],"gbz":["Latn",["AS"],"Dari-e Mazdeyasnā"],"gcf":["Latn",["AM"],"Guadeloupean Creole French"],"gd":["Latn",["EU"],"Gàidhlig"],"gl":["Latn",["EU"],"galego"],"glk":["Arab",["AS","ME"],"گیلکی"],"gn":["Latn",["AM"],"Avañe'ẽ"],"gom":["gom-deva"],"gom-deva":["Deva",["AS"],"गोवा कोंकणी"],"gom-latn":["Latn",["AS"],"Gova Konknni"],"got":["Goth",["EU"],"𐌲𐌿𐍄𐌹𐍃𐌺"],"grc":["Grek",["EU"],"Ἀρχαία ἑλληνικὴ"],"gsw":["Latn",["EU"],"Alemannisch"],"gu":["Gujr",["AS"],"ગુજરાતી"],"guc":["Latn",["AM"],"Wayúu"],"gur":["Latn",["AF"],"Gurenɛ"],"gv":["Latn",["EU"],"Gaelg"],"ha-arab":["Arab",["AF"],"هَوُسَ"],"ha-latn":["Latn",["AF"],"Hausa"],"ha":["ha-latn"],"hak":["Latn",["AS"],"Hak-kâ-fa"],"haw":["Latn",["AM","PA"],"Hawai`i"],"he":["Hebr",["ME"],"עברית"],"hi":["Deva",["AS"],"हिन्दी"],"hif":["Latn",["PA","AS"],"Fiji Hindi"],"hif-deva":["Deva",["AS"],"फ़ीजी हिन्दी"],"hif-latn":["hif"],"hil":["Latn",["AS"],"Ilonggo"],"hne":["Deva",["AS"],"छत्तीसगढ़ी"],"ho":["Latn",["PA"],"Hiri Motu"],"hr":["Latn",["EU"],"hrvatski"],"hrx":["Latn",["AM"],"Hunsrik"],"hsb":["Latn",["EU"],"hornjoserbsce"],"hsn":["Hans",["AS"],"湘语"],"ht":["Latn",["AM"],"Kreyòl ayisyen"],"hu-formal":["Latn",["EU"],"Magyar (magázó)"],"hu":["Latn",["EU"],"magyar"],"hy":["Armn",["EU","ME"],"Հայերեն"],"hz":["Latn",["AF"],"Otsiherero"],"ia":["Latn",["WW"],"interlingua"],"id":["Latn",["AS"],"Bahasa Indonesia"],"ie":["Latn",["WW"],"Interlingue"],"ig":["Latn",["AF"],"Igbo"],"ii":["Yiii",["AS"],"ꆇꉙ"],"ik":["Latn",["AM"],"Iñupiak"],"ike-cans":["Cans",["AM"],"ᐃᓄᒃᑎᑐᑦ"],"ike-latn":["Latn",["AM"],"inuktitut"],"ilo":["Latn",["AS"],"Ilokano"],"inh":["Cyrl",["EU"],"ГӀалгӀай"],"io":["Latn",["WW"],"Ido"],"is":["Latn",["EU"],"íslenska"],"it":["Latn",["EU"],"italiano"],"iu":["Cans",["AM"],"ᐃᓄᒃᑎᑐᑦ"],"ja":["Jpan",["AS"],"日本語"],"jam":["Latn",["AM"],"Patois"],"jbo":["Latn",["WW"],"lojban"],"jdt":["jdt-cyrl"],"jdt-cyrl":["Cyrl",["EU","AS"],"жугьури"],"jut":["Latn",["EU"],"jysk"],"jv":["Latn",["AS","PA"],"Basa Jawa"],"jv-java":["Java",["AS","PA"],"ꦧꦱꦗꦮ"],"ka":["Geor",["EU"],"ქართული"],"kaa":["Latn",["AS"],"Qaraqalpaqsha"],"kab":["Latn",["AF","EU"],"Taqbaylit"],"kac":["Latn",["AS"],"Jinghpaw"],"kbd-cyrl":["kbd"],"kbd-latn":["Latn",["EU"],"Qabardjajəbza"],"kbd":["Cyrl",["EU","ME"],"Адыгэбзэ"],"kea":["Latn",["AF"],"Kabuverdianu"],"kg":["Latn",["AF"],"Kongo"],"kgp":["Latn",["AM"],"Kaingáng"],"khw":["Arab",["ME","AS"],"کھوار"],"ki":["Latn",["AF"],"Gĩkũyũ"],"kiu":["Latn",["EU","ME"],"Kırmancki"],"kj":["Latn",["AF"],"Kwanyama"],"kjh":["Cyrl",["AS"],"хакас"],"kk":["kk-cyrl"],"kk-arab":["Arab",["EU","AS"],"قازاقشا (تٶتە)"],"kk-cn":["kk-arab"],"kk-cyrl":["Cyrl",["EU","AS"],"қазақша"],"kk-kz":["kk-cyrl"],"kk-latn":["Latn",["EU","AS","ME"],"qazaqşa"],"kk-tr":["kk-latn"],"kl":["Latn",["AM","EU"],"kalaallisut"],"km":["Khmr",["AS"],"ភាសាខ្មែរ"],"kn":["Knda",["AS"],"ಕನ್ನಡ"],"knn":["Deva",["AS"],"महाराष्ट्रीय कोंकणी"],"ko-kp":["Kore",["AS"],"한국어 (조선)"],"ko":["Kore",["AS"],"한국어"],"koi":["Cyrl",["EU"],"Перем Коми"],"kr":["Latn",["AF"],"Kanuri"],"krc":["Cyrl",["EU"],"къарачай-малкъар"],"kri":["Latn",["AF"],"Krio"],"krj":["Latn",["ME","EU"],"Kinaray-a"],"krl":["Latn",["EU"],"Karjala"],"ks-arab":["Arab",["AS"],"کٲشُر"],"ks-deva":["Deva",["AS"],"कॉशुर"],"ks":["Arab",["AS"],"کٲشُر"],"ksf":["Latn",["AF"],"Bafia"],"ksh":["Latn",["EU"],"Ripoarisch"],"ku":["ku-latn"],"ku-arab":["Arab",["EU","ME"],"كوردي"],"ku-latn":["Latn",["EU","ME"],"Kurdî"],"kv":["Cyrl",["EU"],"коми"],"kw":["Latn",["EU"],"kernowek"],"ky":["Cyrl",["AS"],"Кыргызча"],"la":["Latn",["EU"],"Latina"],"lad":["lad-latn"],"lad-latn":["Latn",["ME","EU","AM"],"Ladino"],"lad-hebr":["Hebr",["ME","EU","AM"],"לאדינו"],"lb":["Latn",["EU"],"Lëtzebuergesch"],"lbe":["Cyrl",["EU"],"лакку"],"lez":["Cyrl",["EU"],"лезги"],"lfn":["Latn",["WW"],"Lingua Franca Nova"],"lg":["Latn",["AF"],"Luganda"],"li":["Latn",["EU"],"Limburgs"],"lij":["Latn",["EU"],"Ligure"],"liv":["Latn",["EU"],"Līvõ kēļ"],"lki":["Arab",["AS","ME"],"لەکی‎"],"lkt":["Latn",["AM"],"Lakȟótiyapi"],"lld":["Latn",["EU"],"Ladin"],"lmo":["Latn",["EU"],"lumbaart"],"ln":["Latn",["AF"],"lingála"],"lo":["Laoo",["AS"],"ລາວ"],"loz":["Latn",["AF"],"Silozi"],"lt":["Latn",["EU"],"lietuvių"],"lrc":["Arab",["AS","ME"],"لۊری شومالی"],"ltg":["Latn",["EU"],"latgaļu"],"lud":["Latn",["EU"],"lüüdi"],"lus":["Latn",["AS"],"Mizo ţawng"],"lut":["Latn",["AM"],"dxʷləšucid"],"luz":["Arab",["ME"],"لئری دوٙمینی"],"lv":["Latn",["EU"],"latviešu"],"lzh":["Hant",["AS"],"文言"],"lzz":["Latn",["EU","ME"],"Lazuri"],"mai":["Deva",["AS"],"मैथिली"],"map-bms":["Latn",["AS"],"Basa Banyumasan"],"mdf":["Cyrl",["EU"],"мокшень"],"mfe":["Latn",["AM"],"Morisyen"],"mg":["Latn",["AF"],"Malagasy"],"mh":["Latn",["PA"],"Ebon"],"mhr":["Cyrl",["EU"],"олык марий"],"mi":["Latn",["PA"],"Māori"],"mic":["Latn",["AM"],"Mi'kmaq"],"min":["Latn",["AS"],"Baso Minangkabau"],"miq":["Latn",["AM"],"Mískitu"],"mk":["Cyrl",["EU"],"македонски"],"ml":["Mlym",["AS","ME"],"മലയാളം"],"mn":["Cyrl",["AS"],"монгол"],"mnc":["Mong",["AS"],"ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ"],"mni":["Beng",["AS"],"মেইতেই লোন্"],"mnw":["Mymr",["AS"],"ဘာသာ မန်"],"mo":["Cyrl",["EU"],"молдовеняскэ"],"mr":["Deva",["AS","ME"],"मराठी"],"mrj":["Cyrl",["EU"],"кырык мары"],"ms":["Latn",["AS"],"Bahasa Melayu"],"mt":["Latn",["EU"],"Malti"],"mui":["Latn",["AS"],"Musi"],"mus":["Latn",["AM"],"Mvskoke"],"mwl":["Latn",["EU"],"Mirandés"],"mwv":["Latn",["AS"],"Behase Mentawei"],"mww":["mww-latn"],"mww-latn":["Latn",["AS"],"Hmoob Dawb"],"my":["Mymr",["AS"],"မြန်မာဘာသာ"],"myv":["Cyrl",["EU"],"эрзянь"],"mzn":["Arab",["ME","AS"],"مازِرونی"],"na":["Latn",["PA"],"Dorerin Naoero"],"nah":["Latn",["AM"],"Nāhuatl"],"nan":["Latn",["AS"],"Bân-lâm-gú"],"nap":["Latn",["EU"],"Napulitano"],"nb":["Latn",["EU"],"norsk (bokmål)"],"nds-nl":["Latn",["EU"],"Nedersaksisch"],"nds":["Latn",["EU"],"Plattdüütsch"],"ne":["Deva",["AS"],"नेपाली"],"new":["Deva",["AS"],"नेपाल भाषा"],"ng":["Latn",["AF"],"Oshiwambo"],"niu":["Latn",["PA"],"ko e vagahau Niuē"],"njo":["Latn",["AS"],"Ao"],"nl-informal":["Latn",["EU","AM"],"Nederlands (informeel)"],"nl":["Latn",["EU","AM"],"Nederlands"],"nn":["Latn",["EU"],"norsk (nynorsk)"],"no":["Latn",["EU"],"norsk"],"nov":["Latn",["WW"],"Novial"],"nqo":["Nkoo",["AF"],"ߒߞߏ"],"nrm":["Latn",["EU"],"Nouormand"],"nso":["Latn",["AF"],"Sesotho sa Leboa"],"nv":["Latn",["AM"],"Diné bizaad"],"ny":["Latn",["AF"],"Chi-Chewa"],"oc":["Latn",["EU"],"occitan"],"olo":["Latn",["AS","EU"],"Livvin-Karjalan"],"om":["Latn",["AF"],"Oromoo"],"or":["Orya",["AS"],"ଓଡ଼ିଆ"],"os":["Cyrl",["EU"],"Ирон"],"ota":["Arab",["AS","EU"],"لسان عثمانى"],"pa":["pa-guru"],"pa-guru":["Guru",["AS"],"ਪੰਜਾਬੀ"],"pag":["Latn",["AS"],"Pangasinan"],"pam":["Latn",["AS"],"Kapampangan"],"pap":["Latn",["AM"],"Papiamentu"],"pbb":["Latn",["AM"],"Nasa Yuwe"],"pcd":["Latn",["EU"],"Picard"],"pdc":["Latn",["EU","AM"],"Deitsch"],"pdt":["Latn",["EU","AM"],"Plautdietsch"],"pfl":["Latn",["EU"],"Pälzisch"],"pi":["Deva",["AS"],"पालि"],"pih":["Latn",["PA"],"Norfuk \/ Pitkern"],"pis":["Latn",["PA"],"Pijin"],"pko":["Latn",["AF"],"Pökoot"],"pl":["Latn",["EU"],"polski"],"pms":["Latn",["EU"],"Piemontèis"],"pnb":["Arab",["AS","ME"],"پنجابی"],"pnt":["Grek",["EU"],"Ποντιακά"],"ppl":["Latn",["AM"],"Nawat"],"prg":["Latn",["EU"],"Prūsiskan"],"prs":["Arab",["AS","ME"],"دری"],"ps":["Arab",["AS","ME"],"پښتو"],"pt-br":["Latn",["AM"],"português do Brasil"],"pt":["Latn",["EU","AM","AS","PA","AF","WW"],"português"],"qu":["Latn",["AM"],"Runa Simi"],"qug":["Latn",["AM"],"Runa shimi"],"rap":["Latn",["AM"],"arero rapa nui"],"rcf":["Latn",["AF"],"Kreol Réyoné"],"rgn":["Latn",["EU"],"Rumagnôl"],"rif":["Latn",["AF"],"Tarifit"],"rki":["Mymr",["AS"],"ရခိုင်"],"rm":["Latn",["EU"],"rumantsch"],"rmf":["Latn",["EU"],"kaalengo tšimb"],"rmy":["Latn",["EU"],"Romani"],"rn":["Latn",["AF"],"Kirundi"],"ro":["Latn",["EU"],"română"],"roa-rup":["rup"],"roa-tara":["Latn",["EU"],"tarandíne"],"rtm":["Latn",["PA"],"Faeag Rotuma"],"ru":["Cyrl",["EU","AS","ME"],"русский"],"rue":["Cyrl",["EU"],"русиньскый"],"rup":["Latn",["EU"],"armãneashti"],"ruq":["Cyrl",["EU"],"Влахесте"],"ruq-cyrl":["ruq"],"ruq-grek":["Grek",["EU"],"Megleno-Romanian (Greek script)"],"ruq-latn":["Latn",["EU"],"Vlăheşte"],"rut":["Cyrl",["EU"],"мыхаӀбишды"],"rw":["Latn",["AF"],"Kinyarwanda"],"rwr":["Deva",["AS"],"मारवाड़ी"],"ryu":["Kana",["AS"],"ʔucināguci"],"sa":["Deva",["AS"],"संस्कृतम्"],"sah":["Cyrl",["EU","AS"],"саха тыла"],"sat":["Latn",["AS"],"Santali"],"saz":["Saur",["AS"],"ꢱꣃꢬꢵꢯ꣄ꢡ꣄ꢬꢵ"],"sc":["Latn",["EU"],"sardu"],"scn":["Latn",["EU"],"sicilianu"],"sco":["Latn",["EU"],"Scots"],"sd":["Arab",["AS"],"سنڌي"],"sdc":["Latn",["EU"],"Sassaresu"],"sdh":["Arab",["ME"],"کوردی خوارگ"],"se":["Latn",["EU"],"sámegiella"],"ses":["Latn",["AF"],"Koyraboro Senni"],"sei":["Latn",["AM"],"Cmique Itom"],"sg":["Latn",["AF"],"Sängö"],"sgs":["Latn",["EU"],"žemaitėška"],"sh":["Latn",["EU"],"srpskohrvatski"],"shi-latn":["Latn",["AF"],"Tašlḥiyt"],"shi-tfng":["Tfng",["AF"],"ⵜⴰⵛⵍⵃⵉⵜ"],"shi":["shi-latn"],"shn":["Mymr",["AS"],"လိၵ်ႈတႆး"],"si":["Sinh",["AS"],"සිංහල"],"simple":["Latn",["WW"],"Simple English"],"sk":["Latn",["EU"],"slovenčina"],"sl":["Latn",["EU"],"slovenščina"],"sli":["Latn",["EU"],"Schläsch"],"slr":["Latn",["AS"],"Salırça"],"sly":["Latn",["AS"],"Bahasa Selayar"],"syc":["Syrc",["ME"],"ܣܘܪܝܝܐ"],"sm":["Latn",["PA"],"Gagana Samoa"],"sma":["Latn",["EU"],"åarjelsaemien"],"smj":["Latn",["EU"],"julevsámegiella"],"smn":["Latn",["EU"],"anarâškielâ"],"sms":["Latn",["EU"],"sää´mǩiõll"],"sn":["Latn",["AF"],"chiShona"],"so":["Latn",["AF"],"Soomaaliga"],"son":["Latn",["AF"],"soŋay"],"sq":["Latn",["EU"],"shqip"],"sr":["sr-cyrl"],"sr-ec":["sr-cyrl"],"sr-cyrl":["Cyrl",["EU"],"српски"],"sr-el":["sr-latn"],"sr-latn":["Latn",["EU"],"srpski"],"srn":["Latn",["AM","EU"],"Sranantongo"],"ss":["Latn",["AF"],"SiSwati"],"st":["Latn",["AF"],"Sesotho"],"stq":["Latn",["EU"],"Seeltersk"],"su":["Latn",["AS"],"Basa Sunda"],"sv":["Latn",["EU"],"svenska"],"sw":["Latn",["AF"],"Kiswahili"],"swb":["Latn",["AF"],"Shikomoro"],"sxu":["Latn",["EU"],"Säggssch"],"szl":["Latn",["EU"],"ślůnski"],"ta":["Taml",["AS"],"தமிழ்"],"tcy":["Knda",["AS"],"ತುಳು"],"te":["Telu",["AS"],"తెలుగు"],"tet":["Latn",["AS","PA"],"tetun"],"tg-cyrl":["Cyrl",["AS"],"тоҷикӣ"],"tg-latn":["Latn",["AS"],"tojikī"],"tg":["Cyrl",["AS"],"тоҷикӣ"],"th":["Thai",["AS"],"ไทย"],"ti":["Ethi",["AF"],"ትግርኛ"],"tk":["Latn",["AS"],"Türkmençe"],"tkr":["Cyrl",["AS"],"ЦӀаьхна миз"],"tl":["Latn",["AS"],"Tagalog"],"tly":["Cyrl",["EU","AS","ME"],"толышә зывон"],"tn":["Latn",["AF"],"Setswana"],"to":["Latn",["PA"],"lea faka-Tonga"],"tokipona":["Latn",["WW"],"Toki Pona"],"tpi":["Latn",["PA","AS"],"Tok Pisin"],"tr":["Latn",["EU","ME"],"Türkçe"],"trp":["Latn",["AS"],"Kokborok (Tripuri)"],"tru":["Latn",["AS"],"Ṫuroyo"],"ts":["Latn",["AF"],"Xitsonga"],"tsd":["Grek",["EU"],"Τσακωνικά"],"tt":["Cyrl",["EU"],"татарча"],"tt-cyrl":["tt"],"tt-latn":["Latn",["EU"],"tatarça"],"ttt":["Cyrl",["AS"],"Tati"],"tum":["Latn",["AF"],"chiTumbuka"],"tw":["Latn",["AF"],"Twi"],"twd":["Latn",["EU"],"Tweants"],"ty":["Latn",["PA"],"reo tahiti"],"tyv":["Cyrl",["AS"],"тыва дыл"],"tzl":["Latn",["WW"],"Talossan"],"tzm":["Tfng",["AF"],"ⵜⴰⵎⴰⵣⵉⵖⵜ"],"udm":["Cyrl",["EU"],"удмурт"],"ug":["ug-arab"],"ug-arab":["Arab",["AS"],"ئۇيغۇرچە"],"ug-latn":["Latn",["AS"],"uyghurche"],"ug-cyrl":["Cyrl",["AS"],"уйғурчә"],"uk":["Cyrl",["EU"],"українська"],"ur":["Arab",["AS","ME"],"اردو"],"uz":["Latn",["AS"],"oʻzbekcha"],"ve":["Latn",["AF"],"Tshivenda"],"vec":["Latn",["EU"],"vèneto"],"vep":["Latn",["EU"],"vepsän kel’"],"vi":["Latn",["AS"],"Tiếng Việt"],"vls":["Latn",["EU"],"West-Vlams"],"vmf":["Latn",["EU"],"Mainfränkisch"],"vo":["Latn",["WW"],"Volapük"],"vot":["Latn",["EU"],"Vaďďa"],"vro":["Latn",["EU"],"Võro"],"wa":["Latn",["EU"],"walon"],"war":["Latn",["AS"],"Winaray"],"wls":["Latn",["PA"],"Faka'uvea"],"wo":["Latn",["AF"],"Wolof"],"wuu":["Hans",["AS"],"吴语"],"xal":["Cyrl",["EU"],"хальмг"],"xh":["Latn",["AF"],"isiXhosa"],"xmf":["Geor",["EU"],"მარგალური"],"ydd":["Hebr",["AS","EU"],"Eastern Yiddish"],"yi":["Hebr",["ME","EU","AM"],"ייִדיש"],"yo":["Latn",["AF"],"Yorùbá"],"yrk":["Cyrl",["AS"],"Ненэцяʼ вада"],"yrl":["Latn",["AM"],"ñe'engatú"],"yua":["Latn",["AM"],"Maaya T'aan"],"yue":["Hant",["AS"],"粵語"],"za":["Latn",["AS"],"Vahcuengh"],"zea":["Latn",["EU"],"Zeêuws"],"zgh":["Tfng",["AF"],"ⵜⴰⵎⴰⵣⵉⵖⵜ"],"zh":["Hans",["AS"],"中文"],"zh-classical":["Hant",["AS"],"文言"],"zh-cn":["Hans",["AS"],"中文(中国大陆)"],"zh-hans":["Hans",["AS"],"中文(简体)"],"zh-hant":["Hant",["AS"],"中文(繁體)"],"zh-hk":["Hant",["AS"],"中文(香港)"],"zh-min-nan":["nan"],"zh-mo":["Hant",["AS"],"中文(澳門)"],"zh-my":["Hans",["AS"],"中文(马来西亚)"],"zh-sg":["Hans",["AS"],"中文(新加坡)"],"zh-tw":["Hant",["AS"],"中文(台灣)"],"zh-yue":["yue"],"zu":["Latn",["AF"],"isiZulu"]},"scriptgroups":{"Latin":["Latn","Goth"],"Greek":["Grek"],"WestCaucasian":["Armn","Geor"],"Arabic":["Arab"],"MiddleEastern":["Hebr","Syrc"],"African":["Ethi","Nkoo","Tfng"],"SouthAsian":["Beng","Deva","Gujr","Guru","Knda","Mlym","Orya","Saur","Sinh","Taml","Telu","Tibt","Thaa"],"Cyrillic":["Cyrl"],"CJK":["Hans","Hant","Kana","Kore","Jpan","Yiii"],"SouthEastAsian":["Bali","Batk","Bugi","Java","Khmr","Laoo","Mymr","Thai"],"Mongolian":["Mong"],"SignWriting":["Sgnw"],"NativeAmerican":["Cher","Cans"],"Special":["Zyyy"]},"rtlscripts":["Arab","Hebr","Syrc","Nkoo","Thaa"],"regiongroups":{"WW":1,"SP":1,"AM":2,"EU":3,"ME":3,"AF":3,"AS":4,"PA":4},"territories":{"AC":["en"],"AD":["ca","es","fr"],"AE":["ar","ml","ps","bal","fa"],"AF":["fa","ps","haz","uz-arab","tk-latn","prd","bal","bgn","ug-arab","kk-arab"],"AG":["en","pt"],"AI":["en"],"AL":["sq","el","mk"],"AM":["hy","ku-latn","az-latn"],"AO":["pt","umb","kmb","ln"],"AQ":["und"],"AR":["es","en","cy","gn"],"AS":["sm","en"],"AT":["de","bar","en","hr","sl","hu"],"AU":["en","zh-hant","it","wbp"],"AW":["nl","pap","en"],"AX":["sv"],"AZ":["az-latn","az-cyrl","tly-latn","ku-latn","ttt-latn","tkr-latn"],"BA":["bs-cyrl","bs-latn","en","hr","sr-cyrl","sr-latn"],"BB":["en"],"BD":["bn","en","rkt","syl","ccp","my","grt","mni"],"BE":["en","nl","fr","vls","wa","de"],"BF":["mos","dyu","fr"],"BG":["bg","en","tr"],"BH":["ar","ml"],"BI":["rn","fr","sw","en"],"BJ":["fr","fon","yo"],"BL":["fr"],"BM":["en"],"BN":["ms-latn","zh-hant","ms-arab","en"],"BO":["es","qu","ay","gn","aro"],"BQ":["pap","nl"],"BR":["pt","en","de","it","ja","ko","kgp","gub","yrl","xav"],"BS":["en"],"BT":["dz","ne","tsj","en","lep"],"BV":["und"],"BW":["en","tn","af"],"BY":["be","ru"],"BZ":["en","es"],"CA":["en","fr","it","de","pdt","cr-cans","crk","yi","iu-cans","iu-latn","moe","crj","atj","crl","csw","crm","ikt","moh","dgr","den","scs","nsk","chp","gwi"],"CC":["ms-arab","en"],"CD":["sw","lua","swc","fr","ln","lu","kg","lol","rw"],"CF":["fr","sg","ln"],"CG":["fr","ln"],"CH":["de","gsw","en","fr","it","lmo","rm","rmo","wae"],"CI":["fr","bci","sef","dnj","kfo","bqv"],"CK":["en"],"CL":["es","en","arn"],"CM":["fr","en","bum","ff","ewo","ybb","bbj","nnh","bkm","bas","bax","byv","mua","maf","bfd","bss","kkj","dua","mgo","ar","jgo","ksf","agq","ha-arab","nmg","yav"],"CN":["zh-hans","wuu","hsn","hak","nan","gan","ii","ug-arab","za","mn-mong","bo","ko","kk-arab","lis","ky-arab","nxq","khb","tdd","lcp","en","ru","vi","uz-cyrl","lzh"],"CO":["es","guc"],"CP":["und"],"CR":["es"],"CU":["es"],"CV":["kea","pt"],"CW":["pap","nl","es"],"CX":["en"],"CY":["el","en","tr","hy","ar"],"CZ":["cs","en","de","pl"],"DE":["de","en","fr","nds","nl","it","es","ru","vmf","tr","da","swg","hr","ku-latn","el","ksh","pl","hsb","frr","dsb","frs","stq","pfl"],"DG":["en"],"DJ":["aa","so","ar","fr"],"DK":["da","en","de","fo","kl","jut"],"DM":["en"],"DO":["es","en"],"DZ":["arq","ar","fr","kab","en"],"EA":["es"],"EC":["es","qu","qug"],"EE":["et","ru","vro"],"EG":["ar","arz","en","el"],"EH":["ar"],"ER":["ti","en","tig","ar","aa","ssy","byn"],"ES":["es","en","ca","gl","eu","ast","ext"],"ET":["en","am","om","so","ti","sid","wal","aa"],"FI":["fi","en","sv","ru","et","rmf","se","smn","sms"],"FJ":["en","hi","hif-latn","fj","rtm"],"FK":["en"],"FM":["en","chk","pon","kos","yap","uli"],"FO":["fo"],"FR":["fr","en","oc","it","pt","pcd","gsw","br","co","ca","nl","eu","frp","ia"],"GA":["fr","puu"],"GB":["en","sco","pa-guru","cy","bn","zh-hant","syl","el","it","ks-arab","gd","yi","ml","ga","fr","kw"],"GD":["en"],"GE":["ka","xmf","ru","hy","ab","os","ku-latn"],"GF":["fr","gcr","zh-hant"],"GG":["en"],"GH":["ak","en","ee","abr","gur","ada","gaa","nzi","ha-latn","saf"],"GI":["en","es"],"GL":["kl","da"],"GM":["en","man-latn"],"GN":["fr","ff","man-nkoo","sus","nqo","kpe"],"GP":["fr"],"GQ":["es","fan","fr","bvb"],"GR":["el","en","pnt-grek","mk","tr","bg","sq","tsd"],"GS":["und"],"GT":["es","quc"],"GU":["en","ch"],"GW":["pt"],"GY":["en"],"HK":["zh-hant","en","zh-hans"],"HM":["und"],"HN":["es","en"],"HR":["hr","en","it"],"HT":["ht","fr"],"HU":["hu","en","de","ro","hr","sk","sl"],"IC":["es"],"ID":["id","jv","su","mad","ms-arab","min","bew","ban","bug","bjn","ace","sas","bbc","zh-hant","mak","ljp","rej","gor","nij","kge","aoz","kvr","lbw","gay","rob","mdr","sxn","sly","mwv"],"IE":["en","ga"],"IL":["he","en","ar","ru","ro","yi","pl","lad","hu","am","ti","ml"],"IM":["en","gv"],"IN":["hi","en","bn","te","mr","ta","ur","gu","kn","ml","or","pa-guru","bho","awa","as","bgc","mag","mwr","mai","hne","dcc","bjj","ne","sat","wtm","rkt","ks-arab","kok","gom","swv","gbm","lmn","sd-arab","gon-telu","kfy","doi","kru","sck","wbq","xnr","tcy","wbr","khn","brx","noe","bhb","mni","raj","hoc","mtr","unr-beng","bhi","hoj","kha","kfr","grt","unx-beng","bfy","srx","saz","ccp","sd-deva","bfq","njo","ria","bo","bpy","bft","bra","lep","btv","lif-deva","lah","sa","kht","dv","dz"],"IO":["en"],"IQ":["ar","en","ckb","az-arab","fa","lrc","syr"],"IR":["fa","az-arab","mzn","glk","ckb","sdh","tk-latn","lrc","ar","bal","rmt","bqi","luz","lki","bgn","prd","hy","ps","ka","gbz","kk-arab"],"IS":["is","da"],"IT":["it","en","fr","sc","de","vec","nap","lij","scn","sl","sdc","fur","egl","ca","el","lmo","pms","hr","rgn"],"JE":["en"],"JM":["en","jam"],"JO":["ar","en"],"JP":["ja","ryu","ko"],"KE":["sw","en","ki","luy","luo","kam","kln","guz","mer","mas","ebu","so","dav","teo","pko","om","saq","ar","pa-guru","gu"],"KG":["ky-cyrl","ru"],"KH":["km","cja","kdt"],"KI":["en","gil"],"KM":["ar","fr","zdj","wni"],"KN":["en"],"KP":["ko"],"KR":["ko"],"KW":["ar"],"KY":["en"],"KZ":["ru","kk-cyrl","en","de","ug-cyrl"],"LA":["lo","kjg","kdt"],"LB":["ar","en","hy","ku-arab","fr"],"LC":["en"],"LI":["de","gsw","wae"],"LK":["si","ta","en"],"LR":["en","kpe","vai-vaii","men","vai-latn"],"LS":["st","en","zu","ss","xh"],"LT":["lt","en","ru","sgs"],"LU":["fr","lb","de"],"LV":["lv","ru","ltg"],"LY":["ar"],"MA":["ary","ar","zgh","fr","en","tzm-latn","shi-latn","shi-tfng","rif-latn","rif-tfng","es"],"MC":["fr"],"MD":["ro","uk","bg","gag","ru"],"ME":["sr-latn","sq","sr-cyrl"],"MF":["fr"],"MG":["mg","fr","en"],"MH":["en","mh"],"MK":["mk","sq","tr"],"ML":["bm-latn","fr","ffm","snk","mwk","ses","tmh","bm-nkoo","khq","dtm","kao","ar","bmq","bze"],"MM":["my","shn","kac","mnw","kht"],"MN":["mn-cyrl","kk-arab","zh-hans","ru","ug-cyrl"],"MO":["zh-hant","pt","zh-hans","en"],"MP":["en","ch"],"MQ":["fr"],"MR":["ar","fr","ff","wo"],"MS":["en"],"MT":["mt","en"],"MU":["mfe","en","bho","ur","fr","ta"],"MV":["dv"],"MW":["en","ny","tum","tog","zu"],"MX":["es","en","yua","nhe","nhw","maz","nch","sei"],"MY":["ms-latn","en","zh-hant","ta","iba","jv","zmi","dtp","ml","bug","bjn"],"MZ":["pt","vmw","ndc","ts","ngl","seh","mgh","rng","ny","yao","sw","zu"],"NA":["af","kj","ng","naq","hz","en","de","tn"],"NC":["fr"],"NE":["ha-latn","fr","dje","fuq","tmh","ar","twq"],"NF":["en"],"NG":["en","pcm","ha-latn","ig","yo","fuv","tiv","efi","ibb","ha-arab","bin","kaj","kcg","ar","cch","amo"],"NI":["es"],"NL":["nl","en","de","fr","nds","li","fy","gos","id","zea","rif-latn","tr"],"NO":["nb","nn","se"],"NP":["ne","mai","bho","new","jml","en","taj","awa","thl","bap","tdg","thr","mgp","lif-deva","thq","mrd","bfy","xsr","rjs","tsf","hi","ggn","gvr","bo","tkt","tdh","bn","unr-deva","lep"],"NR":["en","na"],"NU":["en","niu"],"NZ":["en","mi"],"OM":["ar","bal","fa"],"PA":["es","en","zh-hant"],"PE":["es","qu","ay"],"PF":["fr","ty","zh-hant"],"PG":["tpi","en","ho"],"PH":["en","fil","es","ceb","ilo","hil","bik","war","bhk","pam","pag","mdh","tsg","zh-hant","cps","krj","bto","hnn","tbw","bku"],"PK":["ur","pa-arab","en","lah","ps","sd-arab","skr","bal","brh","hno","fa","bgn","hnd","tg-arab","gju","bft","kvx","khw","mvy","kxp","gjk","ks-arab","btv"],"PL":["pl","en","szl","be","uk","csb","de","sli","lt"],"PM":["fr","en"],"PN":["en"],"PR":["es","en"],"PS":["ar"],"PT":["pt","en","gl"],"PW":["pau","en"],"PY":["gn","es","de"],"QA":["ar","fa","ml"],"RE":["fr","rcf","ta"],"RO":["ro","en","hu","de","tr","sr-latn","bg","el","pl"],"RS":["sr-cyrl","sr-latn","sq","hu","ro","hr","sk","uk"],"RU":["ru","tt","ba","cv","hy","ce","av","udm","chm","sah","os","kbd","myv","dar","bua","mdf","kum","kv","lez","krc","inh","tyv","az-cyrl","ady","krl","lbe","koi","mrj","alt","fi","sr-latn","vep","mn-cyrl","izh","vot","cu"],"RW":["rw","en","fr"],"SA":["ar"],"SB":["en","rug"],"SC":["crs","fr","en"],"SD":["ar","en","bej","fvr","ha-arab","mls","fia","zag"],"SE":["sv","en","fi","fit","se","rmu","yi","smj","sma","ia"],"SG":["en","zh-hans","ms-latn","ta","ml","pa-guru"],"SH":["en"],"SI":["sl","en","hu","it"],"SJ":["nb","ru"],"SK":["sk","en","hu","uk","pl","de"],"SL":["kri","en","men","tem"],"SM":["it","eo"],"SN":["wo","fr","ff","srr","dyo","sav","mfv","bjt","snf","knf","bsc","mey","tnr"],"SO":["so","ar","sw","om"],"SR":["nl","srn","zh-hant"],"SS":["ar","en","nus"],"ST":["pt"],"SV":["es"],"SX":["en","es","vic","nl"],"SY":["ar","ku-latn","fr","hy","syr"],"SZ":["en","ss","zu","ts"],"TA":["en"],"TC":["en"],"TD":["fr","ar"],"TF":["fr"],"TG":["fr","ee"],"TH":["th","en","tts","nod","sou","mfa","zh-hant","kxm","kdt","mnw","shn","lcp","lwl"],"TJ":["tg-cyrl","ru","fa","ar"],"TK":["en","tkl"],"TL":["pt","tet"],"TM":["tk-latn","ru","uz-latn","ku-latn"],"TN":["aeb","ar","fr"],"TO":["to","en"],"TR":["tr","en","ku-latn","zza","kbd","az-latn","az-arab","ar","bgx","bg","ady","kiu","hy","ka","sr-latn","lzz-latn","sq","ab","el","tru","uz-latn","ky-latn","kk-cyrl"],"TT":["en","es"],"TV":["tvl","en"],"TW":["zh-hant","trv"],"TZ":["sw","en","suk","nym","kde","bez","ksb","mas","mgy","asa","lag","jmc","rof","vun","rwk","sbp"],"UA":["uk","ru","pl","yi","rue","be","ro","bg","tr","hu","el"],"UG":["sw","lg","nyn","cgg","xog","en","teo","laj","ach","myx","rw","ttj","hi"],"UM":["en"],"US":["en","es","zh-hant","fr","de","fil","it","vi","ko","ru","nv","yi","pdc","haw","frc","chr","esu","dak","cho","lkt","ik","mus"],"UY":["es"],"UZ":["uz-latn","uz-cyrl","ru","kaa","tr"],"VA":["it","la"],"VC":["en"],"VE":["es"],"VG":["en"],"VI":["en"],"VN":["vi","zh-hant","cjm"],"VU":["bi","en","fr"],"WF":["wls","fr","fud"],"WS":["sm","en"],"XK":["sq","aln","sr-cyrl","sr-latn"],"YE":["ar","en"],"YT":["swb","fr","buc","sw"],"ZA":["en","zu","xh","af","nso","tn","st","ts","ss","ve","hi","nr","sw"],"ZM":["bem","en","ny","loz"],"ZW":["sn","en","nd","mxc","ndc","kck","ny","ve","tn"],"ZZ":[]}};
} ( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/package.json b/MLEB/UniversalLanguageSelector/package.json
new file mode 100644
index 00000000..094b8ea6
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/package.json
@@ -0,0 +1,13 @@
+{
+ "private": true,
+ "scripts": {
+ "test": "grunt test"
+ },
+ "devDependencies": {
+ "grunt": "0.4.5",
+ "grunt-cli": "0.1.13",
+ "grunt-contrib-jshint": "0.11.3",
+ "grunt-banana-checker": "0.2.2",
+ "grunt-jsonlint": "1.0.4"
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.init.js b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.init.js
index 5a112e75..4dae749d 100644
--- a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.init.js
+++ b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.init.js
@@ -22,7 +22,7 @@
var hasOwn = Object.prototype.hasOwnProperty;
mw.uls = mw.uls || {};
- mw.uls.previousLanguagesCookie = 'uls-previous-languages';
+ mw.uls.previousLanguagesStorageKey = 'uls-previous-languages';
mw.uls.previousLanguageAutonymCookie = 'uls-previous-language-autonym';
mw.uls.languageSettingsModules = [ 'ext.uls.inputsettings', 'ext.uls.displaysettings' ];
@@ -60,19 +60,42 @@
};
/**
- * Change the language of wiki using setlang URL parameter
+ * Change the language of wiki using API or set cookie and reload the page
* @param {string} language Language code.
*/
mw.uls.changeLanguage = function ( language ) {
- var uri = new mw.Uri( window.location.href ),
- deferred = new $.Deferred();
+ var deferred = new $.Deferred();
+
+ function changeLanguageAnon() {
+ if ( mw.config.get( 'wgULSAnonCanChangeLanguage' ) ) {
+ mw.cookie.set( 'language', language );
+ location.reload();
+ }
+ }
deferred.done( function () {
- uri.extend( {
- setlang: language
- } );
+ var api;
+
+ if ( mw.user.isAnon() ) {
+ changeLanguageAnon();
+ return;
+ }
- window.location.href = uri.toString();
+ api = new mw.Api();
+ // @todo Change this to api.saveOption when ULS minimum MW version is 1.25
+ api.postWithToken( 'options', {
+ action: 'options',
+ optionname: 'language',
+ optionvalue: language
+ } )
+ .done( function () {
+ location.reload();
+ } )
+ .fail( function () {
+ // Set options failed. Maybe the user has logged off.
+ // Continue like anonymous user and set cookie.
+ changeLanguageAnon();
+ } );
} );
mw.hook( 'mw.uls.interface.language.change' ).fire( language, deferred );
@@ -85,22 +108,34 @@
};
mw.uls.setPreviousLanguages = function ( previousLanguages ) {
- $.cookie( mw.uls.previousLanguagesCookie,
- JSON.stringify( previousLanguages ), {
- path: '/'
- }
- );
+ try {
+ localStorage.setItem(
+ mw.uls.previousLanguagesStorageKey,
+ JSON.stringify( previousLanguages.slice( -5 ) )
+ );
+ } catch ( e ) {}
};
mw.uls.getPreviousLanguages = function () {
- var previousLanguages = $.cookie( mw.uls.previousLanguagesCookie );
+ var previousLanguages = $.cookie( mw.uls.previousLanguagesStorageKey );
- if ( !previousLanguages ) {
- return [];
+ $.removeCookie( mw.uls.previousLanguagesStorageKey, { path: '/' } );
+
+ if ( $.isArray( previousLanguages ) ) {
+ // Migrate data from cookie to localStorage.
+ mw.uls.setPreviousLanguages( previousLanguages );
+ } else {
+ previousLanguages = [];
}
- // return last 5 language changes
- return JSON.parse( previousLanguages ).slice( -5 );
+ try {
+ previousLanguages.push.apply(
+ previousLanguages,
+ JSON.parse( localStorage.getItem( mw.uls.previousLanguagesStorageKey ) )
+ );
+ } catch ( e ) {}
+
+ return previousLanguages.slice( -5 );
};
/**
diff --git a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.preferences.js b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.preferences.js
index 0229e012..36f96d2c 100644
--- a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.preferences.js
+++ b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.preferences.js
@@ -101,7 +101,9 @@
this.preferences = preferenceStore().get( this.preferenceName );
} else {
var options = mw.user.options.get( this.preferenceName );
-
+ if ( !options ) {
+ options = '{}';
+ }
// Try to parse JSON
try {
this.preferences = JSON.parse( options );
diff --git a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.webfonts.repository.js b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.webfonts.repository.js
index 670a2e01..37a209b0 100644
--- a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.webfonts.repository.js
+++ b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.webfonts.repository.js
@@ -1,5 +1,5 @@
// Do not edit! This file is generated from data/fontrepo by data/fontrepo/scripts/compile.php
( function ( $ ) {
$.webfonts = $.webfonts || {};
- $.webfonts.repository = {"base":"..\/data\/fontrepo\/fonts\/","languages":{"adx":["Jomolhari"],"af":["system","ComicNeue","OpenDyslexic"],"ahr":["Lohit Marathi"],"akk":["Akkadian"],"am":["AbyssinicaSIL"],"ang":["system","Junicode"],"ar":["system","Amiri"],"arb":["system","Amiri"],"arc":["Estrangelo Edessa","East Syriac Adiabene","SertoUrhoy"],"as":["system","Lohit Assamese"],"bbc":["system","Pangururan"],"bh":["Lohit Devanagari"],"bho":["Lohit Devanagari"],"bk":["system","ComicNeue","OpenDyslexic"],"bn":["Siyam Rupali","Lohit Bengali"],"bo":["Jomolhari"],"bod":["Jomolhari"],"bpy":["Siyam Rupali","Lohit Bengali"],"btk":["system","Pangururan"],"bug":["Saweri"],"ca":["system","ComicNeue","OpenDyslexic"],"cdo":["system","CharisSIL"],"ckb":["system","Lateef","Scheherazade","Amiri"],"cr":["OskiEast"],"cy":["system","ComicNeue","OpenDyslexic"],"da":["system","ComicNeue","OpenDyslexic"],"de":["system","ComicNeue","OpenDyslexic"],"dre":["Jomolhari"],"dv":["FreeFont-Thaana"],"dz":["Jomolhari"],"en":["system","ComicNeue","OpenDyslexic"],"es":["system","ComicNeue","OpenDyslexic"],"et":["system","ComicNeue","OpenDyslexic"],"fa":["system","Iranian Sans","Iranian Serif","Lateef","Nazli","Scheherazade"],"fi":["system","ComicNeue","OpenDyslexic"],"fo":["system","ComicNeue","OpenDyslexic"],"fr":["system","ComicNeue","OpenDyslexic"],"fy":["system","ComicNeue","OpenDyslexic"],"ga":["system","ComicNeue","OpenDyslexic"],"gd":["system","ComicNeue","OpenDyslexic"],"gez":["AbyssinicaSIL"],"gl":["system","ComicNeue","OpenDyslexic"],"goe":["Jomolhari"],"gom":["Lohit Devanagari"],"grc":["system","GentiumPlus"],"gu":["Lohit Gujarati"],"hbo":["Taamey Frank CLM","Alef"],"he":["system","Alef","Miriam CLM","Taamey Frank CLM"],"hi":["Lohit Devanagari"],"hu":["system","ComicNeue","OpenDyslexic"],"hut":["Jomolhari"],"id":["system","ComicNeue","OpenDyslexic"],"ii":["Nuosu SIL"],"is":["system","ComicNeue","OpenDyslexic"],"it":["system","ComicNeue","OpenDyslexic"],"iu":["system","OskiEast"],"jv":["system","Tuladha Jejeg"],"jv-java":["Tuladha Jejeg"],"kbg":["Jomolhari"],"khg":["Jomolhari"],"km":["KhmerOSbattambang","Hanuman","KhmerOS","Nokora Regular","Suwannaphum"],"kn":["Lohit Kannada","Gubbi"],"kok":["Lohit Devanagari"],"kte":["Jomolhari"],"lb":["system","ComicNeue","OpenDyslexic"],"lbj":["Jomolhari"],"lhm":["Jomolhari"],"li":["system","ComicNeue","OpenDyslexic"],"lo":["Phetsarath"],"loy":["Jomolhari"],"luk":["Jomolhari"],"lya":["Jomolhari"],"mai":["Lohit Devanagari"],"mak":["Saweri"],"mi":["system","ComicNeue","OpenDyslexic"],"ml":["system","AnjaliOldLipi","Meera"],"mr":["Lohit Marathi"],"ms":["system","ComicNeue","OpenDyslexic"],"muk":["Jomolhari"],"mul":["system","Autonym"],"my":["TharLon","Myanmar3","Padauk"],"nan":["system","CharisSIL","Doulos SIL"],"nb":["system","ComicNeue","OpenDyslexic"],"ne":["Lohit Nepali","Madan"],"nl":["system","ComicNeue","OpenDyslexic"],"oc":["system","ComicNeue","OpenDyslexic"],"ola":["Jomolhari"],"or":["Lohit Odia","Utkal"],"otb":["Jomolhari"],"pa":["Lohit Punjabi","Saab"],"pal":["Shapour"],"peo":["Artaxerxes"],"pl":["system","ComicNeue","OpenDyslexic"],"pt":["system","ComicNeue","OpenDyslexic"],"sa":["Lohit Devanagari"],"saz":["Pagul"],"si":["system","lklug"],"sq":["system","ComicNeue","OpenDyslexic"],"sux":["Akkadian"],"sv":["system","ComicNeue","OpenDyslexic"],"sw":["system","ComicNeue","OpenDyslexic"],"syc":["Estrangelo Edessa","East Syriac Adiabene","SertoUrhoy"],"ta":["system","Lohit Tamil","Lohit Tamil Classical","Thendral","Thenee"],"tcn":["Jomolhari"],"tcy":["Lohit Kannada","Gubbi"],"te":["Lohit Telugu"],"thw":["Jomolhari"],"ti":["AbyssinicaSIL"],"tig":["AbyssinicaSIL"],"tl":["system","ComicNeue","OpenDyslexic"],"tr":["system","ComicNeue","OpenDyslexic"],"tsk":["Jomolhari"],"ur":["system","Hussaini Nastaleeq","NafeesWeb"],"wa":["system","ComicNeue","OpenDyslexic"],"xct":["Jomolhari"],"yi":["system","Alef"],"zau":["Jomolhari"]},"fonts":{"AbyssinicaSIL":{"version":"1.500","eot":"AbyssinicaSIL\/AbyssinicaSIL-R.eot","ttf":"AbyssinicaSIL\/AbyssinicaSIL-R.ttf","woff":"AbyssinicaSIL\/AbyssinicaSIL-R.woff"},"Akkadian":{"version":"2.56","eot":"Akkadian\/Akkadian.eot","ttf":"Akkadian\/Akkadian.ttf","woff":"Akkadian\/Akkadian.woff"},"Alef":{"version":"1.0","ttf":"Alef\/Alef-Regular.ttf","eot":"Alef\/Alef-Regular.eot","woff":"Alef\/Alef-Regular.woff","variants":{"bold":"Alef Bold"}},"Alef Bold":{"version":"1.0","fontweight":"bold","ttf":"Alef\/Alef-Bold.ttf","eot":"Alef\/Alef-Bold.eot","woff":"Alef\/Alef-Bold.woff"},"Amiri":{"version":"1.0.2","ttf":"amiri\/amiri-regular.ttf","eot":"amiri\/amiri-regular.eot","woff":"amiri\/amiri-regular.woff","variants":{"bold":"Amiri Bold","bolditalic":"Amiri Bold Italic","italic":"Amiri Italic"}},"Amiri Bold":{"version":"1.0.2","fontweight":"bold","ttf":"amiri\/amiri-bold.ttf","eot":"amiri\/amiri-bold.eot","woff":"amiri\/amiri-bold.woff"},"Amiri Bold Italic":{"version":"1.0.2","fontweight":"bold","fontstyle":"italic","ttf":"amiri\/amiri-boldslanted.ttf","eot":"amiri\/amiri-boldslanted.eot","woff":"amiri\/amiri-boldslanted.woff"},"Amiri Italic":{"version":"1.0.2","fontstyle":"italic","ttf":"amiri\/amiri-slanted.ttf","eot":"amiri\/amiri-slanted.eot","woff":"amiri\/amiri-slanted.woff"},"AnjaliOldLipi":{"version":".0.730","eot":"AnjaliOldLipi\/AnjaliOldLipi.eot","ttf":"AnjaliOldLipi\/AnjaliOldLipi.ttf","woff":"AnjaliOldLipi\/AnjaliOldLipi.woff"},"Artaxerxes":{"version":"1.400","eot":"Artaxerxes\/Artaxerxes.eot","ttf":"Artaxerxes\/Artaxerxes.ttf","woff":"Artaxerxes\/Artaxerxes.woff"},"Autonym":{"version":"20131205","eot":"Autonym\/Autonym.eot","ttf":"Autonym\/Autonym.ttf","woff":"Autonym\/Autonym.woff"},"CharisSIL":{"version":"4.011","eot":"CharisSIL\/CharisSIL-R.eot","ttf":"CharisSIL\/CharisSIL-R.ttf","woff":"CharisSIL\/CharisSIL-R.woff"},"ComicNeue":{"version":"1.1","ttf":"ComicNeue\/ComicNeue-Regular.ttf","eot":"ComicNeue\/ComicNeue-Regular.eot","woff":"ComicNeue\/ComicNeue-Regular.woff","variants":{"bold":"ComicNeue Bold","italic":"ComicNeue Oblique"}},"ComicNeue Bold":{"version":"1.1","fontweight":"bold","ttf":"ComicNeue\/ComicNeue-Bold.ttf","eot":"ComicNeue\/ComicNeue-Bold.eot","woff":"ComicNeue\/ComicNeue-Bold.woff"},"ComicNeue Oblique":{"version":"1.1","fontstyle":"italic","ttf":"ComicNeue\/ComicNeue-Regular-Oblique.ttf","eot":"ComicNeue\/ComicNeue-Regular-Oblique.eot","woff":"ComicNeue\/ComicNeue-Regular-Oblique.woff"},"Doulos SIL":{"version":"4.112","eot":"DoulosSIL\/DoulosSIL-R.eot","ttf":"DoulosSIL\/DoulosSIL-R.ttf","woff":"DoulosSIL\/DoulosSIL-R.woff"},"East Syriac Adiabene":{"version":"1.21","eot":"EastSyriacAdiabene\/SyrCOMAdiabene.eot","ttf":"EastSyriacAdiabene\/SyrCOMAdiabene.ttf","woff":"EastSyriacAdiabene\/SyrCOMAdiabene.woff"},"Estrangelo Edessa":{"version":"1.21","eot":"EstrangeloEdessa\/SyrCOMEdessa.eot","ttf":"EstrangeloEdessa\/SyrCOMEdessa.ttf","woff":"EstrangeloEdessa\/SyrCOMEdessa.woff"},"FreeFont-Thaana":{"version":"1.0","ttf":"FreeFontThana\/FreeFont-Thaana.ttf","eot":"FreeFontThana\/FreeFont-Thaana.eot","woff":"FreeFontThana\/FreeFont-Thaana.woff","variants":{"bold":"FreeFont-Thaana Bold"}},"FreeFont-Thaana Bold":{"version":"1.0","fontweight":"bold","ttf":"FreeFontThana\/FreeFont-Thaana-Bold.ttf","eot":"FreeFontThana\/FreeFont-Thaana-Bold.eot","woff":"FreeFontThana\/FreeFont-Thaana-Bold.woff"},"GentiumPlus":{"version":"1.510","ttf":"GentiumPlus\/GentiumPlus-R.ttf","eot":"GentiumPlus\/GentiumPlus-R.eot","woff":"GentiumPlus\/GentiumPlus-R.woff","variants":{"italic":"GentiumPlus Italic"}},"GentiumPlus Italic":{"version":"1.510","fontstyle":"italic","ttf":"GentiumPlus\/GentiumPlus-I.ttf","eot":"GentiumPlus\/GentiumPlus-I.eot","woff":"GentiumPlus\/GentiumPlus-I.woff"},"Gubbi":{"version":"1.3","eot":"Gubbi\/Gubbi.eot","ttf":"Gubbi\/Gubbi.ttf","woff":"Gubbi\/Gubbi.woff"},"Hanuman":{"version":"1.0","ttf":"Hanuman\/Hanuman.ttf","eot":"Hanuman\/Hanuman.eot","woff":"Hanuman\/Hanuman.woff","variants":{"bold":"Hanuman Bold"}},"Hanuman Bold":{"version":"1.0","fontweight":"bold","ttf":"Hanuman\/Hanumanb.ttf","eot":"Hanuman\/Hanumanb.eot","woff":"Hanuman\/Hanumanb.woff"},"Hussaini Nastaleeq":{"version":"0.01","eot":"HussainiNastaleeq\/hussaini-nastaleeq.eot","ttf":"HussainiNastaleeq\/hussaini-nastaleeq.ttf","woff":"HussainiNastaleeq\/hussaini-nastaleeq.woff"},"Iranian Sans":{"version":"1.000","ttf":"IranianSans\/irsans.ttf","eot":"IranianSans\/irsans.eot","woff":"IranianSans\/irsans.woff","variants":{"bold":"Iranian Sans Bold"}},"Iranian Sans Bold":{"version":"1.000","fontweight":"bold","ttf":"IranianSans\/irsansb.ttf","eot":"IranianSans\/irsansb.eot","woff":"IranianSans\/irsansb.woff"},"Iranian Serif":{"version":"1.000","ttf":"IranianSerif\/irseri.ttf","eot":"IranianSerif\/irseri.eot","woff":"IranianSerif\/irseri.woff"},"Jomolhari":{"version":"0.003","eot":"Jomolhari\/Jomolhari.eot","ttf":"Jomolhari\/Jomolhari.ttf","woff":"Jomolhari\/Jomolhari.woff"},"Junicode":{"version":"2013-01-17","ttf":"Junicode\/Junicode.ttf","eot":"Junicode\/Junicode.eot","woff":"Junicode\/Junicode.woff","variants":{"bold":"Junicode Bold","bolditalic":"Junicode Bold Italic","italic":"Junicode Italic"}},"Junicode Bold":{"version":"2013-01-17","fontweight":"bold","ttf":"Junicode\/Junicode-Bold.ttf","eot":"Junicode\/Junicode-Bold.eot","woff":"Junicode\/Junicode-Bold.woff"},"Junicode Bold Italic":{"version":"2013-01-17","fontweight":"bold","fontstyle":"italic","ttf":"Junicode\/Junicode-BoldItalic.ttf","eot":"Junicode\/Junicode-BoldItalic.eot","woff":"Junicode\/Junicode-BoldItalic.woff"},"Junicode Italic":{"version":"2013-01-17","fontstyle":"italic","ttf":"Junicode\/Junicode-Italic.ttf","eot":"Junicode\/Junicode-Italic.eot","woff":"Junicode\/Junicode-Italic.woff"},"KhmerOS":{"version":"1.10","eot":"KhmerOS\/KhmerOS.eot","ttf":"KhmerOS\/KhmerOS.ttf","woff":"KhmerOS\/KhmerOS.woff"},"KhmerOSbattambang":{"version":"1.10","eot":"KhmerOSbattambang\/KhmerOSbattambang.eot","ttf":"KhmerOSbattambang\/KhmerOSbattambang.ttf","woff":"KhmerOSbattambang\/KhmerOSbattambang.woff"},"Lateef":{"version":"1.001","ttf":"Lateef\/LateefRegOT.ttf","eot":"Lateef\/LateefRegOT.eot","woff":"Lateef\/LateefRegOT.woff"},"Linux Libertine":{"version":"5.3.0","ttf":"LinuxLibertine\/LinLibertine_Rah.ttf","eot":"LinuxLibertine\/LinLibertine_Rah.eot","woff":"LinuxLibertine\/LinLibertine_Rah.woff","variants":{"bold":"Linux Libertine Bold","bolditalic":"Linux Libertine Bold Italic","italic":"Linux Libertine Italic"}},"Linux Libertine Bold":{"version":"5.3.0","fontweight":"bold","ttf":"LinuxLibertine\/LinLibertine_RBah.ttf","eot":"LinuxLibertine\/LinLibertine_RBah.eot","woff":"LinuxLibertine\/LinLibertine_RBah.woff"},"Linux Libertine Bold Italic":{"version":"5.3.0","fontweight":"bold","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RBIah.ttf","eot":"LinuxLibertine\/LinLibertine_RBIah.eot","woff":"LinuxLibertine\/LinLibertine_RBIah.woff"},"Linux Libertine Italic":{"version":"5.3.0","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RIah.ttf","eot":"LinuxLibertine\/LinLibertine_RIah.eot","woff":"LinuxLibertine\/LinLibertine_RIah.woff"},"Lohit Assamese":{"version":"2.5.3","eot":"LohitAssamese\/Lohit-Assamese.eot","ttf":"LohitAssamese\/Lohit-Assamese.ttf","woff":"LohitAssamese\/Lohit-Assamese.woff"},"Lohit Bengali":{"version":"2.5.3","eot":"LohitBengali\/Lohit-Bengali.eot","ttf":"LohitBengali\/Lohit-Bengali.ttf","woff":"LohitBengali\/Lohit-Bengali.woff"},"Lohit Devanagari":{"version":"2.5.3","eot":"LohitDevanagari\/Lohit-Devanagari.eot","ttf":"LohitDevanagari\/Lohit-Devanagari.ttf","woff":"LohitDevanagari\/Lohit-Devanagari.woff"},"Lohit Gujarati":{"version":"2.5.3","eot":"LohitGujarati\/Lohit-Gujarati.eot","ttf":"LohitGujarati\/Lohit-Gujarati.ttf","woff":"LohitGujarati\/Lohit-Gujarati.woff"},"Lohit Kannada":{"version":"2.5.3","eot":"LohitKannada\/Lohit-Kannada.eot","ttf":"LohitKannada\/Lohit-Kannada.ttf","woff":"LohitKannada\/Lohit-Kannada.woff"},"Lohit Marathi":{"version":"2.5.3","eot":"LohitMarathi\/Lohit-Marathi.eot","ttf":"LohitMarathi\/Lohit-Marathi.ttf","woff":"LohitMarathi\/Lohit-Marathi.woff"},"Lohit Nepali":{"version":"2.5.3","eot":"LohitNepali\/Lohit-Nepali.eot","ttf":"LohitNepali\/Lohit-Nepali.ttf","woff":"LohitNepali\/Lohit-Nepali.woff"},"Lohit Odia":{"version":"2.5.5","eot":"LohitOdia\/Lohit-Odia.eot","ttf":"LohitOdia\/Lohit-Odia.ttf","woff":"LohitOdia\/Lohit-Odia.woff"},"Lohit Punjabi":{"version":"2.5.3","eot":"LohitPunjabi\/Lohit-Punjabi.eot","ttf":"LohitPunjabi\/Lohit-Punjabi.ttf","woff":"LohitPunjabi\/Lohit-Punjabi.woff"},"Lohit Tamil":{"version":"2.5.3","eot":"LohitTamil\/Lohit-Tamil.eot","ttf":"LohitTamil\/Lohit-Tamil.ttf","woff":"LohitTamil\/Lohit-Tamil.woff"},"Lohit Tamil Classical":{"version":"2.5.3","eot":"LohitTamilClassical\/Lohit-Tamil-Classical.eot","ttf":"LohitTamilClassical\/Lohit-Tamil-Classical.ttf","woff":"LohitTamilClassical\/Lohit-Tamil-Classical.woff"},"Lohit Telugu":{"version":"2.5.3","eot":"LohitTelugu\/Lohit-Telugu.eot","ttf":"LohitTelugu\/Lohit-Telugu.ttf","woff":"LohitTelugu\/Lohit-Telugu.woff"},"Madan":{"version":"2","eot":"madan\/madan.eot","ttf":"madan\/madan.ttf","woff":"madan\/madan.woff"},"Meera":{"version":"6.0","eot":"Meera\/Meera.eot","ttf":"Meera\/Meera.ttf","woff":"Meera\/Meera.woff"},"Miriam CLM":{"version":"0.130","eot":"MiriamCLM\/MiriamCLM-Book.eot","ttf":"MiriamCLM\/MiriamCLM-Book.ttf","woff":"MiriamCLM\/MiriamCLM-Book.woff"},"Myanmar3":{"version":"3.0","eot":"Myanmar3\/Myanmar3.eot","ttf":"Myanmar3\/Myanmar3.ttf","woff":"Myanmar3\/Myanmar3.woff"},"NafeesWeb":{"version":"1.2","eot":"NafeesWeb\/NafeesWeb.eot","ttf":"NafeesWeb\/NafeesWeb.ttf","woff":"NafeesWeb\/NafeesWeb.woff"},"Nazli":{"version":"0.4","ttf":"Nazli\/Nazli.ttf","eot":"Nazli\/Nazli.eot","woff":"Nazli\/Nazli.woff","variants":{"bold":"Nazli Bold"}},"Nazli Bold":{"version":"0.4","fontweight":"bold","ttf":"Nazli\/Nazli-bold.ttf","eot":"Nazli\/Nazli-bold.eot","woff":"Nazli\/Nazli-bold.woff"},"Nokora Bold":{"version":"1.10","fontweight":"bold","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","ttf":"Nokora\/Nokora-Regular.ttf"},"Nokora Regular":{"version":"1.10","ttf":"Nokora\/Nokora-Regular.ttf","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","variants":{"bold":"Nokora Bold"}},"Nuosu SIL":{"version":"2.1.1","ttf":"NuosuSIL\/NuosuSIL.ttf","eot":"NuosuSIL\/NuosuSIL.eot","woff":"NuosuSIL\/NuosuSIL.woff"},"OpenDyslexic":{"version":"2.1.0+git060dc841","ttf":"OpenDyslexic\/OpenDyslexic-Regular.ttf","eot":"OpenDyslexic\/OpenDyslexic-Regular.eot","woff":"OpenDyslexic\/OpenDyslexic-Regular.woff","variants":{"bold":"OpenDyslexic Bold","bolditalic":"OpenDyslexic BoldItalic","italic":"OpenDyslexic Italic"}},"OpenDyslexic Bold":{"version":"2.1.0+git060dc841","fontweight":"bold","ttf":"OpenDyslexic\/OpenDyslexic-Bold.ttf","eot":"OpenDyslexic\/OpenDyslexic-Bold.eot","woff":"OpenDyslexic\/OpenDyslexic-Bold.woff"},"OpenDyslexic BoldItalic":{"version":"2.1.0+git060dc841","fontweight":"bold","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-BoldItalic.ttf","eot":"OpenDyslexic\/OpenDyslexic-BoldItalic.eot","woff":"OpenDyslexic\/OpenDyslexic-BoldItalic.woff"},"OpenDyslexic Italic":{"version":"2.1.0+git060dc841","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-Italic.ttf","eot":"OpenDyslexic\/OpenDyslexic-Italic.eot","woff":"OpenDyslexic\/OpenDyslexic-Italic.woff"},"OskiEast":{"version":"2.200","ttf":"OskiEast\/oskie.ttf","eot":"OskiEast\/oskie.eot","woff":"OskiEast\/oskie.woff","variants":{"bold":"OskiEast Bold","bolditalic":"OskiEast Bold Italic","italic":"OskiEast Italic"}},"OskiEast Bold":{"version":"2.200","fontweight":"bold","ttf":"OskiEast\/oskiebold.ttf","eot":"OskiEast\/oskiebold.eot","woff":"OskiEast\/oskiebold.woff"},"OskiEast Bold Italic":{"version":"2.200","fontweight":"bold","fontstyle":"italic","ttf":"OskiEast\/oskiebolditalic.ttf","eot":"OskiEast\/oskiebolditalic.eot","woff":"OskiEast\/oskiebolditalic.woff"},"OskiEast Italic":{"version":"2.200","fontstyle":"italic","ttf":"OskiEast\/oskieitalic.ttf","eot":"OskiEast\/oskieitalic.eot","woff":"OskiEast\/oskieitalic.woff"},"Padauk":{"version":"2.8","eot":"Padauk\/Padauk-Regular.eot","ttf":"Padauk\/Padauk-Regular.ttf","woff":"Padauk\/Padauk-Regular.woff"},"Pagul":{"version":"1.0","eot":"Pagul\/Pagul.eot","ttf":"Pagul\/Pagul.ttf","woff":"Pagul\/Pagul.woff"},"Pangururan":{"version":"1.0.5","ttf":"Pangururan\/Pangururan.ttf","eot":"Pangururan\/Pangururan.eot","woff":"Pangururan\/Pangururan.woff"},"Phetsarath":{"version":"1.01","ttf":"Phetsarath\/Phetsarath-Regular.ttf","eot":"Phetsarath\/Phetsarath-Regular.eot","woff":"Phetsarath\/Phetsarath-Regular.woff","variants":{"bold":"Phetsarath-Bold"}},"Phetsarath-Bold":{"version":"1.01","fontweight":"bold","ttf":"Phetsarath\/Phetsarath-Bold.ttf","eot":"Phetsarath\/Phetsarath-Bold.eot","woff":"Phetsarath\/Phetsarath-Bold.woff"},"RailwaySans":{"version":"2013-12-15","ttf":"RailwaySans\/RailwaySans.ttf","eot":"RailwaySans\/RailwaySans.eot","woff":"RailwaySans\/RailwaySans.woff"},"Saab":{"version":"0.91","eot":"Saab\/Saab.eot","ttf":"Saab\/Saab.ttf","woff":"Saab\/Saab.woff"},"Saweri":{"version":"2","eot":"saweri\/saweri.eot","ttf":"saweri\/saweri.ttf","woff":"saweri\/saweri.woff"},"Scheherazade":{"version":"2.010","ttf":"Scheherazade\/Scheherazade-R.ttf","eot":"Scheherazade\/Scheherazade-R.eot","woff":"Scheherazade\/Scheherazade-R.woff"},"SertoUrhoy":{"version":"1.20","eot":"SertoUrhoy\/SyrCOMUrhoy.eot","ttf":"SertoUrhoy\/SyrCOMUrhoy.ttf","woff":"SertoUrhoy\/SyrCOMUrhoy.woff"},"Shapour":{"version":"001.000","eot":"Shapour\/Shapour.eot","ttf":"Shapour\/Shapour.ttf","woff":"Shapour\/Shapour.woff"},"Siyam Rupali":{"version":"1.070","eot":"SiyamRupali\/SiyamRupali.eot","ttf":"SiyamRupali\/SiyamRupali.ttf","woff":"SiyamRupali\/SiyamRupali.woff"},"Suwannaphum":{"version":"2.00","ttf":"Suwannaphum\/Suwannaphum.ttf","eot":"Suwannaphum\/Suwannaphum.eot","woff":"Suwannaphum\/Suwannaphum.woff"},"Taamey Frank CLM":{"version":"0.110","eot":"TaameyFrankCLM\/TaameyFrankCLM.eot","ttf":"TaameyFrankCLM\/TaameyFrankCLM.ttf","woff":"TaameyFrankCLM\/TaameyFrankCLM.woff"},"TharLon":{"version":"1.003","eot":"TharLon\/TharLon.eot","ttf":"TharLon\/TharLon.ttf","woff":"TharLon\/TharLon.woff"},"Thendral":{"version":"1.0","eot":"Thendral\/ThendralUni.eot","ttf":"Thendral\/ThendralUni.ttf","woff":"Thendral\/ThendralUni.woff"},"Thenee":{"version":"1.0","eot":"Thenee\/TheneeUni.eot","ttf":"Thenee\/TheneeUni.ttf","woff":"Thenee\/TheneeUni.woff"},"Tuladha Jejeg":{"version":"2.0.1","eot":"TuladhaJejeg\/TuladhaJejeg_gr.eot","ttf":"TuladhaJejeg\/TuladhaJejeg_gr.ttf","woff":"TuladhaJejeg\/TuladhaJejeg_gr.woff"},"UnifrakturMaguntia":{"version":"2014-07-06","ttf":"UnifrakturMaguntia\/UnifrakturMaguntia.ttf","eot":"UnifrakturMaguntia\/UnifrakturMaguntia.eot","woff":"UnifrakturMaguntia\/UnifrakturMaguntia.woff"},"Utkal":{"version":"0.13","eot":"utkal\/utkal.eot","ttf":"utkal\/utkal.ttf","woff":"utkal\/utkal.woff"},"lklug":{"version":"0.6","ttf":"lklug\/lklug.ttf","eot":"lklug\/lklug.eot","woff":"lklug\/lklug.woff"}}};
+ $.webfonts.repository = {"base":"..\/data\/fontrepo\/fonts\/","languages":{"adx":["Jomolhari"],"af":["system","OpenDyslexic"],"ahr":["Lohit Marathi"],"am":["AbyssinicaSIL"],"ang":["system","Junicode"],"ar":["system","Amiri"],"arb":["system","Amiri"],"arc":["Estrangelo Edessa","East Syriac Adiabene","SertoUrhoy"],"as":["system","Lohit Assamese"],"bbc":["system","Pangururan"],"bh":["Lohit Devanagari"],"bho":["Lohit Devanagari"],"bk":["system","OpenDyslexic"],"bn":["Siyam Rupali","Lohit Bengali"],"bo":["Jomolhari"],"bod":["Jomolhari"],"bpy":["Siyam Rupali","Lohit Bengali"],"btk":["system","Pangururan"],"bug":["Saweri"],"ca":["system","OpenDyslexic"],"cdo":["system","CharisSIL"],"ckb":["system","Lateef","Scheherazade","Amiri"],"cr":["OskiEast"],"cy":["system","ComicNeue","OpenDyslexic"],"da":["system","OpenDyslexic"],"de":["system","OpenDyslexic"],"dre":["Jomolhari"],"dv":["FreeFont-Thaana"],"dz":["Jomolhari"],"en":["system","ComicNeue","OpenDyslexic"],"es":["system","OpenDyslexic"],"et":["system","OpenDyslexic"],"fa":["system","Iranian Sans","Iranian Serif","Lateef","Nazli","Scheherazade"],"fi":["system","OpenDyslexic"],"fo":["system","OpenDyslexic"],"fr":["system","OpenDyslexic"],"fy":["system","OpenDyslexic"],"ga":["system","OpenDyslexic"],"gd":["system","OpenDyslexic"],"gez":["AbyssinicaSIL"],"gl":["system","OpenDyslexic"],"goe":["Jomolhari"],"gom":["Lohit Devanagari"],"got":["system","Skeirs II"],"grc":["system","GentiumPlus"],"gu":["Lohit Gujarati"],"hbo":["Taamey Frank CLM","Alef"],"he":["system","Alef","Miriam CLM","Taamey Frank CLM"],"hi":["Lohit Devanagari"],"hu":["system","OpenDyslexic"],"hut":["Jomolhari"],"id":["system","ComicNeue","OpenDyslexic"],"ii":["Nuosu SIL"],"is":["system","OpenDyslexic"],"it":["system","OpenDyslexic"],"iu":["system","OskiEast"],"jv":["system","Tuladha Jejeg"],"jv-java":["Tuladha Jejeg"],"kbg":["Jomolhari"],"khg":["Jomolhari"],"km":["KhmerOSbattambang","Hanuman","KhmerOS","Nokora Regular","Suwannaphum"],"kn":["Lohit Kannada","Gubbi"],"kok":["Lohit Devanagari"],"kte":["Jomolhari"],"lb":["system","OpenDyslexic"],"lbj":["Jomolhari"],"lhm":["Jomolhari"],"li":["system","OpenDyslexic"],"lo":["Phetsarath"],"loy":["Jomolhari"],"luk":["Jomolhari"],"lya":["Jomolhari"],"mai":["Lohit Devanagari"],"mak":["Saweri"],"mi":["system","OpenDyslexic"],"ml":["system","AnjaliOldLipi","Meera"],"mr":["Lohit Marathi"],"ms":["system","ComicNeue","OpenDyslexic"],"muk":["Jomolhari"],"mul":["system","Autonym"],"my":["TharLon","Myanmar3","Padauk"],"nan":["system","CharisSIL","Doulos SIL"],"nb":["system","OpenDyslexic"],"ne":["Lohit Nepali","Madan"],"nl":["system","ComicNeue","OpenDyslexic"],"oc":["system","OpenDyslexic"],"ola":["Jomolhari"],"or":["Lohit Odia","Utkal"],"otb":["Jomolhari"],"pa":["Lohit Punjabi","Saab"],"pal":["Shapour"],"peo":["Artaxerxes"],"pl":["system","OpenDyslexic"],"pt":["system","OpenDyslexic"],"sa":["Lohit Devanagari"],"saz":["Pagul"],"si":["system","lklug"],"sq":["system","OpenDyslexic"],"sv":["system","OpenDyslexic"],"sw":["system","ComicNeue","OpenDyslexic"],"syc":["Estrangelo Edessa","East Syriac Adiabene","SertoUrhoy"],"ta":["system","Lohit Tamil","Lohit Tamil Classical","Thendral","Thenee"],"tcn":["Jomolhari"],"tcy":["Lohit Kannada","Gubbi"],"te":["Lohit Telugu"],"thw":["Jomolhari"],"ti":["AbyssinicaSIL"],"tig":["AbyssinicaSIL"],"tl":["system","ComicNeue","OpenDyslexic"],"tr":["system","OpenDyslexic"],"tsk":["Jomolhari"],"ur":["system","Hussaini Nastaleeq","NafeesWeb"],"wa":["system","OpenDyslexic"],"xct":["Jomolhari"],"yi":["system","Alef"],"zau":["Jomolhari"]},"fonts":{"AbyssinicaSIL":{"version":"1.500","eot":"AbyssinicaSIL\/AbyssinicaSIL-R.eot","ttf":"AbyssinicaSIL\/AbyssinicaSIL-R.ttf","woff":"AbyssinicaSIL\/AbyssinicaSIL-R.woff"},"Alef":{"version":"1.0","ttf":"Alef\/Alef-Regular.ttf","eot":"Alef\/Alef-Regular.eot","woff":"Alef\/Alef-Regular.woff","variants":{"bold":"Alef Bold"}},"Alef Bold":{"version":"1.0","fontweight":"bold","ttf":"Alef\/Alef-Bold.ttf","eot":"Alef\/Alef-Bold.eot","woff":"Alef\/Alef-Bold.woff"},"Amiri":{"version":"1.0.2","ttf":"amiri\/amiri-regular.ttf","eot":"amiri\/amiri-regular.eot","woff":"amiri\/amiri-regular.woff","variants":{"bold":"Amiri Bold","bolditalic":"Amiri Bold Italic","italic":"Amiri Italic"}},"Amiri Bold":{"version":"1.0.2","fontweight":"bold","ttf":"amiri\/amiri-bold.ttf","eot":"amiri\/amiri-bold.eot","woff":"amiri\/amiri-bold.woff"},"Amiri Bold Italic":{"version":"1.0.2","fontweight":"bold","fontstyle":"italic","ttf":"amiri\/amiri-boldslanted.ttf","eot":"amiri\/amiri-boldslanted.eot","woff":"amiri\/amiri-boldslanted.woff"},"Amiri Italic":{"version":"1.0.2","fontstyle":"italic","ttf":"amiri\/amiri-slanted.ttf","eot":"amiri\/amiri-slanted.eot","woff":"amiri\/amiri-slanted.woff"},"AnjaliOldLipi":{"version":".0.730","eot":"AnjaliOldLipi\/AnjaliOldLipi.eot","ttf":"AnjaliOldLipi\/AnjaliOldLipi.ttf","woff":"AnjaliOldLipi\/AnjaliOldLipi.woff"},"Artaxerxes":{"version":"1.400","eot":"Artaxerxes\/Artaxerxes.eot","ttf":"Artaxerxes\/Artaxerxes.ttf","woff":"Artaxerxes\/Artaxerxes.woff"},"Autonym":{"version":"20131205","eot":"Autonym\/Autonym.eot","ttf":"Autonym\/Autonym.ttf","woff":"Autonym\/Autonym.woff"},"CharisSIL":{"version":"4.011","eot":"CharisSIL\/CharisSIL-R.eot","ttf":"CharisSIL\/CharisSIL-R.ttf","woff":"CharisSIL\/CharisSIL-R.woff"},"ComicNeue":{"version":"1.1","ttf":"ComicNeue\/ComicNeue-Regular.ttf","eot":"ComicNeue\/ComicNeue-Regular.eot","woff":"ComicNeue\/ComicNeue-Regular.woff","variants":{"bold":"ComicNeue Bold","italic":"ComicNeue Oblique"}},"ComicNeue Bold":{"version":"1.1","fontweight":"bold","ttf":"ComicNeue\/ComicNeue-Bold.ttf","eot":"ComicNeue\/ComicNeue-Bold.eot","woff":"ComicNeue\/ComicNeue-Bold.woff"},"ComicNeue Oblique":{"version":"1.1","fontstyle":"italic","ttf":"ComicNeue\/ComicNeue-Regular-Oblique.ttf","eot":"ComicNeue\/ComicNeue-Regular-Oblique.eot","woff":"ComicNeue\/ComicNeue-Regular-Oblique.woff"},"Doulos SIL":{"version":"4.112","eot":"DoulosSIL\/DoulosSIL-R.eot","ttf":"DoulosSIL\/DoulosSIL-R.ttf","woff":"DoulosSIL\/DoulosSIL-R.woff"},"East Syriac Adiabene":{"version":"1.21","eot":"EastSyriacAdiabene\/SyrCOMAdiabene.eot","ttf":"EastSyriacAdiabene\/SyrCOMAdiabene.ttf","woff":"EastSyriacAdiabene\/SyrCOMAdiabene.woff"},"Estrangelo Edessa":{"version":"1.21","eot":"EstrangeloEdessa\/SyrCOMEdessa.eot","ttf":"EstrangeloEdessa\/SyrCOMEdessa.ttf","woff":"EstrangeloEdessa\/SyrCOMEdessa.woff"},"FreeFont-Thaana":{"version":"1.0","ttf":"FreeFontThana\/FreeFont-Thaana.ttf","eot":"FreeFontThana\/FreeFont-Thaana.eot","woff":"FreeFontThana\/FreeFont-Thaana.woff","variants":{"bold":"FreeFont-Thaana Bold"}},"FreeFont-Thaana Bold":{"version":"1.0","fontweight":"bold","ttf":"FreeFontThana\/FreeFont-Thaana-Bold.ttf","eot":"FreeFontThana\/FreeFont-Thaana-Bold.eot","woff":"FreeFontThana\/FreeFont-Thaana-Bold.woff"},"GentiumPlus":{"version":"1.510","ttf":"GentiumPlus\/GentiumPlus-R.ttf","eot":"GentiumPlus\/GentiumPlus-R.eot","woff":"GentiumPlus\/GentiumPlus-R.woff","variants":{"italic":"GentiumPlus Italic"}},"GentiumPlus Italic":{"version":"1.510","fontstyle":"italic","ttf":"GentiumPlus\/GentiumPlus-I.ttf","eot":"GentiumPlus\/GentiumPlus-I.eot","woff":"GentiumPlus\/GentiumPlus-I.woff"},"Gubbi":{"version":"1.3","eot":"Gubbi\/Gubbi.eot","ttf":"Gubbi\/Gubbi.ttf","woff":"Gubbi\/Gubbi.woff"},"Hanuman":{"version":"1.0","ttf":"Hanuman\/Hanuman.ttf","eot":"Hanuman\/Hanuman.eot","woff":"Hanuman\/Hanuman.woff","variants":{"bold":"Hanuman Bold"}},"Hanuman Bold":{"version":"1.0","fontweight":"bold","ttf":"Hanuman\/Hanumanb.ttf","eot":"Hanuman\/Hanumanb.eot","woff":"Hanuman\/Hanumanb.woff"},"Hussaini Nastaleeq":{"version":"0.01","eot":"HussainiNastaleeq\/hussaini-nastaleeq.eot","ttf":"HussainiNastaleeq\/hussaini-nastaleeq.ttf","woff":"HussainiNastaleeq\/hussaini-nastaleeq.woff"},"Iranian Sans":{"version":"1.000","ttf":"IranianSans\/irsans.ttf","eot":"IranianSans\/irsans.eot","woff":"IranianSans\/irsans.woff","variants":{"bold":"Iranian Sans Bold"}},"Iranian Sans Bold":{"version":"1.000","fontweight":"bold","ttf":"IranianSans\/irsansb.ttf","eot":"IranianSans\/irsansb.eot","woff":"IranianSans\/irsansb.woff"},"Iranian Serif":{"version":"1.000","ttf":"IranianSerif\/irseri.ttf","eot":"IranianSerif\/irseri.eot","woff":"IranianSerif\/irseri.woff"},"Jomolhari":{"version":"0.003","eot":"Jomolhari\/Jomolhari.eot","ttf":"Jomolhari\/Jomolhari.ttf","woff":"Jomolhari\/Jomolhari.woff"},"Junicode":{"version":"2013-01-17","ttf":"Junicode\/Junicode.ttf","eot":"Junicode\/Junicode.eot","woff":"Junicode\/Junicode.woff","variants":{"bold":"Junicode Bold","bolditalic":"Junicode Bold Italic","italic":"Junicode Italic"}},"Junicode Bold":{"version":"2013-01-17","fontweight":"bold","ttf":"Junicode\/Junicode-Bold.ttf","eot":"Junicode\/Junicode-Bold.eot","woff":"Junicode\/Junicode-Bold.woff"},"Junicode Bold Italic":{"version":"2013-01-17","fontweight":"bold","fontstyle":"italic","ttf":"Junicode\/Junicode-BoldItalic.ttf","eot":"Junicode\/Junicode-BoldItalic.eot","woff":"Junicode\/Junicode-BoldItalic.woff"},"Junicode Italic":{"version":"2013-01-17","fontstyle":"italic","ttf":"Junicode\/Junicode-Italic.ttf","eot":"Junicode\/Junicode-Italic.eot","woff":"Junicode\/Junicode-Italic.woff"},"KhmerOS":{"version":"1.10","eot":"KhmerOS\/KhmerOS.eot","ttf":"KhmerOS\/KhmerOS.ttf","woff":"KhmerOS\/KhmerOS.woff"},"KhmerOSbattambang":{"version":"1.10","eot":"KhmerOSbattambang\/KhmerOSbattambang.eot","ttf":"KhmerOSbattambang\/KhmerOSbattambang.ttf","woff":"KhmerOSbattambang\/KhmerOSbattambang.woff"},"Lateef":{"version":"1.001","ttf":"Lateef\/LateefRegOT.ttf","eot":"Lateef\/LateefRegOT.eot","woff":"Lateef\/LateefRegOT.woff"},"Linux Libertine":{"version":"5.3.0","ttf":"LinuxLibertine\/LinLibertine_Rah.ttf","eot":"LinuxLibertine\/LinLibertine_Rah.eot","woff":"LinuxLibertine\/LinLibertine_Rah.woff","variants":{"bold":"Linux Libertine Bold","bolditalic":"Linux Libertine Bold Italic","italic":"Linux Libertine Italic"}},"Linux Libertine Bold":{"version":"5.3.0","fontweight":"bold","ttf":"LinuxLibertine\/LinLibertine_RBah.ttf","eot":"LinuxLibertine\/LinLibertine_RBah.eot","woff":"LinuxLibertine\/LinLibertine_RBah.woff"},"Linux Libertine Bold Italic":{"version":"5.3.0","fontweight":"bold","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RBIah.ttf","eot":"LinuxLibertine\/LinLibertine_RBIah.eot","woff":"LinuxLibertine\/LinLibertine_RBIah.woff"},"Linux Libertine Italic":{"version":"5.3.0","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RIah.ttf","eot":"LinuxLibertine\/LinLibertine_RIah.eot","woff":"LinuxLibertine\/LinLibertine_RIah.woff"},"Lohit Assamese":{"version":"2.5.3","eot":"LohitAssamese\/Lohit-Assamese.eot","ttf":"LohitAssamese\/Lohit-Assamese.ttf","woff":"LohitAssamese\/Lohit-Assamese.woff"},"Lohit Bengali":{"version":"2.5.3","eot":"LohitBengali\/Lohit-Bengali.eot","ttf":"LohitBengali\/Lohit-Bengali.ttf","woff":"LohitBengali\/Lohit-Bengali.woff"},"Lohit Devanagari":{"version":"2.5.3","eot":"LohitDevanagari\/Lohit-Devanagari.eot","ttf":"LohitDevanagari\/Lohit-Devanagari.ttf","woff":"LohitDevanagari\/Lohit-Devanagari.woff"},"Lohit Gujarati":{"version":"2.5.3","eot":"LohitGujarati\/Lohit-Gujarati.eot","ttf":"LohitGujarati\/Lohit-Gujarati.ttf","woff":"LohitGujarati\/Lohit-Gujarati.woff"},"Lohit Kannada":{"version":"2.5.3","eot":"LohitKannada\/Lohit-Kannada.eot","ttf":"LohitKannada\/Lohit-Kannada.ttf","woff":"LohitKannada\/Lohit-Kannada.woff"},"Lohit Marathi":{"version":"2.5.3","eot":"LohitMarathi\/Lohit-Marathi.eot","ttf":"LohitMarathi\/Lohit-Marathi.ttf","woff":"LohitMarathi\/Lohit-Marathi.woff"},"Lohit Nepali":{"version":"2.5.3","eot":"LohitNepali\/Lohit-Nepali.eot","ttf":"LohitNepali\/Lohit-Nepali.ttf","woff":"LohitNepali\/Lohit-Nepali.woff"},"Lohit Odia":{"version":"2.5.5","eot":"LohitOdia\/Lohit-Odia.eot","ttf":"LohitOdia\/Lohit-Odia.ttf","woff":"LohitOdia\/Lohit-Odia.woff"},"Lohit Punjabi":{"version":"2.5.3","eot":"LohitPunjabi\/Lohit-Punjabi.eot","ttf":"LohitPunjabi\/Lohit-Punjabi.ttf","woff":"LohitPunjabi\/Lohit-Punjabi.woff"},"Lohit Tamil":{"version":"2.5.3","eot":"LohitTamil\/Lohit-Tamil.eot","ttf":"LohitTamil\/Lohit-Tamil.ttf","woff":"LohitTamil\/Lohit-Tamil.woff"},"Lohit Tamil Classical":{"version":"2.5.3","eot":"LohitTamilClassical\/Lohit-Tamil-Classical.eot","ttf":"LohitTamilClassical\/Lohit-Tamil-Classical.ttf","woff":"LohitTamilClassical\/Lohit-Tamil-Classical.woff"},"Lohit Telugu":{"version":"2.5.3","eot":"LohitTelugu\/Lohit-Telugu.eot","ttf":"LohitTelugu\/Lohit-Telugu.ttf","woff":"LohitTelugu\/Lohit-Telugu.woff"},"Madan":{"version":"2","eot":"madan\/madan.eot","ttf":"madan\/madan.ttf","woff":"madan\/madan.woff"},"Meera":{"version":"6.0","eot":"Meera\/Meera.eot","ttf":"Meera\/Meera.ttf","woff":"Meera\/Meera.woff"},"Miriam CLM":{"version":"0.130","eot":"MiriamCLM\/MiriamCLM-Book.eot","ttf":"MiriamCLM\/MiriamCLM-Book.ttf","woff":"MiriamCLM\/MiriamCLM-Book.woff"},"Myanmar3":{"version":"3.0","eot":"Myanmar3\/Myanmar3.eot","ttf":"Myanmar3\/Myanmar3.ttf","woff":"Myanmar3\/Myanmar3.woff"},"NafeesWeb":{"version":"1.2","eot":"NafeesWeb\/NafeesWeb.eot","ttf":"NafeesWeb\/NafeesWeb.ttf","woff":"NafeesWeb\/NafeesWeb.woff"},"Nazli":{"version":"0.4","ttf":"Nazli\/Nazli.ttf","eot":"Nazli\/Nazli.eot","woff":"Nazli\/Nazli.woff","variants":{"bold":"Nazli Bold"}},"Nazli Bold":{"version":"0.4","fontweight":"bold","ttf":"Nazli\/Nazli-bold.ttf","eot":"Nazli\/Nazli-bold.eot","woff":"Nazli\/Nazli-bold.woff"},"Nokora Bold":{"version":"1.10","fontweight":"bold","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","ttf":"Nokora\/Nokora-Regular.ttf"},"Nokora Regular":{"version":"1.10","ttf":"Nokora\/Nokora-Regular.ttf","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","variants":{"bold":"Nokora Bold"}},"Nuosu SIL":{"version":"2.1.1","ttf":"NuosuSIL\/NuosuSIL.ttf","eot":"NuosuSIL\/NuosuSIL.eot","woff":"NuosuSIL\/NuosuSIL.woff"},"OpenDyslexic":{"version":"2.1.0+git060dc841","ttf":"OpenDyslexic\/OpenDyslexic-Regular.ttf","eot":"OpenDyslexic\/OpenDyslexic-Regular.eot","woff":"OpenDyslexic\/OpenDyslexic-Regular.woff","variants":{"bold":"OpenDyslexic Bold","bolditalic":"OpenDyslexic BoldItalic","italic":"OpenDyslexic Italic"}},"OpenDyslexic Bold":{"version":"2.1.0+git060dc841","fontweight":"bold","ttf":"OpenDyslexic\/OpenDyslexic-Bold.ttf","eot":"OpenDyslexic\/OpenDyslexic-Bold.eot","woff":"OpenDyslexic\/OpenDyslexic-Bold.woff"},"OpenDyslexic BoldItalic":{"version":"2.1.0+git060dc841","fontweight":"bold","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-BoldItalic.ttf","eot":"OpenDyslexic\/OpenDyslexic-BoldItalic.eot","woff":"OpenDyslexic\/OpenDyslexic-BoldItalic.woff"},"OpenDyslexic Italic":{"version":"2.1.0+git060dc841","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-Italic.ttf","eot":"OpenDyslexic\/OpenDyslexic-Italic.eot","woff":"OpenDyslexic\/OpenDyslexic-Italic.woff"},"OskiEast":{"version":"2.200","ttf":"OskiEast\/oskie.ttf","eot":"OskiEast\/oskie.eot","woff":"OskiEast\/oskie.woff","variants":{"bold":"OskiEast Bold","bolditalic":"OskiEast Bold Italic","italic":"OskiEast Italic"}},"OskiEast Bold":{"version":"2.200","fontweight":"bold","ttf":"OskiEast\/oskiebold.ttf","eot":"OskiEast\/oskiebold.eot","woff":"OskiEast\/oskiebold.woff"},"OskiEast Bold Italic":{"version":"2.200","fontweight":"bold","fontstyle":"italic","ttf":"OskiEast\/oskiebolditalic.ttf","eot":"OskiEast\/oskiebolditalic.eot","woff":"OskiEast\/oskiebolditalic.woff"},"OskiEast Italic":{"version":"2.200","fontstyle":"italic","ttf":"OskiEast\/oskieitalic.ttf","eot":"OskiEast\/oskieitalic.eot","woff":"OskiEast\/oskieitalic.woff"},"Padauk":{"version":"2.8","eot":"Padauk\/Padauk-Regular.eot","ttf":"Padauk\/Padauk-Regular.ttf","woff":"Padauk\/Padauk-Regular.woff"},"Pagul":{"version":"1.0","eot":"Pagul\/Pagul.eot","ttf":"Pagul\/Pagul.ttf","woff":"Pagul\/Pagul.woff"},"Pangururan":{"version":"1.0.5","ttf":"Pangururan\/Pangururan.ttf","eot":"Pangururan\/Pangururan.eot","woff":"Pangururan\/Pangururan.woff"},"Phetsarath":{"version":"1.01","ttf":"Phetsarath\/Phetsarath-Regular.ttf","eot":"Phetsarath\/Phetsarath-Regular.eot","woff":"Phetsarath\/Phetsarath-Regular.woff","variants":{"bold":"Phetsarath-Bold"}},"Phetsarath-Bold":{"version":"1.01","fontweight":"bold","ttf":"Phetsarath\/Phetsarath-Bold.ttf","eot":"Phetsarath\/Phetsarath-Bold.eot","woff":"Phetsarath\/Phetsarath-Bold.woff"},"RailwaySans":{"version":"2013-12-15","ttf":"RailwaySans\/RailwaySans.ttf","eot":"RailwaySans\/RailwaySans.eot","woff":"RailwaySans\/RailwaySans.woff"},"Saab":{"version":"0.91","eot":"Saab\/Saab.eot","ttf":"Saab\/Saab.ttf","woff":"Saab\/Saab.woff"},"Saweri":{"version":"2","eot":"saweri\/saweri.eot","ttf":"saweri\/saweri.ttf","woff":"saweri\/saweri.woff"},"Scheherazade":{"version":"2.010","ttf":"Scheherazade\/Scheherazade-R.ttf","eot":"Scheherazade\/Scheherazade-R.eot","woff":"Scheherazade\/Scheherazade-R.woff"},"SertoUrhoy":{"version":"1.20","eot":"SertoUrhoy\/SyrCOMUrhoy.eot","ttf":"SertoUrhoy\/SyrCOMUrhoy.ttf","woff":"SertoUrhoy\/SyrCOMUrhoy.woff"},"Shapour":{"version":"001.000","eot":"Shapour\/Shapour.eot","ttf":"Shapour\/Shapour.ttf","woff":"Shapour\/Shapour.woff"},"Siyam Rupali":{"version":"1.070","eot":"SiyamRupali\/SiyamRupali.eot","ttf":"SiyamRupali\/SiyamRupali.ttf","woff":"SiyamRupali\/SiyamRupali.woff"},"Skeirs II":{"version":"4.0","ttf":"Skeirs\/Skeirs II.ttf","eot":"Skeirs\/Skeirs II.eot","woff":"Skeirs\/Skeirs II.woff"},"Suwannaphum":{"version":"2.00","ttf":"Suwannaphum\/Suwannaphum.ttf","eot":"Suwannaphum\/Suwannaphum.eot","woff":"Suwannaphum\/Suwannaphum.woff"},"Taamey Frank CLM":{"version":"0.110","eot":"TaameyFrankCLM\/TaameyFrankCLM.eot","ttf":"TaameyFrankCLM\/TaameyFrankCLM.ttf","woff":"TaameyFrankCLM\/TaameyFrankCLM.woff"},"TharLon":{"version":"1.003","eot":"TharLon\/TharLon.eot","ttf":"TharLon\/TharLon.ttf","woff":"TharLon\/TharLon.woff"},"Thendral":{"version":"1.0","eot":"Thendral\/ThendralUni.eot","ttf":"Thendral\/ThendralUni.ttf","woff":"Thendral\/ThendralUni.woff"},"Thenee":{"version":"1.0","eot":"Thenee\/TheneeUni.eot","ttf":"Thenee\/TheneeUni.ttf","woff":"Thenee\/TheneeUni.woff"},"Tuladha Jejeg":{"version":"2.0.1","eot":"TuladhaJejeg\/TuladhaJejeg_gr.eot","ttf":"TuladhaJejeg\/TuladhaJejeg_gr.ttf","woff":"TuladhaJejeg\/TuladhaJejeg_gr.woff"},"UnifrakturMaguntia":{"version":"2014-07-06","ttf":"UnifrakturMaguntia\/UnifrakturMaguntia.ttf","eot":"UnifrakturMaguntia\/UnifrakturMaguntia.eot","woff":"UnifrakturMaguntia\/UnifrakturMaguntia.woff"},"Utkal":{"version":"0.13","eot":"utkal\/utkal.eot","ttf":"utkal\/utkal.ttf","woff":"utkal\/utkal.woff"},"lklug":{"version":"0.6","ttf":"lklug\/lklug.ttf","eot":"lklug\/lklug.eot","woff":"lklug\/lklug.woff"}}};
}( jQuery ) );
diff --git a/MLEB/UniversalLanguageSelector/vendor/autoload.php b/MLEB/UniversalLanguageSelector/vendor/autoload.php
new file mode 100644
index 00000000..ab09e468
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/autoload.php
@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer' . '/autoload_real.php';
+
+return ComposerAutoloaderInit1e651c2ad0e3fb349be86f6c492b17fe::getLoader();
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/ClassLoader.php b/MLEB/UniversalLanguageSelector/vendor/composer/ClassLoader.php
new file mode 100644
index 00000000..5e1469e8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/ClassLoader.php
@@ -0,0 +1,413 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ * Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0 class loader
+ *
+ * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+
+ private $classMapAuthoritative = false;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * appending or prepending to the ones previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-0 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
+ if ('\\' == $class[0]) {
+ $class = substr($class, 1);
+ }
+
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative) {
+ return false;
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if ($file === null && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if ($file === null) {
+ // Remember that this class does not exist.
+ return $this->classMap[$class] = false;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/autoload_classmap.php b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_classmap.php
new file mode 100644
index 00000000..7a91153b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_classmap.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+);
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/autoload_namespaces.php b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_namespaces.php
new file mode 100644
index 00000000..38f805f9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_namespaces.php
@@ -0,0 +1,10 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+ 'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src'),
+);
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/autoload_psr4.php b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_psr4.php
new file mode 100644
index 00000000..b265c64a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_psr4.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+);
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/autoload_real.php b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_real.php
new file mode 100644
index 00000000..c2609c12
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/autoload_real.php
@@ -0,0 +1,50 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInit1e651c2ad0e3fb349be86f6c492b17fe
+{
+ private static $loader;
+
+ public static function loadClassLoader($class)
+ {
+ if ('Composer\Autoload\ClassLoader' === $class) {
+ require __DIR__ . '/ClassLoader.php';
+ }
+ }
+
+ public static function getLoader()
+ {
+ if (null !== self::$loader) {
+ return self::$loader;
+ }
+
+ spl_autoload_register(array('ComposerAutoloaderInit1e651c2ad0e3fb349be86f6c492b17fe', 'loadClassLoader'), true, true);
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+ spl_autoload_unregister(array('ComposerAutoloaderInit1e651c2ad0e3fb349be86f6c492b17fe', 'loadClassLoader'));
+
+ $map = require __DIR__ . '/autoload_namespaces.php';
+ foreach ($map as $namespace => $path) {
+ $loader->set($namespace, $path);
+ }
+
+ $map = require __DIR__ . '/autoload_psr4.php';
+ foreach ($map as $namespace => $path) {
+ $loader->setPsr4($namespace, $path);
+ }
+
+ $classMap = require __DIR__ . '/autoload_classmap.php';
+ if ($classMap) {
+ $loader->addClassMap($classMap);
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
+
+function composerRequire1e651c2ad0e3fb349be86f6c492b17fe($file)
+{
+ require $file;
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installed.json b/MLEB/UniversalLanguageSelector/vendor/composer/installed.json
new file mode 100644
index 00000000..19e58da8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installed.json
@@ -0,0 +1,102 @@
+[
+ {
+ "name": "composer/installers",
+ "version": "v1.0.22",
+ "version_normalized": "1.0.22.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/installers.git",
+ "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/installers/zipball/bd9b14f094c89c8b5804a4e41edeb7853bb85046",
+ "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "1.0.0"
+ },
+ "replace": {
+ "roundcube/plugin-installer": "*",
+ "shama/baton": "*"
+ },
+ "require-dev": {
+ "composer/composer": "1.0.*@dev",
+ "phpunit/phpunit": "4.1.*"
+ },
+ "time": "2015-10-29 23:28:48",
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Composer\\Installers\\Plugin",
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "Composer\\Installers\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kyle Robinson Young",
+ "email": "kyle@dontkry.com",
+ "homepage": "https://github.com/shama"
+ }
+ ],
+ "description": "A multi-framework Composer library installer",
+ "homepage": "http://composer.github.com/installers/",
+ "keywords": [
+ "Craft",
+ "Dolibarr",
+ "Hurad",
+ "MODX Evo",
+ "OXID",
+ "SMF",
+ "Thelia",
+ "WolfCMS",
+ "agl",
+ "aimeos",
+ "annotatecms",
+ "bitrix",
+ "cakephp",
+ "chef",
+ "codeigniter",
+ "concrete5",
+ "croogo",
+ "dokuwiki",
+ "drupal",
+ "elgg",
+ "fuelphp",
+ "grav",
+ "installer",
+ "joomla",
+ "kohana",
+ "laravel",
+ "lithium",
+ "magento",
+ "mako",
+ "mediawiki",
+ "modulework",
+ "moodle",
+ "phpbb",
+ "piwik",
+ "ppi",
+ "puppet",
+ "roundcube",
+ "shopware",
+ "silverstripe",
+ "symfony",
+ "typo3",
+ "wordpress",
+ "zend",
+ "zikula"
+ ]
+ }
+]
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/.editorconfig b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.editorconfig
new file mode 100644
index 00000000..153cf3ef
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.editorconfig
@@ -0,0 +1,10 @@
+; top-most EditorConfig file
+root = true
+
+; Unix-style newlines
+[*]
+end_of_line = LF
+
+[*.php]
+indent_style = space
+indent_size = 4
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/.gitignore b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.gitignore
new file mode 100644
index 00000000..ff7f293d
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.gitignore
@@ -0,0 +1,3 @@
+vendor/
+composer.lock
+.idea/
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/.travis.yml b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.travis.yml
new file mode 100644
index 00000000..dc4ecf4c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/.travis.yml
@@ -0,0 +1,21 @@
+language: php
+
+php:
+ - 5.3
+ - 5.4
+ - 5.5
+ - 5.6
+ - 7.0
+ - hhvm
+
+matrix:
+ fast_finish: true
+ allow_failures:
+ - php: 7.0
+
+before_script:
+ - composer self-update
+ - composer install
+
+script:
+ - phpunit
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/LICENSE b/MLEB/UniversalLanguageSelector/vendor/composer/installers/LICENSE
new file mode 100644
index 00000000..85f97fc7
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2012 Kyle Robinson Young
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE. \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/README.md b/MLEB/UniversalLanguageSelector/vendor/composer/installers/README.md
new file mode 100644
index 00000000..3a9664e2
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/README.md
@@ -0,0 +1,193 @@
+# A Multi-Framework [Composer](http://getcomposer.org) Library Installer
+
+[![Build Status](http://img.shields.io/travis/composer/installers.svg)](http://travis-ci.org/composer/installers)
+
+This is for PHP package authors to require in their `composer.json`. It will
+install their package to the correct location based on the specified package
+type.
+
+The goal of `installers` is to be a simple package type to install path map.
+Users can also customize the install path per package and package authors can
+modify the package name upon installing.
+
+`installers` isn't intended on replacing all custom installers. If your
+package requires special installation handling then by all means, create a
+custom installer to handle it.
+
+**Natively Supported Frameworks**:
+
+The following frameworks natively work with Composer and will be
+installed to the default `vendor` directory. `composer/installers`
+is not needed to install packages with these frameworks:
+
+* Aura
+* Symfony2
+* Yii
+* Yii2
+
+**Current Supported Package Types**:
+
+> Stable types are marked as **bold**, this means that installation paths
+> for those type will not be changed. Any adjustment for those types would
+> require creation of brand new type that will cover required changes.
+
+| Framework | Types
+| --------- | -----
+| Aimeos | `aimeos-extension`
+| Asgard | `asgard-module`<br>`asgard-theme`
+| AGL | `agl-module`
+| Bonefish | `bonefish-package`
+| AnnotateCms | `annotatecms-module`<br>`annotatecms-component`<br>`annotatecms-service`
+| Bitrix | `bitrix-module`<br>`bitrix-component`<br>`bitrix-theme`
+| CakePHP 2+ | **`cakephp-plugin`**
+| Chef | `chef-cookbook`<br>`chef-role`
+| CCFramework | `ccframework-ship`<br>`ccframework-theme`
+| CodeIgniter | `codeigniter-library`<br>`codeigniter-third-party`<br>`codeigniter-module`
+| concrete5 | `concrete5-block`<br>`concrete5-package`<br>`concrete5-theme`<br>`concrete5-update`
+| Craft | `craft-plugin`
+| Croogo | `croogo-plugin`<br>`croogo-theme`
+| DokuWiki | `dokuwiki-plugin`<br>`dokuwiki-template`
+| Dolibarr | `dolibarr-module`
+| Drupal | <b>`drupal-module`<br>`drupal-theme`</b><br>`drupal-library`<br>`drupal-profile`<br>`drupal-drush`
+| Elgg | `elgg-plugin`
+| FuelPHP v1.x | `fuel-module`<br>`fuel-package`<br/>`fuel-theme`
+| FuelPHP v2.x | `fuelphp-component`
+| Grav | `grav-plugin`<br>`grav-theme`
+| Hurad | `hurad-plugin`<br>`hurad-theme`
+| Joomla | `joomla-component`<br>`joomla-module`<br>`joomla-template`<br>`joomla-plugin`<br>`joomla-library`
+| Kirby | **`kirby-plugin`**
+| KodiCMS | `kodicms-plugin`<br>`kodicms-media`
+| Kohana | **`kohana-module`**
+| Laravel | `laravel-library`
+| Lithium | **`lithium-library`<br>`lithium-source`**
+| Magento | `magento-library`<br>`magento-skin`<br>`magento-theme`
+| Mako | `mako-package`
+| MODX Evo | `modxevo-snippet`<br>`modxevo-plugin`<br>`modxevo-module`<br>`modxevo-template`<br>`modxevo-lib`
+| MediaWiki | `mediawiki-extension`
+| October | **`october-module`<br>`october-plugin`<br>`october-theme`**
+| OXID | `oxid-module`<br>`oxid-theme`<br>`oxid-out`
+| MODULEWork | `modulework-module`
+| Moodle | `moodle-*` (Please [check source](https://raw.githubusercontent.com/composer/installers/master/src/Composer/Installers/MoodleInstaller.php) for all supported types)
+| Piwik | `piwik-plugin`
+| phpBB | `phpbb-extension`<br>`phpbb-style`<br>`phpbb-language`
+| Pimcore | `pimcore-plugin`
+| PPI | **`ppi-module`**
+| Puppet | `puppet-module`
+| REDAXO | `redaxo-addon`
+| Roundcube | `roundcube-plugin`
+| shopware | `shopware-backend-plugin`<br/>`shopware-core-plugin`<br/>`shopware-frontend-plugin`<br/>`shopware-theme`
+| SilverStripe | `silverstripe-module`<br>`silverstripe-theme`
+| SMF | `smf-module`<br>`smf-theme`
+| symfony1 | **`symfony1-plugin`**
+| Tusk | `tusk-task`<br>`tusk-command`<br>`tusk-asset`
+| TYPO3 Flow | `typo3-flow-package`<br>`typo3-flow-framework`<br>`typo3-flow-plugin`<br>`typo3-flow-site`<br>`typo3-flow-boilerplate`<br>`typo3-flow-build`
+| TYPO3 CMS | `typo3-cms-extension`
+| Wolf CMS | `wolfcms-plugin`
+| WordPress | <b>`wordpress-plugin`<br>`wordpress-theme`</b><br>`wordpress-muplugin`
+| Zend | `zend-library`<br>`zend-extra`<br>`zend-module`
+| Zikula | `zikula-module`<br>`zikula-theme`
+| Prestashop | `prestashop-module`<br>`prestashop-theme`
+
+## Example `composer.json` File
+
+This is an example for a CakePHP plugin. The only important parts to set in your
+composer.json file are `"type": "cakephp-plugin"` which describes what your
+package is and `"require": { "composer/installers": "~1.0" }` which tells composer
+to load the custom installers.
+
+```json
+{
+ "name": "you/ftp",
+ "type": "cakephp-plugin",
+ "require": {
+ "composer/installers": "~1.0"
+ }
+}
+```
+
+This would install your package to the `Plugin/Ftp/` folder of a CakePHP app
+when a user runs `php composer.phar install`.
+
+So submit your packages to [packagist.org](http://packagist.org)!
+
+## Custom Install Paths
+
+If you are consuming a package that uses the `composer/installers` you can
+override the install path with the following extra in your `composer.json`:
+
+```json
+{
+ "extra": {
+ "installer-paths": {
+ "your/custom/path/{$name}/": ["shama/ftp", "vendor/package"]
+ }
+ }
+}
+```
+
+A package type can have a custom installation path with a `type:` prefix.
+
+``` json
+{
+ "extra": {
+ "installer-paths": {
+ "your/custom/path/{$name}/": ["type:wordpress-plugin"]
+ }
+ }
+}
+```
+
+This would use your custom path for each of the listed packages. The available
+variables to use in your paths are: `{$name}`, `{$vendor}`, `{$type}`.
+
+## Custom Install Names
+
+If you're a package author and need your package to be named differently when
+installed consider using the `installer-name` extra.
+
+For example you have a package named `shama/cakephp-ftp` with the type
+`cakephp-plugin`. Installing with `composer/installers` would install to the
+path `Plugin/CakephpFtp`. Due to the strict naming conventions, you as a
+package author actually need the package to be named and installed to
+`Plugin/Ftp`. Using the following config within your **package** `composer.json`
+will allow this:
+
+```json
+{
+ "name": "shama/cakephp-ftp",
+ "type": "cakephp-plugin",
+ "extra": {
+ "installer-name": "Ftp"
+ }
+}
+```
+
+Please note the name entered into `installer-name` will be the final and will
+not be inflected.
+
+## Contribute!
+
+* [Fork and clone](https://help.github.com/articles/fork-a-repo).
+* Run the command `php composer.phar install` to install the dependencies.
+ This will also install the dev dependencies. See [Composer](https://getcomposer.org/doc/03-cli.md#install).
+* Use the command `phpunit` to run the tests. See [PHPUnit](http://phpunit.de).
+* Create a branch, commit, push and send us a
+ [pull request](https://help.github.com/articles/using-pull-requests).
+
+To ensure a consistent code base, you should make sure the code follows the
+[Coding Standards](http://symfony.com/doc/2.0/contributing/code/standards.html)
+which we borrowed from Symfony.
+
+If you would like to help, please take a look at the list of
+[issues](https://github.com/composer/installers/issues).
+
+### Should we allow dynamic package types or paths? No.
+What are they? The ability for a package author to determine where a package
+will be installed either through setting the path directly in their
+`composer.json` or through a dynamic package type: `"type":
+"framework-install-here"`.
+
+It has been proposed many times. Even implemented once early on and then
+removed. `installers` won't do this because it would allow a single package
+author to wipe out entire folders without the user's consent. That user would
+then come here to yell at us.
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/composer.json b/MLEB/UniversalLanguageSelector/vendor/composer/installers/composer.json
new file mode 100644
index 00000000..19e5f0fb
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/composer.json
@@ -0,0 +1,80 @@
+{
+ "name": "composer/installers",
+ "type": "composer-plugin",
+ "license": "MIT",
+ "description": "A multi-framework Composer library installer",
+ "keywords": [
+ "installer",
+ "Aimeos",
+ "AGL",
+ "AnnotateCms",
+ "Bitrix",
+ "CakePHP",
+ "Chef",
+ "CodeIgniter",
+ "concrete5",
+ "Craft",
+ "Croogo",
+ "DokuWiki",
+ "Dolibarr",
+ "Drupal",
+ "Elgg",
+ "FuelPHP",
+ "Grav",
+ "Hurad",
+ "Joomla",
+ "Kohana",
+ "Laravel",
+ "Lithium",
+ "Magento",
+ "Mako",
+ "MODX Evo",
+ "MediaWiki",
+ "OXID",
+ "MODULEWork",
+ "Moodle",
+ "Piwik",
+ "phpBB",
+ "PPI",
+ "Puppet",
+ "Roundcube",
+ "shopware",
+ "SilverStripe",
+ "SMF",
+ "symfony",
+ "Thelia",
+ "TYPO3",
+ "WolfCMS",
+ "WordPress",
+ "Zend",
+ "Zikula"
+ ],
+ "homepage": "http://composer.github.com/installers/",
+ "authors": [
+ {
+ "name": "Kyle Robinson Young",
+ "email": "kyle@dontkry.com",
+ "homepage": "https://github.com/shama"
+ }
+ ],
+ "autoload": {
+ "psr-0": { "Composer\\Installers\\": "src/" }
+ },
+ "extra": {
+ "class": "Composer\\Installers\\Plugin",
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "replace": {
+ "shama/baton": "*",
+ "roundcube/plugin-installer": "*"
+ },
+ "require": {
+ "composer-plugin-api": "1.0.0"
+ },
+ "require-dev": {
+ "composer/composer": "1.0.*@dev",
+ "phpunit/phpunit": "4.1.*"
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/phpunit.xml.dist b/MLEB/UniversalLanguageSelector/vendor/composer/installers/phpunit.xml.dist
new file mode 100644
index 00000000..cc5cc991
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/phpunit.xml.dist
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit backupGlobals="false"
+ backupStaticAttributes="false"
+ colors="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ processIsolation="false"
+ stopOnFailure="false"
+ syntaxCheck="false"
+ bootstrap="tests/bootstrap.php"
+>
+ <testsuites>
+ <testsuite name="Installers Test Suite">
+ <directory>tests/Composer/Installers</directory>
+ </testsuite>
+ </testsuites>
+
+ <filter>
+ <whitelist>
+ <directory>src/Composer/Installers</directory>
+ </whitelist>
+ </filter>
+</phpunit> \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AglInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AglInstaller.php
new file mode 100644
index 00000000..01b8a416
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AglInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class AglInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'More/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
+ return strtoupper($matches[1]);
+ }, $vars['name']);
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php
new file mode 100644
index 00000000..79a0e958
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class AimeosInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'extension' => 'ext/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
new file mode 100644
index 00000000..89d7ad90
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class AnnotateCmsInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'addons/modules/{$name}/',
+ 'component' => 'addons/components/{$name}/',
+ 'service' => 'addons/services/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php
new file mode 100644
index 00000000..995ee2b4
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php
@@ -0,0 +1,45 @@
+<?php
+namespace Composer\Installers;
+
+class AsgardInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'Modules/{$name}/',
+ 'theme' => 'Themes/{$name}/'
+ );
+
+ /**
+ * Format package name.
+ *
+ * For package type asgard-module, cut off a trailing '-plugin' if present.
+ *
+ * For package type asgard-theme, cut off a trailing '-theme' if present.
+ *
+ */
+ public function inflectPackageVars($vars)
+ {
+ if ($vars['type'] === 'asgard-module') {
+ return $this->inflectPluginVars($vars);
+ }
+
+ if ($vars['type'] === 'asgard-theme') {
+ return $this->inflectThemeVars($vars);
+ }
+
+ return $vars;
+ }
+
+ protected function inflectPluginVars($vars)
+ {
+ $vars['name'] = ucfirst(preg_replace('/-module/', '', $vars['name']));
+
+ return $vars;
+ }
+
+ protected function inflectThemeVars($vars)
+ {
+ $vars['name'] = ucfirst(preg_replace('/-theme$/', '', $vars['name']));
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
new file mode 100644
index 00000000..43938ec5
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
@@ -0,0 +1,135 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\IO\IOInterface;
+use Composer\Composer;
+use Composer\Package\PackageInterface;
+
+abstract class BaseInstaller
+{
+ protected $locations = array();
+ protected $composer;
+ protected $package;
+ protected $io;
+
+ /**
+ * Initializes base installer.
+ *
+ * @param PackageInterface $package
+ * @param Composer $composer
+ * @param IOInterface $io
+ */
+ public function __construct(PackageInterface $package = null, Composer $composer = null, IOInterface $io = null)
+ {
+ $this->composer = $composer;
+ $this->package = $package;
+ $this->io = $io;
+ }
+
+ /**
+ * Return the install path based on package type.
+ *
+ * @param PackageInterface $package
+ * @param string $frameworkType
+ * @return string
+ */
+ public function getInstallPath(PackageInterface $package, $frameworkType = '')
+ {
+ $type = $this->package->getType();
+
+ $prettyName = $this->package->getPrettyName();
+ if (strpos($prettyName, '/') !== false) {
+ list($vendor, $name) = explode('/', $prettyName);
+ } else {
+ $vendor = '';
+ $name = $prettyName;
+ }
+
+ $availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type'));
+
+ $extra = $package->getExtra();
+ if (!empty($extra['installer-name'])) {
+ $availableVars['name'] = $extra['installer-name'];
+ }
+
+ if ($this->composer->getPackage()) {
+ $extra = $this->composer->getPackage()->getExtra();
+ if (!empty($extra['installer-paths'])) {
+ $customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type);
+ if ($customPath !== false) {
+ return $this->templatePath($customPath, $availableVars);
+ }
+ }
+ }
+
+ $packageType = substr($type, strlen($frameworkType) + 1);
+ $locations = $this->getLocations();
+ if (!isset($locations[$packageType])) {
+ throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
+ }
+
+ return $this->templatePath($locations[$packageType], $availableVars);
+ }
+
+ /**
+ * For an installer to override to modify the vars per installer.
+ *
+ * @param array $vars
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ return $vars;
+ }
+
+ /**
+ * Gets the installer's locations
+ *
+ * @return array
+ */
+ public function getLocations()
+ {
+ return $this->locations;
+ }
+
+ /**
+ * Replace vars in a path
+ *
+ * @param string $path
+ * @param array $vars
+ * @return string
+ */
+ protected function templatePath($path, array $vars = array())
+ {
+ if (strpos($path, '{') !== false) {
+ extract($vars);
+ preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches);
+ if (!empty($matches[1])) {
+ foreach ($matches[1] as $var) {
+ $path = str_replace('{$' . $var . '}', $$var, $path);
+ }
+ }
+ }
+
+ return $path;
+ }
+
+ /**
+ * Search through a passed paths array for a custom install path.
+ *
+ * @param array $paths
+ * @param string $name
+ * @param string $type
+ * @return string
+ */
+ protected function mapCustomInstallPaths(array $paths, $name, $type)
+ {
+ foreach ($paths as $path => $names) {
+ if (in_array($name, $names) || in_array('type:' . $type, $names)) {
+ return $path;
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
new file mode 100644
index 00000000..9c79838f
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
@@ -0,0 +1,89 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\Util\Filesystem;
+
+/**
+ * Installer for Bitrix Framework
+ *
+ * @author Nik Samokhvalov <nik@samokhvalov.info>
+ * @author Denis Kulichkin <onexhovia@gmail.com>
+ */
+class BitrixInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'bitrix/modules/{$name}/',
+ 'component' => 'bitrix/components/{$name}/',
+ 'theme' => 'bitrix/templates/{$name}/',
+ );
+
+ /**
+ * @var array Storage for informations about duplicates at all the time of installation packages
+ */
+ private static $checkedDuplicates = array();
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function templatePath($path, array $vars = array())
+ {
+ $templatePath = parent::templatePath($path, $vars);
+ $this->checkDuplicates($templatePath, $vars);
+
+ return $templatePath;
+ }
+
+ /**
+ * Duplicates search packages
+ *
+ * @param string $templatePath
+ * @param array $vars
+ */
+ protected function checkDuplicates($templatePath, array $vars = array())
+ {
+ /**
+ * Incorrect paths for backward compatibility
+ */
+ $oldLocations = array(
+ 'module' => 'local/modules/{$name}/',
+ 'component' => 'local/components/{$name}/',
+ 'theme' => 'local/templates/{$name}/'
+ );
+
+ $packageType = substr($vars['type'], strlen('bitrix') + 1);
+ $oldLocation = str_replace('{$name}', $vars['name'], $oldLocations[$packageType]);
+
+ if (in_array($oldLocation, static::$checkedDuplicates)) {
+ return;
+ }
+
+ if ($oldLocation !== $templatePath && file_exists($oldLocation) && $this->io && $this->io->isInteractive()) {
+
+ $this->io->writeError(' <error>Duplication of packages:</error>');
+ $this->io->writeError(' <info>Package ' . $oldLocation . ' will be called instead package ' . $templatePath . '</info>');
+
+ while (true) {
+ switch ($this->io->ask(' <info>Delete ' . $oldLocation . ' [y,n,?]?</info> ', '?')) {
+ case 'y':
+ $fs = new Filesystem();
+ $fs->removeDirectory($oldLocation);
+ break 2;
+
+ case 'n':
+ break 2;
+
+ case '?':
+ default:
+ $this->io->writeError(array(
+ ' y - delete package ' . $oldLocation . ' and to continue with the installation',
+ ' n - don\'t delete and to continue with the installation',
+ ));
+ $this->io->writeError(' ? - print help');
+ break;
+ }
+ }
+ }
+
+ static::$checkedDuplicates[] = $oldLocation;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php
new file mode 100644
index 00000000..da3aad2a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class BonefishInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'package' => 'Packages/{$vendor}/{$name}/'
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
new file mode 100644
index 00000000..176c91a9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
@@ -0,0 +1,84 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\DependencyResolver\Pool;
+use Composer\Package\PackageInterface;
+
+class CakePHPInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'Plugin/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ if ($this->matchesCakeVersion('>=', '3.0.0')) {
+ return $vars;
+ }
+
+ $nameParts = explode('/', $vars['name']);
+ foreach ($nameParts as &$value) {
+ $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
+ $value = str_replace(array('-', '_'), ' ', $value);
+ $value = str_replace(' ', '', ucwords($value));
+ }
+ $vars['name'] = implode('/', $nameParts);
+
+ return $vars;
+ }
+
+ /**
+ * Change the default plugin location when cakephp >= 3.0
+ */
+ public function getLocations()
+ {
+ if ($this->matchesCakeVersion('>=', '3.0.0')) {
+ $this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
+ }
+ return $this->locations;
+ }
+
+ /**
+ * Check if CakePHP version matches against a version
+ *
+ * @param string $matcher
+ * @param string $version
+ * @return bool
+ */
+ protected function matchesCakeVersion($matcher, $version)
+ {
+ if (class_exists('Composer\Semver\Constraint\MultiConstraint')) {
+ $multiClass = 'Composer\Semver\Constraint\MultiConstraint';
+ $constraintClass = 'Composer\Semver\Constraint\Constraint';
+ } else {
+ $multiClass = 'Composer\Package\LinkConstraint\MultiConstraint';
+ $constraintClass = 'Composer\Package\LinkConstraint\VersionConstraint';
+ }
+
+ $repositoryManager = $this->composer->getRepositoryManager();
+ if ($repositoryManager) {
+ $repos = $repositoryManager->getLocalRepository();
+ if (!$repos) {
+ return false;
+ }
+ $cake3 = new $multiClass(array(
+ new $constraintClass($matcher, $version),
+ new $constraintClass('!=', '9999999-dev'),
+ ));
+ $pool = new Pool('dev');
+ $pool->addRepository($repos);
+ $packages = $pool->whatProvides('cakephp/cakephp');
+ foreach ($packages as $package) {
+ $installed = new $constraintClass('=', $package->getVersion());
+ if ($cake3->matches($installed)) {
+ return true;
+ break;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php
new file mode 100644
index 00000000..ab2f9aad
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class ChefInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'cookbook' => 'Chef/{$vendor}/{$name}/',
+ 'role' => 'Chef/roles/{$name}/',
+ );
+}
+
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php
new file mode 100644
index 00000000..c887815c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class ClanCatsFrameworkInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'ship' => 'CCF/orbit/{$name}/',
+ 'theme' => 'CCF/app/themes/{$name}/',
+ );
+} \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
new file mode 100644
index 00000000..3b4a4ece
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class CodeIgniterInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'library' => 'application/libraries/{$name}/',
+ 'third-party' => 'application/third_party/{$name}/',
+ 'module' => 'application/modules/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
new file mode 100644
index 00000000..4d398a44
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
@@ -0,0 +1,12 @@
+<?php
+namespace Composer\Installers;
+
+class Concrete5Installer extends BaseInstaller
+{
+ protected $locations = array(
+ 'block' => 'blocks/{$name}/',
+ 'package' => 'packages/{$name}/',
+ 'theme' => 'themes/{$name}/',
+ 'update' => 'updates/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
new file mode 100644
index 00000000..d37a77ae
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
@@ -0,0 +1,35 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Installer for Craft Plugins
+ */
+class CraftInstaller extends BaseInstaller
+{
+ const NAME_PREFIX = 'craft';
+ const NAME_SUFFIX = 'plugin';
+
+ protected $locations = array(
+ 'plugin' => 'craft/plugins/{$name}/',
+ );
+
+ /**
+ * Strip `craft-` prefix and/or `-plugin` suffix from package names
+ *
+ * @param array $vars
+ *
+ * @return array
+ */
+ final public function inflectPackageVars($vars)
+ {
+ return $this->inflectPluginVars($vars);
+ }
+
+ private function inflectPluginVars($vars)
+ {
+ $vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
+ $vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
new file mode 100644
index 00000000..d94219d3
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class CroogoInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'Plugin/{$name}/',
+ 'theme' => 'View/Themed/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php
new file mode 100644
index 00000000..cfd638d5
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php
@@ -0,0 +1,50 @@
+<?php
+namespace Composer\Installers;
+
+class DokuWikiInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'lib/plugins/{$name}/',
+ 'template' => 'lib/tpl/{$name}/',
+ );
+
+ /**
+ * Format package name.
+ *
+ * For package type dokuwiki-plugin, cut off a trailing '-plugin',
+ * or leading dokuwiki_ if present.
+ *
+ * For package type dokuwiki-template, cut off a trailing '-template' if present.
+ *
+ */
+ public function inflectPackageVars($vars)
+ {
+
+ if ($vars['type'] === 'dokuwiki-plugin') {
+ return $this->inflectPluginVars($vars);
+ }
+
+ if ($vars['type'] === 'dokuwiki-template') {
+ return $this->inflectTemplateVars($vars);
+ }
+
+ return $vars;
+ }
+
+ protected function inflectPluginVars($vars)
+ {
+ $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectTemplateVars($vars)
+ {
+ $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
+
+ return $vars;
+ }
+
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php
new file mode 100644
index 00000000..21f7e8e8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php
@@ -0,0 +1,16 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Class DolibarrInstaller
+ *
+ * @package Composer\Installers
+ * @author Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
+ */
+class DolibarrInstaller extends BaseInstaller
+{
+ //TODO: Add support for scripts and themes
+ protected $locations = array(
+ 'module' => 'htdocs/custom/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
new file mode 100644
index 00000000..17941314
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
@@ -0,0 +1,14 @@
+<?php
+namespace Composer\Installers;
+
+class DrupalInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'core' => 'core/',
+ 'module' => 'modules/{$name}/',
+ 'theme' => 'themes/{$name}/',
+ 'library' => 'libraries/{$name}/',
+ 'profile' => 'profiles/{$name}/',
+ 'drush' => 'drush/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
new file mode 100644
index 00000000..c0bb609f
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class ElggInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'mod/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
new file mode 100644
index 00000000..6eba2e34
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class FuelInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'fuel/app/modules/{$name}/',
+ 'package' => 'fuel/packages/{$name}/',
+ 'theme' => 'fuel/app/themes/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php
new file mode 100644
index 00000000..29d980b3
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class FuelphpInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'component' => 'components/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/GravInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/GravInstaller.php
new file mode 100644
index 00000000..dbe63e07
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/GravInstaller.php
@@ -0,0 +1,30 @@
+<?php
+namespace Composer\Installers;
+
+class GravInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'user/plugins/{$name}/',
+ 'theme' => 'user/themes/{$name}/',
+ );
+
+ /**
+ * Format package name
+ *
+ * @param array $vars
+ *
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ $restrictedWords = implode('|', array_keys($this->locations));
+
+ $vars['name'] = strtolower($vars['name']);
+ $vars['name'] = preg_replace('/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
+ '$1',
+ $vars['name']
+ );
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
new file mode 100644
index 00000000..8fe017f0
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
@@ -0,0 +1,25 @@
+<?php
+namespace Composer\Installers;
+
+class HuradInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'plugins/{$name}/',
+ 'theme' => 'plugins/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ $nameParts = explode('/', $vars['name']);
+ foreach ($nameParts as &$value) {
+ $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
+ $value = str_replace(array('-', '_'), ' ', $value);
+ $value = str_replace(' ', '', ucwords($value));
+ }
+ $vars['name'] = implode('/', $nameParts);
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Installer.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Installer.php
new file mode 100644
index 00000000..6d04c61d
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Installer.php
@@ -0,0 +1,176 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\IO\IOInterface;
+use Composer\Installer\LibraryInstaller;
+use Composer\Package\PackageInterface;
+use Composer\Repository\InstalledRepositoryInterface;
+
+class Installer extends LibraryInstaller
+{
+ /**
+ * Package types to installer class map
+ *
+ * @var array
+ */
+ private $supportedTypes = array(
+ 'aimeos' => 'AimeosInstaller',
+ 'asgard' => 'AsgardInstaller',
+ 'agl' => 'AglInstaller',
+ 'annotatecms' => 'AnnotateCmsInstaller',
+ 'bitrix' => 'BitrixInstaller',
+ 'bonefish' => 'BonefishInstaller',
+ 'cakephp' => 'CakePHPInstaller',
+ 'chef' => 'ChefInstaller',
+ 'ccframework' => 'ClanCatsFrameworkInstaller',
+ 'codeigniter' => 'CodeIgniterInstaller',
+ 'concrete5' => 'Concrete5Installer',
+ 'craft' => 'CraftInstaller',
+ 'croogo' => 'CroogoInstaller',
+ 'dokuwiki' => 'DokuWikiInstaller',
+ 'dolibarr' => 'DolibarrInstaller',
+ 'drupal' => 'DrupalInstaller',
+ 'elgg' => 'ElggInstaller',
+ 'fuel' => 'FuelInstaller',
+ 'fuelphp' => 'FuelphpInstaller',
+ 'grav' => 'GravInstaller',
+ 'hurad' => 'HuradInstaller',
+ 'joomla' => 'JoomlaInstaller',
+ 'kirby' => 'KirbyInstaller',
+ 'kodicms' => 'KodiCMSInstaller',
+ 'kohana' => 'KohanaInstaller',
+ 'laravel' => 'LaravelInstaller',
+ 'lithium' => 'LithiumInstaller',
+ 'magento' => 'MagentoInstaller',
+ 'mako' => 'MakoInstaller',
+ 'mediawiki' => 'MediaWikiInstaller',
+ 'microweber' => 'MicroweberInstaller',
+ 'modulework' => 'MODULEWorkInstaller',
+ 'modxevo' => 'MODXEvoInstaller',
+ 'moodle' => 'MoodleInstaller',
+ 'october' => 'OctoberInstaller',
+ 'oxid' => 'OxidInstaller',
+ 'phpbb' => 'PhpBBInstaller',
+ 'pimcore' => 'PimcoreInstaller',
+ 'piwik' => 'PiwikInstaller',
+ 'ppi' => 'PPIInstaller',
+ 'puppet' => 'PuppetInstaller',
+ 'redaxo' => 'RedaxoInstaller',
+ 'roundcube' => 'RoundcubeInstaller',
+ 'shopware' => 'ShopwareInstaller',
+ 'silverstripe' => 'SilverStripeInstaller',
+ 'smf' => 'SMFInstaller',
+ 'symfony1' => 'Symfony1Installer',
+ 'thelia' => 'TheliaInstaller',
+ 'tusk' => 'TuskInstaller',
+ 'typo3-cms' => 'TYPO3CmsInstaller',
+ 'typo3-flow' => 'TYPO3FlowInstaller',
+ 'whmcs' => 'WHMCSInstaller',
+ 'wolfcms' => 'WolfCMSInstaller',
+ 'wordpress' => 'WordPressInstaller',
+ 'zend' => 'ZendInstaller',
+ 'zikula' => 'ZikulaInstaller',
+ 'prestashop' => 'PrestashopInstaller'
+ );
+
+ /**
+ * {@inheritDoc}
+ */
+ public function getInstallPath(PackageInterface $package)
+ {
+ $type = $package->getType();
+ $frameworkType = $this->findFrameworkType($type);
+
+ if ($frameworkType === false) {
+ throw new \InvalidArgumentException(
+ 'Sorry the package type of this package is not yet supported.'
+ );
+ }
+
+ $class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
+ $installer = new $class($package, $this->composer, $this->getIO());
+
+ return $installer->getInstallPath($package, $frameworkType);
+ }
+
+ public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
+ {
+ if (!$repo->hasPackage($package)) {
+ throw new \InvalidArgumentException('Package is not installed: '.$package);
+ }
+
+ $repo->removePackage($package);
+
+ $installPath = $this->getInstallPath($package);
+ $this->io->write(sprintf('Deleting %s - %s', $installPath, $this->filesystem->removeDirectory($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function supports($packageType)
+ {
+ $frameworkType = $this->findFrameworkType($packageType);
+
+ if ($frameworkType === false) {
+ return false;
+ }
+
+ $locationPattern = $this->getLocationPattern($frameworkType);
+
+ return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1;
+ }
+
+ /**
+ * Finds a supported framework type if it exists and returns it
+ *
+ * @param string $type
+ * @return string
+ */
+ protected function findFrameworkType($type)
+ {
+ $frameworkType = false;
+
+ krsort($this->supportedTypes);
+
+ foreach ($this->supportedTypes as $key => $val) {
+ if ($key === substr($type, 0, strlen($key))) {
+ $frameworkType = substr($type, 0, strlen($key));
+ break;
+ }
+ }
+
+ return $frameworkType;
+ }
+
+ /**
+ * Get the second part of the regular expression to check for support of a
+ * package type
+ *
+ * @param string $frameworkType
+ * @return string
+ */
+ protected function getLocationPattern($frameworkType)
+ {
+ $pattern = false;
+ if (!empty($this->supportedTypes[$frameworkType])) {
+ $frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
+ /** @var BaseInstaller $framework */
+ $framework = new $frameworkClass(null, $this->composer, $this->getIO());
+ $locations = array_keys($framework->getLocations());
+ $pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
+ }
+
+ return $pattern ? : '(\w+)';
+ }
+
+ /**
+ * Get I/O object
+ *
+ * @return IOInterface
+ */
+ private function getIO()
+ {
+ return $this->io;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
new file mode 100644
index 00000000..9ee77596
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
@@ -0,0 +1,15 @@
+<?php
+namespace Composer\Installers;
+
+class JoomlaInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'component' => 'components/{$name}/',
+ 'module' => 'modules/{$name}/',
+ 'template' => 'templates/{$name}/',
+ 'plugin' => 'plugins/{$name}/',
+ 'library' => 'libraries/{$name}/',
+ );
+
+ // TODO: Add inflector for mod_ and com_ names
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php
new file mode 100644
index 00000000..ae7ba8a4
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class KirbyInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'site/plugins/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php
new file mode 100644
index 00000000..7143e232
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class KodiCMSInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'cms/plugins/{$name}/',
+ 'media' => 'cms/media/vendor/{$name}/'
+ );
+} \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
new file mode 100644
index 00000000..dcd6d263
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class KohanaInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
new file mode 100644
index 00000000..be4d53a7
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class LaravelInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'library' => 'libraries/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
new file mode 100644
index 00000000..47bbd4ca
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class LithiumInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'library' => 'libraries/{$name}/',
+ 'source' => 'libraries/_source/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
new file mode 100644
index 00000000..9c2e9fb4
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class MODULEWorkInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
new file mode 100644
index 00000000..5a664608
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
@@ -0,0 +1,16 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * An installer to handle MODX Evolution specifics when installing packages.
+ */
+class MODXEvoInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'snippet' => 'assets/snippets/{$name}/',
+ 'plugin' => 'assets/plugins/{$name}/',
+ 'module' => 'assets/modules/{$name}/',
+ 'template' => 'assets/templates/{$name}/',
+ 'lib' => 'assets/lib/{$name}/'
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
new file mode 100644
index 00000000..cf18e947
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class MagentoInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'theme' => 'app/design/frontend/{$name}/',
+ 'skin' => 'skin/frontend/default/{$name}/',
+ 'library' => 'lib/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
new file mode 100644
index 00000000..ca3cfacb
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class MakoInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'package' => 'app/packages/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
new file mode 100644
index 00000000..01008c63
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
@@ -0,0 +1,50 @@
+<?php
+namespace Composer\Installers;
+
+class MediaWikiInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'extension' => 'extensions/{$name}/',
+ 'skin' => 'skins/{$name}/',
+ );
+
+ /**
+ * Format package name.
+ *
+ * For package type mediawiki-extension, cut off a trailing '-extension' if present and transform
+ * to CamelCase keeping existing uppercase chars.
+ *
+ * For package type mediawiki-skin, cut off a trailing '-skin' if present.
+ *
+ */
+ public function inflectPackageVars($vars)
+ {
+
+ if ($vars['type'] === 'mediawiki-extension') {
+ return $this->inflectExtensionVars($vars);
+ }
+
+ if ($vars['type'] === 'mediawiki-skin') {
+ return $this->inflectSkinVars($vars);
+ }
+
+ return $vars;
+ }
+
+ protected function inflectExtensionVars($vars)
+ {
+ $vars['name'] = preg_replace('/-extension$/', '', $vars['name']);
+ $vars['name'] = str_replace('-', ' ', $vars['name']);
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+ return $vars;
+ }
+
+ protected function inflectSkinVars($vars)
+ {
+ $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php
new file mode 100644
index 00000000..4bbbec8c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php
@@ -0,0 +1,111 @@
+<?php
+namespace Composer\Installers;
+
+class MicroweberInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'userfiles/modules/{$name}/',
+ 'module-skin' => 'userfiles/modules/{$name}/templates/',
+ 'template' => 'userfiles/templates/{$name}/',
+ 'element' => 'userfiles/elements/{$name}/',
+ 'vendor' => 'vendor/{$name}/',
+ 'components' => 'components/{$name}/'
+ );
+
+ /**
+ * Format package name.
+ *
+ * For package type microweber-module, cut off a trailing '-module' if present
+ *
+ * For package type microweber-template, cut off a trailing '-template' if present.
+ *
+ */
+ public function inflectPackageVars($vars)
+ {
+ if ($vars['type'] === 'microweber-template') {
+ return $this->inflectTemplateVars($vars);
+ }
+ if ($vars['type'] === 'microweber-templates') {
+ return $this->inflectTemplatesVars($vars);
+ }
+ if ($vars['type'] === 'microweber-core') {
+ return $this->inflectCoreVars($vars);
+ }
+ if ($vars['type'] === 'microweber-adapter') {
+ return $this->inflectCoreVars($vars);
+ }
+ if ($vars['type'] === 'microweber-module') {
+ return $this->inflectModuleVars($vars);
+ }
+ if ($vars['type'] === 'microweber-modules') {
+ return $this->inflectModulesVars($vars);
+ }
+ if ($vars['type'] === 'microweber-skin') {
+ return $this->inflectSkinVars($vars);
+ }
+ if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
+ return $this->inflectElementVars($vars);
+ }
+
+ return $vars;
+ }
+
+ protected function inflectTemplateVars($vars)
+ {
+ $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/template-$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectTemplatesVars($vars)
+ {
+ $vars['name'] = preg_replace('/-templates$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/templates-$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectCoreVars($vars)
+ {
+ $vars['name'] = preg_replace('/-providers$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/-provider$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/-adapter$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectModuleVars($vars)
+ {
+ $vars['name'] = preg_replace('/-module$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/module-$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectModulesVars($vars)
+ {
+ $vars['name'] = preg_replace('/-modules$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/modules-$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectSkinVars($vars)
+ {
+ $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/skin-$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectElementVars($vars)
+ {
+ $vars['name'] = preg_replace('/-elements$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/elements-$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/-element$/', '', $vars['name']);
+ $vars['name'] = preg_replace('/element-$/', '', $vars['name']);
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
new file mode 100644
index 00000000..3cdda6ca
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
@@ -0,0 +1,56 @@
+<?php
+namespace Composer\Installers;
+
+class MoodleInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'mod' => 'mod/{$name}/',
+ 'admin_report' => 'admin/report/{$name}/',
+ 'atto' => 'lib/editor/atto/plugins/{$name}/',
+ 'tool' => 'admin/tool/{$name}/',
+ 'assignment' => 'mod/assignment/type/{$name}/',
+ 'assignsubmission' => 'mod/assign/submission/{$name}/',
+ 'assignfeedback' => 'mod/assign/feedback/{$name}/',
+ 'auth' => 'auth/{$name}/',
+ 'availability' => 'availability/condition/{$name}/',
+ 'block' => 'blocks/{$name}/',
+ 'booktool' => 'mod/book/tool/{$name}/',
+ 'cachestore' => 'cache/stores/{$name}/',
+ 'cachelock' => 'cache/locks/{$name}/',
+ 'calendartype' => 'calendar/type/{$name}/',
+ 'format' => 'course/format/{$name}/',
+ 'coursereport' => 'course/report/{$name}/',
+ 'datafield' => 'mod/data/field/{$name}/',
+ 'datapreset' => 'mod/data/preset/{$name}/',
+ 'editor' => 'lib/editor/{$name}/',
+ 'enrol' => 'enrol/{$name}/',
+ 'filter' => 'filter/{$name}/',
+ 'gradeexport' => 'grade/export/{$name}/',
+ 'gradeimport' => 'grade/import/{$name}/',
+ 'gradereport' => 'grade/report/{$name}/',
+ 'gradingform' => 'grade/grading/form/{$name}/',
+ 'local' => 'local/{$name}/',
+ 'logstore' => 'admin/tool/log/store/{$name}/',
+ 'ltisource' => 'mod/lti/source/{$name}/',
+ 'ltiservice' => 'mod/lti/service/{$name}/',
+ 'message' => 'message/output/{$name}/',
+ 'mnetservice' => 'mnet/service/{$name}/',
+ 'plagiarism' => 'plagiarism/{$name}/',
+ 'portfolio' => 'portfolio/{$name}/',
+ 'qbehaviour' => 'question/behaviour/{$name}/',
+ 'qformat' => 'question/format/{$name}/',
+ 'qtype' => 'question/type/{$name}/',
+ 'quizaccess' => 'mod/quiz/accessrule/{$name}/',
+ 'quiz' => 'mod/quiz/report/{$name}/',
+ 'report' => 'report/{$name}/',
+ 'repository' => 'repository/{$name}/',
+ 'scormreport' => 'mod/scorm/report/{$name}/',
+ 'theme' => 'theme/{$name}/',
+ 'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
+ 'profilefield' => 'user/profile/field/{$name}/',
+ 'webservice' => 'webservice/{$name}/',
+ 'workshopallocation' => 'mod/workshop/allocation/{$name}/',
+ 'workshopeval' => 'mod/workshop/eval/{$name}/',
+ 'workshopform' => 'mod/workshop/form/{$name}/'
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php
new file mode 100644
index 00000000..6bf53fd1
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php
@@ -0,0 +1,46 @@
+<?php
+namespace Composer\Installers;
+
+class OctoberInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ 'plugin' => 'plugins/{$vendor}/{$name}/',
+ 'theme' => 'themes/{$name}/'
+ );
+
+ /**
+ * Format package name.
+ *
+ * For package type october-plugin, cut off a trailing '-plugin' if present.
+ *
+ * For package type october-theme, cut off a trailing '-theme' if present.
+ *
+ */
+ public function inflectPackageVars($vars)
+ {
+ if ($vars['type'] === 'october-plugin') {
+ return $this->inflectPluginVars($vars);
+ }
+
+ if ($vars['type'] === 'october-theme') {
+ return $this->inflectThemeVars($vars);
+ }
+
+ return $vars;
+ }
+
+ protected function inflectPluginVars($vars)
+ {
+ $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
+
+ return $vars;
+ }
+
+ protected function inflectThemeVars($vars)
+ {
+ $vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
+
+ return $vars;
+ }
+} \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
new file mode 100644
index 00000000..22fb56aa
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class OxidInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ 'theme' => 'application/views/{$name}/',
+ 'out' => 'out/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
new file mode 100644
index 00000000..170136f9
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class PPIInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
new file mode 100644
index 00000000..deb2b77a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class PhpBBInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'extension' => 'ext/{$vendor}/{$name}/',
+ 'language' => 'language/{$name}/',
+ 'style' => 'styles/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php
new file mode 100644
index 00000000..4781fa6d
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class PimcoreInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'plugins/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
new file mode 100644
index 00000000..c17f4572
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
@@ -0,0 +1,32 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Class PiwikInstaller
+ *
+ * @package Composer\Installers
+ */
+class PiwikInstaller extends BaseInstaller
+{
+ /**
+ * @var array
+ */
+ protected $locations = array(
+ 'plugin' => 'plugins/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ * @param array $vars
+ *
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Plugin.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Plugin.php
new file mode 100644
index 00000000..5eb04af1
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Plugin.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Composer\Installers;
+
+use Composer\Composer;
+use Composer\IO\IOInterface;
+use Composer\Plugin\PluginInterface;
+
+class Plugin implements PluginInterface
+{
+
+ public function activate(Composer $composer, IOInterface $io)
+ {
+ $installer = new Installer($io, $composer);
+ $composer->getInstallationManager()->addInstaller($installer);
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php
new file mode 100644
index 00000000..4c8421e3
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class PrestashopInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ 'theme' => 'themes/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php
new file mode 100644
index 00000000..77cc3dd8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace Composer\Installers;
+
+class PuppetInstaller extends BaseInstaller
+{
+
+ protected $locations = array(
+ 'module' => 'modules/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php
new file mode 100644
index 00000000..09544576
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class RedaxoInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'addon' => 'redaxo/include/addons/{$name}/',
+ 'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php
new file mode 100644
index 00000000..d8d795be
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php
@@ -0,0 +1,22 @@
+<?php
+namespace Composer\Installers;
+
+class RoundcubeInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'plugins/{$name}/',
+ );
+
+ /**
+ * Lowercase name and changes the name to a underscores
+ *
+ * @param array $vars
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php
new file mode 100644
index 00000000..1acd3b14
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class SMFInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'Sources/{$name}/',
+ 'theme' => 'Themes/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
new file mode 100644
index 00000000..673f1fc1
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
@@ -0,0 +1,58 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Plugin/theme installer for shopware
+ * @author Benjamin Boit
+ */
+class ShopwareInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
+ 'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
+ 'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
+ 'theme' => 'templates/{$name}/'
+ );
+
+ /**
+ * Transforms the names
+ * @param array $vars
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ if ($vars['type'] === 'shopware-theme') {
+ return $this->correctThemeName($vars);
+ } else {
+ return $this->correctPluginName($vars);
+ }
+ }
+
+ /**
+ * Changes the name to a camelcased combination of vendor and name
+ * @param array $vars
+ * @return array
+ */
+ private function correctPluginName($vars)
+ {
+ $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
+ return strtoupper($matches[0][1]);
+ }, $vars['name']);
+
+ $vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
+
+ return $vars;
+ }
+
+ /**
+ * Changes the name to a underscore separated name
+ * @param array $vars
+ * @return array
+ */
+ private function correctThemeName($vars)
+ {
+ $vars['name'] = str_replace('-', '_', $vars['name']);
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
new file mode 100644
index 00000000..17ca543a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
@@ -0,0 +1,36 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\Package\PackageInterface;
+
+class SilverStripeInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => '{$name}/',
+ 'theme' => 'themes/{$name}/',
+ );
+
+ /**
+ * Return the install path based on package type.
+ *
+ * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
+ * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
+ *
+ * @param PackageInterface $package
+ * @param string $frameworkType
+ * @return string
+ */
+ public function getInstallPath(PackageInterface $package, $frameworkType = '')
+ {
+ if (
+ $package->getName() == 'silverstripe/framework'
+ && preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
+ && version_compare($package->getVersion(), '2.999.999') < 0
+ ) {
+ return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
+ } else {
+ return parent::getInstallPath($package, $frameworkType);
+ }
+
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
new file mode 100644
index 00000000..1675c4f2
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
@@ -0,0 +1,26 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Plugin installer for symfony 1.x
+ *
+ * @author Jérôme Tamarelle <jerome@tamarelle.net>
+ */
+class Symfony1Installer extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'plugins/{$name}/',
+ );
+
+ /**
+ * Format package name to CamelCase
+ */
+ public function inflectPackageVars($vars)
+ {
+ $vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
+ return strtoupper($matches[0][1]);
+ }, $vars['name']);
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
new file mode 100644
index 00000000..8220b40d
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
@@ -0,0 +1,14 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Extension installer for TYPO3 CMS
+ *
+ * @author Sascha Egerer <sascha.egerer@dkd.de>
+ */
+class TYPO3CmsInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'extension' => 'typo3conf/ext/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
new file mode 100644
index 00000000..42572f44
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
@@ -0,0 +1,38 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * An installer to handle TYPO3 Flow specifics when installing packages.
+ */
+class TYPO3FlowInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'package' => 'Packages/Application/{$name}/',
+ 'framework' => 'Packages/Framework/{$name}/',
+ 'plugin' => 'Packages/Plugins/{$name}/',
+ 'site' => 'Packages/Sites/{$name}/',
+ 'boilerplate' => 'Packages/Boilerplates/{$name}/',
+ 'build' => 'Build/{$name}/',
+ );
+
+ /**
+ * Modify the package name to be a TYPO3 Flow style key.
+ *
+ * @param array $vars
+ * @return array
+ */
+ public function inflectPackageVars($vars)
+ {
+ $autoload = $this->package->getAutoload();
+ if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
+ $namespace = key($autoload['psr-0']);
+ $vars['name'] = str_replace('\\', '.', $namespace);
+ }
+ if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
+ $namespace = key($autoload['psr-4']);
+ $vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
+ }
+
+ return $vars;
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php
new file mode 100644
index 00000000..158af526
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php
@@ -0,0 +1,12 @@
+<?php
+namespace Composer\Installers;
+
+class TheliaInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'local/modules/{$name}/',
+ 'frontoffice-template' => 'templates/frontOffice/{$name}/',
+ 'backoffice-template' => 'templates/backOffice/{$name}/',
+ 'email-template' => 'templates/email/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php
new file mode 100644
index 00000000..7c0113b8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php
@@ -0,0 +1,14 @@
+<?php
+ namespace Composer\Installers;
+ /**
+ * Composer installer for 3rd party Tusk utilities
+ * @author Drew Ewing <drew@phenocode.com>
+ */
+ class TuskInstaller extends BaseInstaller
+ {
+ protected $locations = array(
+ 'task' => '.tusk/tasks/{$name}/',
+ 'command' => '.tusk/commands/{$name}/',
+ 'asset' => 'assets/tusk/{$name}/',
+ );
+ }
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php
new file mode 100644
index 00000000..2cbb4a46
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Composer\Installers;
+
+class WHMCSInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'gateway' => 'modules/gateways/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
new file mode 100644
index 00000000..cb387881
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class WolfCMSInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'wolf/plugins/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
new file mode 100644
index 00000000..b03219c6
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class WordPressInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'plugin' => 'wp-content/plugins/{$name}/',
+ 'theme' => 'wp-content/themes/{$name}/',
+ 'muplugin' => 'wp-content/mu-plugins/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
new file mode 100644
index 00000000..bde9bc8c
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class ZendInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'library' => 'library/{$name}/',
+ 'extra' => 'extras/library/{$name}/',
+ 'module' => 'module/{$name}/',
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
new file mode 100644
index 00000000..56cdf5da
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class ZikulaInstaller extends BaseInstaller
+{
+ protected $locations = array(
+ 'module' => 'modules/{$vendor}-{$name}/',
+ 'theme' => 'themes/{$vendor}-{$name}/'
+ );
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/bootstrap.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/bootstrap.php
new file mode 100644
index 00000000..0de276ee
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/src/bootstrap.php
@@ -0,0 +1,13 @@
+<?php
+function includeIfExists($file)
+{
+ if (file_exists($file)) {
+ return include $file;
+ }
+}
+if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
+ die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
+ 'curl -s http://getcomposer.org/installer | php'.PHP_EOL.
+ 'php composer.phar install'.PHP_EOL);
+}
+return $loader;
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php
new file mode 100644
index 00000000..71480eca
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php
@@ -0,0 +1,61 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\AsgardInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class AsgardInstallerTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var OctoberInstaller
+ */
+ private $installer;
+
+ public function setUp()
+ {
+ $this->installer = new AsgardInstaller(
+ new Package('NyanCat', '4.2', '4.2'),
+ new Composer()
+ );
+ }
+
+ /**
+ * @dataProvider packageNameInflectionProvider
+ */
+ public function testInflectPackageVars($type, $name, $expected)
+ {
+ $this->assertEquals(
+ $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)),
+ array('name' => $expected, 'type' => $type)
+ );
+ }
+
+ public function packageNameInflectionProvider()
+ {
+ return array(
+ array(
+ 'asgard-module',
+ 'asgard-module',
+ 'Asgard'
+ ),
+ array(
+ 'asgard-module',
+ 'blog',
+ 'Blog'
+ ),
+ // tests that exactly one '-theme' is cut off
+ array(
+ 'asgard-theme',
+ 'some-theme-theme',
+ 'Some-theme',
+ ),
+ // tests that names without '-theme' suffix stay valid
+ array(
+ 'asgard-theme',
+ 'someothertheme',
+ 'Someothertheme',
+ ),
+ );
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
new file mode 100644
index 00000000..523e8476
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
@@ -0,0 +1,115 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\CakePHPInstaller;
+use Composer\Repository\RepositoryManager;
+use Composer\Repository\InstalledArrayRepository;
+use Composer\Package\Package;
+use Composer\Package\RootPackage;
+use Composer\Package\Link;
+use Composer\Package\Version\VersionParser;
+use Composer\Composer;
+use Composer\Config;
+
+class CakePHPInstallerTest extends TestCase
+{
+ private $composer;
+ private $io;
+
+ /**
+ * setUp
+ *
+ * @return void
+ */
+ public function setUp()
+ {
+ $this->package = new Package('CamelCased', '1.0', '1.0');
+ $this->io = $this->getMock('Composer\IO\PackageInterface');
+ $this->composer = new Composer();
+ $this->composer->setConfig(new Config(false));
+ }
+
+ /**
+ * testInflectPackageVars
+ *
+ * @return void
+ */
+ public function testInflectPackageVars()
+ {
+ $installer = new CakePHPInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'CamelCased'));
+ $this->assertEquals($result, array('name' => 'CamelCased'));
+
+ $installer = new CakePHPInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'with-dash'));
+ $this->assertEquals($result, array('name' => 'WithDash'));
+
+ $installer = new CakePHPInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'with_underscore'));
+ $this->assertEquals($result, array('name' => 'WithUnderscore'));
+
+ $installer = new CakePHPInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'cake/acl'));
+ $this->assertEquals($result, array('name' => 'Cake/Acl'));
+
+ $installer = new CakePHPInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'cake/debug-kit'));
+ $this->assertEquals($result, array('name' => 'Cake/DebugKit'));
+ }
+
+ /**
+ * Test getLocations returning appropriate values based on CakePHP version
+ *
+ */
+ public function testGetLocations() {
+ $package = new RootPackage('CamelCased', '1.0', '1.0');
+ $composer = $this->composer;
+ $rm = new RepositoryManager(
+ $this->getMock('Composer\IO\IOInterface'),
+ $this->getMock('Composer\Config')
+ );
+ $composer->setRepositoryManager($rm);
+ $installer = new CakePHPInstaller($package, $composer);
+
+ // 2.0 < cakephp < 3.0
+ $this->setCakephpVersion($rm, '2.0.0');
+ $result = $installer->getLocations();
+ $this->assertContains('Plugin/', $result['plugin']);
+
+ $this->setCakephpVersion($rm, '2.5.9');
+ $result = $installer->getLocations();
+ $this->assertContains('Plugin/', $result['plugin']);
+
+ $this->setCakephpVersion($rm, '~2.5');
+ $result = $installer->getLocations();
+ $this->assertContains('Plugin/', $result['plugin']);
+
+ // special handling for 2.x versions when 3.x is still in development
+ $this->setCakephpVersion($rm, 'dev-master');
+ $result = $installer->getLocations();
+ $this->assertContains('Plugin/', $result['plugin']);
+
+ $this->setCakephpVersion($rm, '>=2.5');
+ $result = $installer->getLocations();
+ $this->assertContains('Plugin/', $result['plugin']);
+
+ // cakephp >= 3.0
+ $this->setCakephpVersion($rm, '3.0.*-dev');
+ $result = $installer->getLocations();
+ $this->assertContains('vendor/{$vendor}/{$name}/', $result['plugin']);
+
+ $this->setCakephpVersion($rm, '~8.8');
+ $result = $installer->getLocations();
+ $this->assertContains('vendor/{$vendor}/{$name}/', $result['plugin']);
+ }
+
+ protected function setCakephpVersion($rm, $version) {
+ $parser = new VersionParser();
+ list(, $version) = explode(' ', $parser->parseConstraints($version));
+ $installed = new InstalledArrayRepository();
+ $package = new Package('cakephp/cakephp', $version, $version);
+ $installed->addPackage($package);
+ $rm->setLocalRepository($installed);
+ }
+
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php
new file mode 100644
index 00000000..31ccecdb
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace Composer\Installers\Test;
+
+use Composer\Installers\CraftInstaller;
+
+/**
+ * Tests for the CraftInstaller Class
+ *
+ * @coversDefaultClass Composer\Installers\CraftInstaller
+ */
+class CraftInstallerTest extends TestCase
+{
+ /** @var CraftInstaller */
+ private $installer;
+
+ /**
+ * Sets up the fixture, for example, instantiate the class-under-test.
+ *
+ * This method is called before a test is executed.
+ */
+ final public function setup()
+ {
+ $this->installer = new CraftInstaller();
+ }
+
+ /**
+ * @param string $packageName
+ * @param string $expectedName
+ *
+ * @covers ::inflectPackageVars
+ *
+ * @dataProvider provideExpectedInflectionResults
+ */
+ final public function testInflectPackageVars($packageName, $expectedName)
+ {
+ $installer = $this->installer;
+
+ $vars = array('name' => $packageName);
+ $expected = array('name' => $expectedName);
+
+ $actual = $installer->inflectPackageVars($vars);
+
+ $this->assertEquals($actual, $expected);
+ }
+
+ /**
+ * Provides various names for packages and the expected result after inflection
+ *
+ * @return array
+ */
+ final public function provideExpectedInflectionResults()
+ {
+ return array(
+ // lowercase
+ array('foo', 'foo'),
+ array('craftfoo', 'craftfoo'),
+ array('fooplugin', 'fooplugin'),
+ array('craftfooplugin', 'craftfooplugin'),
+ // lowercase - dash
+ array('craft-foo', 'foo'),
+ array('foo-plugin', 'foo'),
+ array('craft-foo-plugin', 'foo'),
+ // lowercase - underscore
+ array('craft_foo', 'craft_foo'),
+ array('foo_plugin', 'foo_plugin'),
+ array('craft_foo_plugin', 'craft_foo_plugin'),
+ // CamelCase
+ array('Foo', 'Foo'),
+ array('CraftFoo', 'CraftFoo'),
+ array('FooPlugin', 'FooPlugin'),
+ array('CraftFooPlugin', 'CraftFooPlugin'),
+ // CamelCase - Dash
+ array('Craft-Foo', 'Foo'),
+ array('Foo-Plugin', 'Foo'),
+ array('Craft-Foo-Plugin', 'Foo'),
+ // CamelCase - underscore
+ array('Craft_Foo', 'Craft_Foo'),
+ array('Foo_Plugin', 'Foo_Plugin'),
+ array('Craft_Foo_Plugin', 'Craft_Foo_Plugin'),
+ );
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php
new file mode 100644
index 00000000..9e385e6a
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php
@@ -0,0 +1,89 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\DokuWikiInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class DokuWikiInstallerTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var DokuWikiInstaller
+ */
+ private $installer;
+
+ public function setUp()
+ {
+ $this->installer = new DokuWikiInstaller(
+ new Package('NyanCat', '4.2', '4.2'),
+ new Composer()
+ );
+ }
+
+ /**
+ * @dataProvider packageNameInflectionProvider
+ */
+ public function testInflectPackageVars($type, $name, $expected)
+ {
+ $this->assertEquals(
+ $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)),
+ array('name' => $expected, 'type'=>$type)
+ );
+ }
+
+ public function packageNameInflectionProvider()
+ {
+ return array(
+ array(
+ 'dokuwiki-plugin',
+ 'dokuwiki-test-plugin',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-plugin',
+ 'test-plugin',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-plugin',
+ 'dokuwiki_test',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-plugin',
+ 'test',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-plugin',
+ 'test-template',
+ 'test-template',
+ ),
+ array(
+ 'dokuwiki-template',
+ 'dokuwiki-test-template',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-template',
+ 'test-template',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-template',
+ 'dokuwiki_test',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-template',
+ 'test',
+ 'test',
+ ),
+ array(
+ 'dokuwiki-template',
+ 'test-plugin',
+ 'test-plugin',
+ ),
+ );
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php
new file mode 100644
index 00000000..b757799b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php
@@ -0,0 +1,63 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Composer;
+use Composer\Installers\GravInstaller;
+
+class GravInstallerTest extends TestCase
+{
+ /* @var \Composer\Composer */
+ protected $composer;
+
+ public function setUp()
+ {
+ $this->composer = new Composer();
+ }
+
+ public function testInflectPackageVars()
+ {
+ $package = $this->getPackage('vendor/name', '0.0.0');
+ $installer = new GravInstaller($package, $this->composer);
+ $packageVars = $this->getPackageVars($package);
+
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test')));
+ $this->assertEquals('test', $result['name']);
+
+ foreach ($installer->getLocations() as $name => $location) {
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test")));
+ $this->assertEquals('test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name")));
+ $this->assertEquals('test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test")));
+ $this->assertEquals('test-test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name")));
+ $this->assertEquals('test-test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test")));
+ $this->assertEquals('test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name")));
+ $this->assertEquals('test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test")));
+ $this->assertEquals('test-test', $result['name']);
+ $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name")));
+ $this->assertEquals('test-test', $result['name']);
+ }
+ }
+
+ /**
+ * @param $package \Composer\Package\PackageInterface
+ */
+ public function getPackageVars($package)
+ {
+ $type = $package->getType();
+
+ $prettyName = $package->getPrettyName();
+ if (strpos($prettyName, '/') !== false) {
+ list($vendor, $name) = explode('/', $prettyName);
+ } else {
+ $vendor = '';
+ $name = $prettyName;
+ }
+
+ return compact('name', 'vendor', 'type');
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
new file mode 100644
index 00000000..610b8e6e
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
@@ -0,0 +1,428 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\Installer;
+use Composer\Util\Filesystem;
+use Composer\Package\Package;
+use Composer\Package\RootPackage;
+use Composer\Composer;
+use Composer\Config;
+
+class InstallerTest extends TestCase
+{
+ private $composer;
+ private $config;
+ private $vendorDir;
+ private $binDir;
+ private $dm;
+ private $repository;
+ private $io;
+ private $fs;
+
+ /**
+ * setUp
+ *
+ * @return void
+ */
+ public function setUp()
+ {
+ $this->fs = new Filesystem;
+
+ $this->composer = new Composer();
+ $this->config = new Config();
+ $this->composer->setConfig($this->config);
+
+ $this->vendorDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-vendor';
+ $this->ensureDirectoryExistsAndClear($this->vendorDir);
+
+ $this->binDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-bin';
+ $this->ensureDirectoryExistsAndClear($this->binDir);
+
+ $this->config->merge(array(
+ 'config' => array(
+ 'vendor-dir' => $this->vendorDir,
+ 'bin-dir' => $this->binDir,
+ ),
+ ));
+
+ $this->dm = $this->getMockBuilder('Composer\Downloader\DownloadManager')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->composer->setDownloadManager($this->dm);
+
+ $this->repository = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
+ $this->io = $this->getMock('Composer\IO\IOInterface');
+ }
+
+ /**
+ * tearDown
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->fs->removeDirectory($this->vendorDir);
+ $this->fs->removeDirectory($this->binDir);
+ }
+
+ /**
+ * testSupports
+ *
+ * @return void
+ *
+ * @dataProvider dataForTestSupport
+ */
+ public function testSupports($type, $expected)
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $this->assertSame($expected, $installer->supports($type), sprintf('Failed to show support for %s', $type));
+ }
+
+ /**
+ * dataForTestSupport
+ */
+ public function dataForTestSupport()
+ {
+ return array(
+ array('agl-module', true),
+ array('aimeos-extension', true),
+ array('annotatecms-module', true),
+ array('annotatecms-component', true),
+ array('annotatecms-service', true),
+ array('bitrix-module', true),
+ array('bitrix-component', true),
+ array('bitrix-theme', true),
+ array('bonefish-package', true),
+ array('cakephp', false),
+ array('cakephp-', false),
+ array('cakephp-app', false),
+ array('cakephp-plugin', true),
+ array('chef-cookbook', true),
+ array('chef-role', true),
+ array('codeigniter-app', false),
+ array('codeigniter-library', true),
+ array('codeigniter-third-party', true),
+ array('codeigniter-module', true),
+ array('concrete5-block', true),
+ array('concrete5-package', true),
+ array('concrete5-theme', true),
+ array('concrete5-update', true),
+ array('craft-plugin', true),
+ array('croogo-plugin', true),
+ array('croogo-theme', true),
+ array('dokuwiki-plugin', true),
+ array('dokuwiki-template', true),
+ array('drupal-module', true),
+ array('dolibarr-module', true),
+ array('elgg-plugin', true),
+ array('fuel-module', true),
+ array('fuel-package', true),
+ array('fuel-theme', true),
+ array('fuelphp-component', true),
+ array('hurad-plugin', true),
+ array('hurad-theme', true),
+ array('joomla-library', true),
+ array('kirby-plugin', true),
+ array('kohana-module', true),
+ array('laravel-library', true),
+ array('lithium-library', true),
+ array('magento-library', true),
+ array('mako-package', true),
+ array('modxevo-snippet', true),
+ array('modxevo-plugin', true),
+ array('modxevo-module', true),
+ array('modxevo-template', true),
+ array('modxevo-lib', true),
+ array('mediawiki-extension', true),
+ array('mediawiki-skin', true),
+ array('microweber-module', true),
+ array('modulework-module', true),
+ array('moodle-mod', true),
+ array('october-module', true),
+ array('october-plugin', true),
+ array('piwik-plugin', true),
+ array('phpbb-extension', true),
+ array('pimcore-plugin', true),
+ array('ppi-module', true),
+ array('prestashop-module', true),
+ array('prestashop-theme', true),
+ array('puppet-module', true),
+ array('redaxo-addon', true),
+ array('redaxo-bestyle-plugin', true),
+ array('roundcube-plugin', true),
+ array('shopware-backend-plugin', true),
+ array('shopware-core-plugin', true),
+ array('shopware-frontend-plugin', true),
+ array('shopware-theme', true),
+ array('silverstripe-module', true),
+ array('silverstripe-theme', true),
+ array('smf-module', true),
+ array('smf-theme', true),
+ array('symfony1-plugin', true),
+ array('thelia-module', true),
+ array('thelia-frontoffice-template', true),
+ array('thelia-backoffice-template', true),
+ array('thelia-email-template', true),
+ array('tusk-task', true),
+ array('tusk-asset', true),
+ array('typo3-flow-plugin', true),
+ array('typo3-cms-extension', true),
+ array('whmcs-gateway', true),
+ array('wolfcms-plugin', true),
+ array('wordpress-plugin', true),
+ array('wordpress-core', false),
+ array('zend-library', true),
+ array('zikula-module', true),
+ array('zikula-theme', true),
+ array('kodicms-plugin', true),
+ array('kodicms-media', true),
+ );
+ }
+
+ /**
+ * testInstallPath
+ *
+ * @dataProvider dataForTestInstallPath
+ */
+ public function testInstallPath($type, $path, $name, $version = '1.0.0')
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package($name, $version, $version);
+
+ $package->setType($type);
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals($path, $result);
+ }
+
+ /**
+ * dataFormTestInstallPath
+ */
+ public function dataForTestInstallPath()
+ {
+ return array(
+ array('agl-module', 'More/MyTestPackage/', 'agl/my_test-package'),
+ array('aimeos-extension', 'ext/ai-test/', 'author/ai-test'),
+ array('annotatecms-module', 'addons/modules/my_module/', 'vysinsky/my_module'),
+ array('annotatecms-component', 'addons/components/my_component/', 'vysinsky/my_component'),
+ array('annotatecms-service', 'addons/services/my_service/', 'vysinsky/my_service'),
+ array('bitrix-module', 'bitrix/modules/my_module/', 'author/my_module'),
+ array('bitrix-component', 'bitrix/components/my_component/', 'author/my_component'),
+ array('bitrix-theme', 'bitrix/templates/my_theme/', 'author/my_theme'),
+ array('bonefish-package', 'Packages/bonefish/package/', 'bonefish/package'),
+ array('cakephp-plugin', 'Plugin/Ftp/', 'shama/ftp'),
+ array('chef-cookbook', 'Chef/mre/my_cookbook/', 'mre/my_cookbook'),
+ array('chef-role', 'Chef/roles/my_role/', 'mre/my_role'),
+ array('codeigniter-library', 'application/libraries/my_package/', 'shama/my_package'),
+ array('codeigniter-module', 'application/modules/my_package/', 'shama/my_package'),
+ array('concrete5-block', 'blocks/concrete5_block/', 'remo/concrete5_block'),
+ array('concrete5-package', 'packages/concrete5_package/', 'remo/concrete5_package'),
+ array('concrete5-theme', 'themes/concrete5_theme/', 'remo/concrete5_theme'),
+ array('concrete5-update', 'updates/concrete5/', 'concrete5/concrete5'),
+ array('craft-plugin', 'craft/plugins/my_plugin/', 'mdcpepper/my_plugin'),
+ array('croogo-plugin', 'Plugin/Sitemaps/', 'fahad19/sitemaps'),
+ array('croogo-theme', 'View/Themed/Readable/', 'rchavik/readable'),
+ array('dokuwiki-plugin', 'lib/plugins/someplugin/', 'author/someplugin'),
+ array('dokuwiki-template', 'lib/tpl/sometemplate/', 'author/sometemplate'),
+ array('dolibarr-module', 'htdocs/custom/my_module/', 'shama/my_module'),
+ array('drupal-module', 'modules/my_module/', 'shama/my_module'),
+ array('drupal-theme', 'themes/my_module/', 'shama/my_module'),
+ array('drupal-profile', 'profiles/my_module/', 'shama/my_module'),
+ array('drupal-drush', 'drush/my_module/', 'shama/my_module'),
+ array('elgg-plugin', 'mod/sample_plugin/', 'test/sample_plugin'),
+ array('fuel-module', 'fuel/app/modules/module/', 'fuel/module'),
+ array('fuel-package', 'fuel/packages/orm/', 'fuel/orm'),
+ array('fuel-theme', 'fuel/app/themes/theme/', 'fuel/theme'),
+ array('fuelphp-component', 'components/demo/', 'fuelphp/demo'),
+ array('hurad-plugin', 'plugins/Akismet/', 'atkrad/akismet'),
+ array('hurad-theme', 'plugins/Hurad2013/', 'atkrad/Hurad2013'),
+ array('joomla-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
+ array('kirby-plugin', 'site/plugins/my_plugin/', 'shama/my_plugin'),
+ array('kohana-module', 'modules/my_package/', 'shama/my_package'),
+ array('laravel-library', 'libraries/my_package/', 'shama/my_package'),
+ array('lithium-library', 'libraries/li3_test/', 'user/li3_test'),
+ array('magento-library', 'lib/foo/', 'test/foo'),
+ array('modxevo-snippet', 'assets/snippets/my_snippet/', 'shama/my_snippet'),
+ array('modxevo-plugin', 'assets/plugins/my_plugin/', 'shama/my_plugin'),
+ array('modxevo-module', 'assets/modules/my_module/', 'shama/my_module'),
+ array('modxevo-template', 'assets/templates/my_template/', 'shama/my_template'),
+ array('modxevo-lib', 'assets/lib/my_lib/', 'shama/my_lib'),
+ array('mako-package', 'app/packages/my_package/', 'shama/my_package'),
+ array('mediawiki-extension', 'extensions/APC/', 'author/APC'),
+ array('mediawiki-extension', 'extensions/APC/', 'author/APC-extension'),
+ array('mediawiki-extension', 'extensions/UploadWizard/', 'author/upload-wizard'),
+ array('mediawiki-extension', 'extensions/SyntaxHighlight_GeSHi/', 'author/syntax-highlight_GeSHi'),
+ array('mediawiki-skin', 'skins/someskin/', 'author/someskin-skin'),
+ array('mediawiki-skin', 'skins/someskin/', 'author/someskin'),
+ array('microweber-module', 'userfiles/modules/my-thing/', 'author/my-thing-module'),
+ array('modulework-module', 'modules/my_package/', 'shama/my_package'),
+ array('moodle-mod', 'mod/my_package/', 'shama/my_package'),
+ array('october-module', 'modules/my_plugin/', 'shama/my_plugin'),
+ array('october-plugin', 'plugins/shama/my_plugin/', 'shama/my_plugin'),
+ array('october-theme', 'themes/my_theme/', 'shama/my_theme'),
+ array('piwik-plugin', 'plugins/VisitSummary/', 'shama/visit-summary'),
+ array('prestashop-module', 'modules/a-module/', 'vendor/a-module'),
+ array('prestashop-theme', 'themes/a-theme/', 'vendor/a-theme'),
+ array('phpbb-extension', 'ext/test/foo/', 'test/foo'),
+ array('phpbb-style', 'styles/foo/', 'test/foo'),
+ array('phpbb-language', 'language/foo/', 'test/foo'),
+ array('pimcore-plugin', 'plugins/MyPlugin/', 'ubikz/my_plugin'),
+ array('ppi-module', 'modules/foo/', 'test/foo'),
+ array('puppet-module', 'modules/puppet-name/', 'puppet/puppet-name'),
+ array('redaxo-addon', 'redaxo/include/addons/my_plugin/', 'shama/my_plugin'),
+ array('redaxo-bestyle-plugin', 'redaxo/include/addons/be_style/plugins/my_plugin/', 'shama/my_plugin'),
+ array('roundcube-plugin', 'plugins/base/', 'test/base'),
+ array('roundcube-plugin', 'plugins/replace_dash/', 'test/replace-dash'),
+ array('shopware-backend-plugin', 'engine/Shopware/Plugins/Local/Backend/ShamaMyBackendPlugin/', 'shama/my-backend-plugin'),
+ array('shopware-core-plugin', 'engine/Shopware/Plugins/Local/Core/ShamaMyCorePlugin/', 'shama/my-core-plugin'),
+ array('shopware-frontend-plugin', 'engine/Shopware/Plugins/Local/Frontend/ShamaMyFrontendPlugin/', 'shama/my-frontend-plugin'),
+ array('shopware-theme', 'templates/my_theme/', 'shama/my-theme'),
+ array('silverstripe-module', 'my_module/', 'shama/my_module'),
+ array('silverstripe-module', 'sapphire/', 'silverstripe/framework', '2.4.0'),
+ array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0'),
+ array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0-rc1'),
+ array('silverstripe-module', 'framework/', 'silverstripe/framework', 'my/branch'),
+ array('silverstripe-theme', 'themes/my_theme/', 'shama/my_theme'),
+ array('smf-module', 'Sources/my_module/', 'shama/my_module'),
+ array('smf-theme', 'Themes/my_theme/', 'shama/my_theme'),
+ array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sfShamaPlugin'),
+ array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sf-shama-plugin'),
+ array('thelia-module', 'local/modules/my_module/', 'shama/my_module'),
+ array('thelia-frontoffice-template', 'templates/frontOffice/my_template_fo/', 'shama/my_template_fo'),
+ array('thelia-backoffice-template', 'templates/backOffice/my_template_bo/', 'shama/my_template_bo'),
+ array('thelia-email-template', 'templates/email/my_template_email/', 'shama/my_template_email'),
+ array('tusk-task', '.tusk/tasks/my_task/', 'shama/my_task'),
+ array('typo3-flow-package', 'Packages/Application/my_package/', 'shama/my_package'),
+ array('typo3-flow-build', 'Build/my_package/', 'shama/my_package'),
+ array('typo3-cms-extension', 'typo3conf/ext/my_extension/', 'shama/my_extension'),
+ array('whmcs-gateway', 'modules/gateways/gateway_name/', 'vendor/gateway_name'),
+ array('wolfcms-plugin', 'wolf/plugins/my_plugin/', 'shama/my_plugin'),
+ array('wordpress-plugin', 'wp-content/plugins/my_plugin/', 'shama/my_plugin'),
+ array('wordpress-muplugin', 'wp-content/mu-plugins/my_plugin/', 'shama/my_plugin'),
+ array('zend-extra', 'extras/library/zend_test/', 'shama/zend_test'),
+ array('zikula-module', 'modules/my-test_module/', 'my/test_module'),
+ array('zikula-theme', 'themes/my-test_theme/', 'my/test_theme'),
+ array('kodicms-media', 'cms/media/vendor/my_media/', 'shama/my_media'),
+ array('kodicms-plugin', 'cms/plugins/my_plugin/', 'shama/my_plugin'),
+ );
+ }
+
+ /**
+ * testGetCakePHPInstallPathException
+ *
+ * @return void
+ *
+ * @expectedException \InvalidArgumentException
+ */
+ public function testGetCakePHPInstallPathException()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('shama/ftp', '1.0.0', '1.0.0');
+
+ $package->setType('cakephp-whoops');
+ $result = $installer->getInstallPath($package);
+ }
+
+ /**
+ * testCustomInstallPath
+ */
+ public function testCustomInstallPath()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('shama/ftp', '1.0.0', '1.0.0');
+ $package->setType('cakephp-plugin');
+ $consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
+ $this->composer->setPackage($consumerPackage);
+ $consumerPackage->setExtra(array(
+ 'installer-paths' => array(
+ 'my/custom/path/{$name}/' => array(
+ 'shama/ftp',
+ 'foo/bar',
+ ),
+ ),
+ ));
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals('my/custom/path/Ftp/', $result);
+ }
+
+ /**
+ * testCustomInstallerName
+ */
+ public function testCustomInstallerName()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('shama/cakephp-ftp-plugin', '1.0.0', '1.0.0');
+ $package->setType('cakephp-plugin');
+ $package->setExtra(array(
+ 'installer-name' => 'FTP',
+ ));
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals('Plugin/FTP/', $result);
+ }
+
+ /**
+ * testCustomTypePath
+ */
+ public function testCustomTypePath()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('slbmeh/my_plugin', '1.0.0', '1.0.0');
+ $package->setType('wordpress-plugin');
+ $consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
+ $this->composer->setPackage($consumerPackage);
+ $consumerPackage->setExtra(array(
+ 'installer-paths' => array(
+ 'my/custom/path/{$name}/' => array(
+ 'type:wordpress-plugin'
+ ),
+ ),
+ ));
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals('my/custom/path/my_plugin/', $result);
+ }
+
+ /**
+ * testNoVendorName
+ */
+ public function testNoVendorName()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('sfPhpunitPlugin', '1.0.0', '1.0.0');
+
+ $package->setType('symfony1-plugin');
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals('plugins/sfPhpunitPlugin/', $result);
+ }
+
+ /**
+ * testTypo3Inflection
+ */
+ public function testTypo3Inflection()
+ {
+ $installer = new Installer($this->io, $this->composer);
+ $package = new Package('typo3/fluid', '1.0.0', '1.0.0');
+
+ $package->setAutoload(array(
+ 'psr-0' => array(
+ 'TYPO3\\Fluid' => 'Classes',
+ ),
+ ));
+
+ $package->setType('typo3-flow-package');
+ $result = $installer->getInstallPath($package);
+ $this->assertEquals('Packages/Application/TYPO3.Fluid/', $result);
+ }
+
+ public function testUninstallAndDeletePackageFromLocalRepo()
+ {
+ $package = new Package('foo', '1.0.0', '1.0.0');
+
+ $installer = $this->getMock('Composer\Installers\Installer', array('getInstallPath'), array($this->io, $this->composer));
+ $installer->expects($this->once())->method('getInstallPath')->with($package)->will($this->returnValue(sys_get_temp_dir().'/foo'));
+
+ $repo = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
+ $repo->expects($this->once())->method('hasPackage')->with($package)->will($this->returnValue(true));
+ $repo->expects($this->once())->method('removePackage')->with($package);
+
+ $installer->uninstall($repo, $package);
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php
new file mode 100644
index 00000000..3675e188
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php
@@ -0,0 +1,66 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\MediaWikiInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class MediaWikiInstallerTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var MediaWikiInstaller
+ */
+ private $installer;
+
+ public function setUp()
+ {
+ $this->installer = new MediaWikiInstaller(
+ new Package('NyanCat', '4.2', '4.2'),
+ new Composer()
+ );
+ }
+
+ /**
+ * @dataProvider packageNameInflectionProvider
+ */
+ public function testInflectPackageVars($type, $name, $expected)
+ {
+ $this->assertEquals(
+ $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)),
+ array('name' => $expected, 'type'=>$type)
+ );
+ }
+
+ public function packageNameInflectionProvider()
+ {
+ return array(
+ array(
+ 'mediawiki-extension',
+ 'sub-page-list',
+ 'SubPageList',
+ ),
+ array(
+ 'mediawiki-extension',
+ 'sub-page-list-extension',
+ 'SubPageList',
+ ),
+ array(
+ 'mediawiki-extension',
+ 'semantic-mediawiki',
+ 'SemanticMediawiki',
+ ),
+ // tests that exactly one '-skin' is cut off, and that skins do not get ucwords treatment like extensions
+ array(
+ 'mediawiki-skin',
+ 'some-skin-skin',
+ 'some-skin',
+ ),
+ // tests that names without '-skin' suffix stay valid
+ array(
+ 'mediawiki-skin',
+ 'someotherskin',
+ 'someotherskin',
+ ),
+ );
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php
new file mode 100644
index 00000000..fd427cdc
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php
@@ -0,0 +1,66 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\OctoberInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class OctoberInstallerTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var OctoberInstaller
+ */
+ private $installer;
+
+ public function setUp()
+ {
+ $this->installer = new OctoberInstaller(
+ new Package('NyanCat', '4.2', '4.2'),
+ new Composer()
+ );
+ }
+
+ /**
+ * @dataProvider packageNameInflectionProvider
+ */
+ public function testInflectPackageVars($type, $name, $expected)
+ {
+ $this->assertEquals(
+ $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)),
+ array('name' => $expected, 'type' => $type)
+ );
+ }
+
+ public function packageNameInflectionProvider()
+ {
+ return array(
+ array(
+ 'october-plugin',
+ 'subpagelist',
+ 'subpagelist',
+ ),
+ array(
+ 'october-plugin',
+ 'subpagelist-plugin',
+ 'subpagelist',
+ ),
+ array(
+ 'october-plugin',
+ 'semanticoctober',
+ 'semanticoctober',
+ ),
+ // tests that exactly one '-theme' is cut off
+ array(
+ 'october-theme',
+ 'some-theme-theme',
+ 'some-theme',
+ ),
+ // tests that names without '-theme' suffix stay valid
+ array(
+ 'october-theme',
+ 'someothertheme',
+ 'someothertheme',
+ ),
+ );
+ }
+} \ No newline at end of file
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php
new file mode 100644
index 00000000..ea79374b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php
@@ -0,0 +1,44 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\PimcoreInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class PimcoreInstallerTest extends TestCase
+{
+ private $composer;
+ private $io;
+
+ /**
+ * setUp
+ *
+ * @return void
+ */
+ public function setUp()
+ {
+ $this->package = new Package('CamelCased', '1.0', '1.0');
+ $this->io = $this->getMock('Composer\IO\PackageInterface');
+ $this->composer = new Composer();
+ }
+
+ /**
+ * testInflectPackageVars
+ *
+ * @return void
+ */
+ public function testInflectPackageVars()
+ {
+ $installer = new PimcoreInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'CamelCased'));
+ $this->assertEquals($result, array('name' => 'CamelCased'));
+
+ $installer = new PimcoreInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'with-dash'));
+ $this->assertEquals($result, array('name' => 'WithDash'));
+
+ $installer = new PimcoreInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'with_underscore'));
+ $this->assertEquals($result, array('name' => 'WithUnderscore'));
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php
new file mode 100644
index 00000000..8d9ff3f8
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php
@@ -0,0 +1,63 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Composer;
+use Composer\Installers\PiwikInstaller;
+use Composer\Package\Package;
+use Composer\Package\PackageInterface;
+
+/**
+ * Class PiwikInstallerTest
+ *
+ * @package Composer\Installers\Test
+ */
+class PiwikInstallerTest extends TestCase
+{
+ /**
+ * @varComposer
+ */
+ private $composer;
+
+ /**
+ * @var PackageInterface
+ */
+ private $io;
+
+ /**
+ * @var Package
+ */
+ private $package;
+
+ /**
+ * setUp
+ *
+ * @return void
+ */
+ public function setUp()
+ {
+ $this->package = new Package('VisitSummary', '1.0', '1.0');
+ $this->io = $this->getMock('Composer\IO\PackageInterface');
+ $this->composer = new Composer();
+ }
+
+ /**
+ * testInflectPackageVars
+ *
+ * @return void
+ */
+ public function testInflectPackageVars()
+ {
+ $installer = new PiwikInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'VisitSummary'));
+ $this->assertEquals($result, array('name' => 'VisitSummary'));
+
+ $installer = new PiwikInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'visit-summary'));
+ $this->assertEquals($result, array('name' => 'VisitSummary'));
+
+ $installer = new PiwikInstaller($this->package, $this->composer);
+ $result = $installer->inflectPackageVars(array('name' => 'visit_summary'));
+ $this->assertEquals($result, array('name' => 'VisitSummary'));
+ }
+
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
new file mode 100644
index 00000000..6418a03b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ * Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Installers\Test;
+
+use Composer\Package\Version\VersionParser;
+use Composer\Package\Package;
+use Composer\Package\AliasPackage;
+use Composer\Package\LinkConstraint\VersionConstraint;
+use Composer\Util\Filesystem;
+
+abstract class TestCase extends \PHPUnit_Framework_TestCase
+{
+ private static $parser;
+
+ protected static function getVersionParser()
+ {
+ if (!self::$parser) {
+ self::$parser = new VersionParser();
+ }
+
+ return self::$parser;
+ }
+
+ protected function getVersionConstraint($operator, $version)
+ {
+ return new VersionConstraint(
+ $operator,
+ self::getVersionParser()->normalize($version)
+ );
+ }
+
+ protected function getPackage($name, $version)
+ {
+ $normVersion = self::getVersionParser()->normalize($version);
+
+ return new Package($name, $normVersion, $version);
+ }
+
+ protected function getAliasPackage($package, $version)
+ {
+ $normVersion = self::getVersionParser()->normalize($version);
+
+ return new AliasPackage($package, $normVersion, $version);
+ }
+
+ protected function ensureDirectoryExistsAndClear($directory)
+ {
+ $fs = new Filesystem();
+ if (is_dir($directory)) {
+ $fs->removeDirectory($directory);
+ }
+ mkdir($directory, 0777, true);
+ }
+}
diff --git a/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/bootstrap.php b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/bootstrap.php
new file mode 100644
index 00000000..30c8fdc6
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/vendor/composer/installers/tests/bootstrap.php
@@ -0,0 +1,4 @@
+<?php
+
+$loader = require __DIR__ . '/../src/bootstrap.php';
+$loader->add('Composer\Installers\Test', __DIR__);
diff --git a/MLEB/UniversalLanguageSelector/version b/MLEB/UniversalLanguageSelector/version
new file mode 100644
index 00000000..9b2e6d7b
--- /dev/null
+++ b/MLEB/UniversalLanguageSelector/version
@@ -0,0 +1,4 @@
+UniversalLanguageSelector: REL1_26
+2015-11-17T01:21:02
+
+72a77ba