http://wiki.modelspoorwijzer.net/index.php?title=MediaWiki:LanguageHandler.js&feed=atom&action=history
MediaWiki:LanguageHandler.js - Bewerkingsoverzicht
2024-03-28T21:22:22Z
Bewerkingsoverzicht voor deze pagina op de wiki
MediaWiki 1.22.0
http://wiki.modelspoorwijzer.net/index.php?title=MediaWiki:LanguageHandler.js&diff=897&oldid=prev
Dave: Nieuwe pagina aangemaakt met '// <source lang="javascript"> /* Some basic language support, use by the upload form rewrite. Author: User:Lupo, January 2008 License: Quadruple licensed G…'
2010-01-09T20:10:10Z
<p>Nieuwe pagina aangemaakt met '// <source lang="javascript"> /* Some basic language support, use by the upload form rewrite. Author: <a href="/index.php?title=Gebruiker:Lupo&action=edit&redlink=1" class="new" title="Gebruiker:Lupo (de pagina bestaat niet)">User:Lupo</a>, January 2008 License: Quadruple licensed G…'</p>
<p><b>Nieuwe pagina</b></p><div>// <source lang="javascript"><br />
/*<br />
Some basic language support, use by the upload form rewrite.<br />
<br />
Author: [[User:Lupo]], January 2008<br />
License: Quadruple licensed GFDL, GPL, LGPL and Creative Commons Attribution 3.0 (CC-BY-3.0)<br />
<br />
Choose whichever license of these you like best :-)<br />
*/<br />
<br />
var LanguageHandler = {<br />
<br />
languages : new Array (<br />
// Sorted by language name, not language code! Except for strange scripts... <br />
{text : 'Авар', lang : 'av'},<br />
{text : 'Afar', lang : 'aa'}, <br />
{text : 'Аҧсуа', lang : 'ab'},<br />
{text : 'Afrikaans', lang : 'af'}, <br />
{text : 'Akan', lang : 'ak'}, <br />
{text : 'አማርኛ', lang : 'am'},<br />
{text : 'Alemannisch', lang : 'als'},<br />
{text : 'Anglo Saxon', lang : 'ang'}, <br />
{text : 'العربية', lang : 'ar'}, <br />
{text : 'Aragonés', lang : 'an'},<br />
{text : 'Armãneashce', lang : 'roa-rup'},<br />
{text : 'Arpetan', lang : 'frp'},<br />
{text : 'ܐܪܡܝܐ', lang : 'arc'},<br />
{text : 'অসমীয়া', lang : 'as'},<br />
{text : 'Asturianu', lang : 'ast'},<br />
{text : 'Avañe\'ẽ', lang : 'gn'},<br />
{text : 'Aymar', lang : 'ay'},<br />
{text : 'Azərbaycan', lang : 'az'},<br />
<br />
{text : 'Башҡорт', lang : 'ba'},<br />
{text : 'Беларуская', lang : 'be'},<br />
{text : 'Български', lang : 'bg'},<br />
{text : 'Bamanankan', lang : 'bm'},<br />
{text : 'Bân-lâm-gú', lang : 'zh-min-nan'}, // Or 'nan', or 'minnan'<br />
{text : 'Bikol Central', lang : 'bcl'},<br />
{text : 'Bislama', lang : 'bi'},<br />
{text : 'भोजपुरी', lang : 'bh'},<br />
{text : 'বাংলা', lang : 'bn'},<br />
{text : 'བོད་ཡིག', lang : 'bo'},<br />
{text : 'ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী', lang : 'bpy'},<br />
{text : 'Bosanski', lang : 'bs'},<br />
{text : 'Brezhoneg', lang : 'br'},<br />
{text : 'ᨅᨔ ᨕᨘᨁᨗ', lang : 'bug'},<br />
<br />
{text : 'Чăвашла', lang : 'cv'},<br />
{text : 'Català', lang : 'ca'},<br />
{text : 'Cebuano', lang : 'ceb'},<br />
{text : 'ᏣᎳᎩ', lang : 'chr'},<br />
{text : 'Chi-Chewa', lang : 'ny'},<br />
{text : 'Cmique Itom', lang : 'sei'},<br />
{text : 'Corsu', lang : 'co'},<br />
{text : 'Česky', lang : 'cs'},<br />
{text : 'Словѣньскъ', lang : 'cu'},<br />
{text : '(Cuengh)', lang : 'za'},<br />
{text : 'Cymraeg', lang : 'cy'},<br />
<br />
{text : 'Dansk', lang : 'da'},<br />
{text : 'Deitsch', lang : 'pdc'},<br />
{text : 'Deutsch', lang : 'de'},<br />
{text : 'Diné bizaad', lang : 'nv'},<br />
{text : 'Dolnoserbski', lang : 'dsb'},<br />
{text : 'ދިވެހިބަސް', lang : 'dv'},<br />
{text : 'ཇོང་ཁ', lang : 'dz'},<br />
<br />
{text : 'Eʋegbe', lang : 'ee'},<br />
{text : 'Eesti', lang : 'et'},<br />
{text : 'Ekakairũ Naoero', lang : 'na'},<br />
{text : 'Ελληνικά', lang : 'el'},<br />
{text : 'Emiliàn e rumagnòl', lang : 'eml'},<br />
{text : 'English', lang : 'en'},<br />
{text : 'эрзянь кель', lang : 'myv'},<br />
{text : 'Esperanto', lang : 'eo'},<br />
{text : 'Español', lang : 'es'},<br />
{text : 'Estremeñu', lang : 'ext'},<br />
{text : 'Euskara', lang : 'eu'},<br />
<br />
{text : 'فارسی', lang : 'fa'},<br />
{text : 'Français', lang : 'fr'},<br />
{text : 'Français cadien', lang : 'frc'},<br />
{text : 'Frysk', lang : 'fy'},<br />
{text : 'Fulfulde', lang : 'ff'},<br />
{text : 'Furlan', lang : 'fur'},<br />
{text : 'Føroyskt', lang : 'fo'},<br />
<br />
{text : 'Gaeilge', lang : 'ga'},<br />
{text : 'Gagauz', lang : 'gag'},<br />
{text : '贛語', lang : 'gan'},<br />
{text : 'Gàidhlig', lang : 'gd'},<br />
{text : 'Galego', lang : 'gl'},<br />
{text : 'ГІалгІай Ğalğaj', lang : 'inh'},<br />
{text : 'Gegë', lang : 'aln'},<br />
{text : 'گیلکی', lang : 'glk'},<br />
{text : '𐌲𐌿𐍄𐌹𐍃𐌺', lang : 'got'},<br />
{text : 'ગુજરાતી', lang : 'gu'},<br />
<br />
{text : 'Hak-kâ-fa', lang : 'hak'},<br />
{text : 'Hawai`i', lang : 'haw'},<br />
{text : 'עברית', lang : 'he'},<br />
{text : 'हिन्दी', lang : 'hi'},<br />
{text : 'Hornjoserbsce', lang : 'hsb'},<br />
{text : 'Hrvatski', lang : 'hr'},<br />
{text : 'Հայերեն', lang : 'hy'},<br />
<br />
{text : 'Ido', lang : 'io'},<br />
{text : 'Igbo', lang : 'ig'},<br />
{text : 'Ilokano', lang : 'ilo'},<br />
{text : 'Bahasa Indonesia', lang : 'id'},<br />
{text : 'Interlingua', lang : 'ia'},<br />
{text : 'Interlingue', lang : 'ie'},<br />
{text : 'ᐃᓄᒃᑎᑐᑦ', lang : 'ike-cans'},<br />
{text : 'inuktitut', lang : 'ike-latn'},<br />
{text : 'ᐃᓄᒃᑎᑐᑦ/inuktitut', lang : 'iu'},<br />
{text : 'ꆇꉙ', lang : 'ii'},<br />
{text : 'Iñupiak', lang : 'ik'},<br />
{text : 'Иронау', lang : 'os'},<br />
{text : 'Íslenska', lang : 'is'},<br />
{text : 'Italiano', lang : 'it'},<br />
<br />
{text : '日本語', lang : 'ja'},<br />
{text : 'Basa Jawa', lang : 'jv'},<br />
<br />
{text : 'Kalaallisut', lang : 'kl'},<br />
{text : 'Kaszëbsczi', lang : 'csb'},<br />
{text : 'Қазақша', lang : 'kk'},<br />
{text : 'ქართული', lang : 'ka'},<br />
{text : 'Kernewek', lang : 'kw'},<br />
{text : 'Kinaray-a', lang : 'krj'},<br />
{text : 'Kiswahili', lang : 'sw'},<br />
{text : 'Коми', lang : 'kv'},<br />
{text : 'Kotava', lang : 'avk'},<br />
{text : 'Kongo', lang : 'kg'},<br />
{text : 'ភាសាខ្មែរ', lang : 'km'},<br />
{text : 'ಕನ್ನಡ', lang : 'kn'},<br />
{text : '한국어', lang : 'ko'},<br />
{text : 'कश्मीरी - (كشميري)', lang : 'ks'},<br />
{text : 'Kreyòl ayisyen', lang : 'ht'},<br />
{text : 'Kurdî / كوردی', lang : 'ku'},<br />
{text : 'Кыргызча', lang : 'ky'},<br />
{text : 'Къырымтатарджа', lang : 'crh-cyrl'},<br />
<br />
{text : 'Ladin', lang : 'lld'},<br />
{text : 'Ladino', lang : 'lad'},<br />
{text : 'Лакку', lang : 'lbe'},<br />
{text : 'Latina', lang : 'la'},<br />
{text : 'Latviešu', lang : 'lv'},<br />
{text : 'Lëtzebuergesch', lang : 'lb'},<br />
{text : 'Lietuvių', lang : 'lt'},<br />
{text : 'Líguru', lang : 'lij'},<br />
{text : 'Limburgs', lang : 'li'},<br />
{text : 'Lingála', lang : 'ln'},<br />
{text : 'Lingua Franca Nova', lang : 'lfn'},<br />
{text : 'Lojban', lang : 'jbo'},<br />
{text : 'Luganda', lang : 'lg'},<br />
{text : 'Lumbaart', lang : 'lmo'},<br />
{text : 'ລາວ', lang : 'lo'},<br />
<br />
{text : 'Magyar', lang : 'hu'},<br />
{text : 'Македонски', lang : 'mk'},<br />
{text : 'Malagasy', lang : 'mg'},<br />
{text : 'Malti', lang : 'mt'},<br />
{text : 'Māori', lang : 'mi'},<br />
{text : 'Mapudungun', lang : 'arn'},<br />
{text : 'Bahasa Melayu', lang : 'ms'},<br />
{text : 'Middelnederlands', lang : 'dum'},<br />
{text : 'Mìng-dĕ̤ng-ngṳ̄', lang : 'cdo'},<br />
{text : 'മലയാളം', lang : 'ml'},<br />
{text : 'мокшень кяль', lang : 'mdf'},<br />
{text : 'Монгол', lang : 'mn'},<br />
{text : 'मराठी', lang : 'mr'},<br />
{text : 'Myanmasa', lang : 'my'},<br />
{text : 'مَزِروني', lang : 'mzn'},<br />
<br />
{text : 'Na Vosa Vakaviti', lang : 'fj'},<br />
{text : 'Nahuatl', lang : 'nah'},<br />
{text : 'Nedersaksisch', lang : 'nds-nl'},<br />
{text : 'Nnapulitano', lang : 'nap'},<br />
{text : 'नेपाली', lang : 'ne'},<br />
{text : 'नेपाल भाषा', lang : 'new'},<br />
{text : 'Nederlands', lang : 'nl'},<br />
{text : 'Norsk (nynorsk)', lang : 'nn'},<br />
{text : 'Norsk (bokmål)', lang : 'no'},<br />
{text : 'Norrǿna', lang : 'non'},<br />
{text : 'Novial', lang : 'nov'},<br />
{text : 'Нохчийн', lang : 'ce'},<br />
<br />
{text : 'Occitan', lang : 'oc'},<br />
{text : 'ଓଡ଼ିଆ', lang : 'or'},<br />
{text : 'O\'zbek', lang : 'uz'},<br />
<br />
{text : 'ਪੰਜਾਬੀ', lang : 'pa'},<br />
{text : 'Pangasinan', lang : 'pag'},<br />
{text : 'Papiamentu', lang : 'pap'},<br />
{text : 'पािऴ', lang : 'pi'},<br />
{text : 'Piemontèis', lang : 'pms'},<br />
{text : 'Plattdüütsch', lang : 'nds'},<br />
{text : 'Polski', lang : 'pl'},<br />
{text : 'Ποντιακά', lang : 'pnt'},<br />
{text : 'پښتو', lang : 'ps'},<br />
{text : 'Português', lang : 'pt'},<br />
{text : 'Português do Brasil', lang : 'pt-br'},<br />
<br />
{text : 'Qaraqalpaqsha', lang : 'kaa'},<br />
{text : 'Qırımtatarca', lang : 'crh'},<br />
<br />
{text : 'Reo Mā`ohi', lang : 'ty'},<br />
{text : 'Ripoarisch', lang : 'ksh'},<br />
{text : 'Română', lang : 'ro'},<br />
{text : 'Romani', lang : 'rmy'},<br />
{text : 'Runa Simi', lang : 'qu'},<br />
{text : 'Rumantsch', lang : 'rm'},<br />
{text : 'Русский', lang : 'ru'},<br />
<br />
{text : 'संस्कृत', lang : 'sa'},<br />
{text : 'Sámegiella', lang : 'se'},<br />
{text : 'Sranantongo', lang : 'srn'},<br />
{text : 'Sardu', lang : 'sc'},<br />
{text : 'Sassaresu', lang : 'sdc'},<br />
{text : 'Scots', lang : 'sco'},<br />
{text : 'Саха тыла', lang : 'sah'},<br />
{text : 'Seeltersk', lang : 'stq'},<br />
{text : 'Sesotho sa Leboa', lang : 'nso'},<br />
{text : 'Setswana', lang : 'tn'},<br />
{text : 'Shqip', lang : 'sq'},<br />
{text : 'Sicilianu', lang : 'scn'},<br />
{text : 'سنڌي', lang : 'sd'},<br />
{text : 'Silozi', lang : 'loz'},<br />
{text : 'සිංහල', lang: 'si'},<br />
{text : 'SiSwati', lang : 'ss'},<br />
{text : 'Slovenčina', lang : 'sk'},<br />
{text : 'Slovenščina', lang : 'sl'},<br />
{text : 'chiShona', lang : 'sn'},<br />
{text : 'Soomaaliga', lang : 'so'},<br />
{text : 'Српски / Srpski', lang : 'sr'},<br />
{text : 'Basa Sunda', lang : 'su'},<br />
{text : 'Suomi', lang : 'fi'},<br />
{text : 'Svenska', lang : 'sv'},<br />
<br />
{text : 'Tagalog', lang : 'tl'},<br />
{text : 'Taqbaylit', lang : 'kab'},<br />
{text : 'Tshivenda', lang : 've'},<br />
{text : 'Tašlḥiyt', lang : 'shi'},<br />
{text : 'Tatarça', lang : 'tt'},<br />
{text : 'தமிழ்', lang : 'ta'},<br />
{text : 'తెలుగు', lang : 'te'},<br />
{text : 'Tetun', lang : 'tet'},<br />
{text : 'Tok Pisin', lang : 'tpi'},<br />
{text : 'faka-Tonga', lang : 'to'},<br />
{text : 'Тоҷикӣ', lang : 'tg'},<br />
{text : 'ไทย', lang : 'th'},<br />
{text : 'ትግርኛ', lang : 'ti'},<br />
{text : 'Türkçe', lang : 'tr'},<br />
{text : 'Türkmen', lang : 'tk'},<br />
{text : 'Тыва дыл', lang : 'tyv'},<br />
<br />
{text : 'Удмурт', lang : 'udm'},<br />
{text : 'Українська', lang : 'uk'},<br />
{text : 'Uyghurche / ئۇيغۇرچە', lang : 'ug'},<br />
{text : 'اردو', lang : 'ur'},<br />
<br />
{text : 'Vèneto', lang : 'vec'},<br />
{text : 'Tiếng Việt', lang : 'vi'},<br />
{text : 'West-Vlams', lang : 'vls'},<br />
{text : 'Volapük', lang : 'vo'},<br />
{text : 'Võro', lang : 'fiu-vro'},<br />
<br />
{text : 'Walon', lang : 'wa'},<br />
{text : 'Winaray', lang : 'war'},<br />
{text : 'Wolof', lang : 'wo'},<br />
{text : '吴语', lang : 'wuu'},<br />
<br />
{text : 'Хальмг', lang : 'xal'},<br />
{text : 'isiXhosa', lang : 'xh'},<br />
<br />
{text : 'מיזרח־ייִדיש', lang : 'ydd'},<br />
{text : 'ייִדיש', lang : 'yi'},<br />
{text : '粵語', lang : 'yue'},<br />
<br />
{text : 'Zazaki', lang : 'diq'},<br />
{text : 'Zeêuws', lang : 'zea'},<br />
{text : 'Žemaitėška', lang : 'bat-smg'},<br />
{text : '中文', lang : 'zh'},<br />
{text : '古文 / 文言文', lang : 'zh-classical'},<br />
{text : '中文(中国大陆)', lang : 'zh-cn'},<br />
{text : '中文(简体)', lang : 'zh-hans'},<br />
{text : '中文(繁體)', lang : 'zh-hant'},<br />
{text : '中文(香港)', lang : 'zh-hk'},<br />
<br />
{text : '中文(新加坡)', lang : 'zh-sg'},<br />
{text : '中文(台灣)', lang : 'zh-tw'},<br />
{text : '粵語', lang : 'zh-yue'},<br />
<br />
{text : 'Åarjelsaemien gïele', lang : 'sma'}<br />
),<br />
<br />
getSelect : function (id, preSelect, unknownLabel)<br />
{<br />
var select = document.createElement ('select');<br />
if (id != null) {<br />
select.setAttribute ('id', id);<br />
select.setAttribute ('name', id);<br />
}<br />
// Must have a text node. IE6 doesn't know Node.TEXT_NODE...<br />
while (unknownLabel && unknownLabel.nodeType != 3)<br />
unknownLabel = unknownLabel.firstChild;<br />
if (unknownLabel) {<br />
var unknown_option = document.createElement ('option');<br />
unknown_option.setAttribute ('value', 'unknown');<br />
unknown_option.appendChild (<br />
document.createTextNode (unknownLabel.data.replace (/^\s+/, "").replace (/\s+$/, "")));<br />
if (preSelect == null) unknown_option.setAttribute ('selected', 'selected');<br />
select.appendChild (unknown_option);<br />
}<br />
for (var i = 0; i < LanguageHandler.languages.length; i++) {<br />
var option = document.createElement ('option');<br />
option.setAttribute ('value', LanguageHandler.languages[i].lang);<br />
if (LanguageHandler.languages[i].lang == preSelect)<br />
option.setAttribute ('selected', 'selected');<br />
option.appendChild (document.createTextNode (LanguageHandler.languages[i].text));<br />
select.appendChild (option);<br />
}<br />
return select; <br />
},<br />
<br />
closestIndex : function (langCode)<br />
{<br />
if (typeof (langCode) != 'string' || langCode == null || langCode.length == 0) return -1;<br />
// Check if we have it.<br />
if (langCode == 'nan' || langCode == 'minnan') langCode = 'zh-min-nan';<br />
for (var i = 0; i < LanguageHandler.languages.length; i++) {<br />
if (LanguageHandler.languages[i].lang == langCode) return i;<br />
}<br />
// Check for prefix<br />
var dash = langCode.indexOf ('-');<br />
if (dash >= 0)<br />
return LanguageHandler.closestIndex (langCode.substring (0, dash));<br />
return -1;<br />
},<br />
<br />
closestLanguage : function (langCode)<br />
{<br />
var idx = LanguageHandler.closestIndex (langCode);<br />
if (idx < 0) return null;<br />
return LanguageHandler.languages[idx].lang;<br />
},<br />
<br />
getPrefix : function (langStr)<br />
{<br />
// Given a string, check if any prefix substring matches one of the language codes. If so, return<br />
// the length of the longest matching language code, otherwise, return zero.<br />
// Note: if languageHandler.languages were sorted by length of language code, this could be sped up<br />
// by stopping on the first match. But the benefits of human-readability of the list in alphabetical<br />
// order outweigh this performance consideration.<br />
var match_length = 0;<br />
for (var i = 0; i < LanguageHandler.languages.length; i++) {<br />
var l = LanguageHandler.languages[i].lang.length;<br />
if ( l <= langStr.length && l > match_length<br />
&& langStr.substr (0, l) == LanguageHandler.languages[i].lang)<br />
match_length = l;<br />
}<br />
return match_length;<br />
}<br />
<br />
} // end LanguageHandler<br />
<br />
// </source></div>
Dave