User:Zestwiki/aluc.js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
//[[special:diff/45118200]]
if( $.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
$.ajax(
'//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js',
{ dataType:'script', cache:true }
).done( function() {
$.when(
mw.loader.using( ['mediawiki.util'] ),
$.ajax('//en.wikipedia.org/w/index.php?title=User:Ohconfucius/script/MOSNUM_utils.js&action=raw&ctype=text/javascript',
{ dataType:'script', cache:true } ),
$.ready
).done( function() {
var add = mw.util.addPortletLink;
$( add('p-tb', '#', 'LAN-TEST', 'fixlang', 'LAN-TEST', '', '') ).click(fix_language_test_driver);
});
});
}
var summary;
function chinese_convert() {
switch (mw.config.get('wgUserLanguage')) {
case 'zh':
case 'zh-cn':
case 'zh-hans':
case 'zh-my':
case 'zh-sg':
summary = {
fix_language_test: '/*语言参数*/',
};
break;
default:
summary = {
fix_language_test: '/*語言參數*/',
};
break;
}
}
function fix_language_test_edit_summary() {
setoptions(minor='true');
chinese_convert();
setreason(summary.fix_language_test, 'append');
doaction('diff');
}
function fix_language_test() {
var language_list = [
'Afar',
'afar',
'Abkhazian',
'abkhazian',
'Avestan',
'avestan',
'Afrikaans',
'afrikaans',
'Akan',
'akan',
'Amharic',
'amharic',
'Aragonese',
'aragonese',
'Arabic',
'arabic',
'Assamese',
'assamese',
'Avaric',
'avaric',
'Aymara',
'aymara',
'Azerbaijani',
'azerbaijani',
'Bashkir',
'bashkir',
'Belarusian',
'belarusian',
'Bulgarian',
'bulgarian',
'Bihari',
'bihari',
'Bislama',
'bislama',
'Bambara',
'bambara',
'Bengali',
'bengali',
'Tibetan',
'tibetan',
'Breton',
'breton',
'Bosnian',
'bosnian',
'Catalan',
'catalan',
'Chechen',
'chechen',
'Chamorro',
'chamorro',
'Corsican',
'corsican',
'Cree',
'cree',
'Czech',
'czech',
'Church Slavic',
'church Slavic',
'Chuvash',
'chuvash',
'Welsh',
'welsh',
'Danish',
'danish',
'German',
'german',
'Divehi',
'divehi',
'Dzongkha',
'dzongkha',
'Ewe',
'ewe',
'Greek',
'greek',
'English',
'english',
'英文',
'Esperanto',
'esperanto',
'Spanish',
'spanish',
'Castilian',
'castilian',
'Estonian',
'estonian',
'Basque',
'basque',
'Persian',
'persian',
'Fulah',
'fulah',
'Finnish',
'finnish',
'Fijian',
'fijian',
'Faroese',
'faroese',
'French',
'french',
'Western Frisian',
'western Frisian',
'Irish',
'irish',
'Scottish Gaelic',
'scottish Gaelic',
'Galician',
'galician',
'Guaraní',
'guaraní',
'Gujarati',
'gujarati',
'Manx',
'manx',
'Hausa',
'hausa',
'Hebrew',
'hebrew',
'Hindi',
'hindi',
'Hiri Motu',
'hiri motu',
'Hirimotu',
'hirimotu',
'Croatian',
'croatian',
'Haitian Creole',
'haitian creole',
'Haitiancreole',
'haitiancreole',
'Hungarian',
'hungarian',
'Armenian',
'armenian',
'Herero',
'herero',
'Interlingua',
'interlingua',
'Indonesian',
'indonesian',
'Interlingue',
'interlingue',
'Igbo',
'igbo',
'Sichuan Yi',
'sichuan yi',
'sichuanyi',
'Sichuanyi',
'Inupiaq',
'inupiaq',
'Ido',
'ido',
'Icelandic',
'icelandic',
'Italian',
'italian',
'Inuktitut',
'inuktitut',
'Japanese',
'japanese',
'日文',
'Javanese',
'javanese',
'Georgian',
'georgian',
'Kongo',
'kongo',
'Kikuyu',
'kikuyu',
'Kwanyama',
'kwanyama',
'Kazakh',
'kazakh',
'Kalaallisut',
'kalaallisut',
'Khmer',
'khmer',
'Kannada',
'kannada',
'Korean',
'korean',
'Kanuri',
'kanuri',
'Kashmiri',
'kashmiri',
'Kurdish',
'kurdish',
'Komi',
'komi',
'Cornish',
'cornish',
'Kirghiz',
'kirghiz',
'Latin',
'latin',
'拉丁語',
'Luxembourgish',
'luxembourgish',
'Ganda',
'ganda',
'Limburgish',
'limburgish',
'Lingala',
'lingala',
'Lao',
'lao',
'Lithuanian',
'iithuanian',
'Luba-Katanga',
'iuba-katanga',
'Latvian',
'latvian',
'Malagasy',
'malagasy',
'Marshallese',
'marshallese',
'Māori',
'māori',
'Macedonian',
'macedonian',
'Malayalam',
'malayalam',
'Mongolian',
'mongolian',
'Moldavian',
'moldavian',
'Marathi',
'marathi',
'Malay',
'malay',
'Maltese',
'maltese',
'Burmese',
'burmese',
'Nauru',
'nauru',
'Norwegian Bokmål',
'norwegian bokmål',
'North Ndebele',
'north ndebele',
'Northndebele',
'northndebele',
'Nepali',
'nepali',
'Ndonga',
'ndonga',
'Dutch',
'dutch',
'Norwegian Nynorsk',
'norwegiannynorsk',
'norwegian nynorsk',
'Norwegiannynorsk',
'Norwegian',
'norwegian',
'South Ndebele',
'south ndebele',
'southndebele',
'Southndebele',
'Navajo',
'navajo',
'Chichewa',
'chichewa',
'Occitan',
'occitan',
'Ojibwa',
'ojibwa',
'Oromo',
'oromo',
'Oriya',
'oriya',
'Ossetian',
'ossetian',
'Panjabi',
'panjabi',
'Pāli',
'pāli',
'Polish',
'polish',
'Pashto',
'pashto',
'Portuguese',
'portuguese',
'Quechua',
'quechua',
'Raeto-Romance',
'raeto-romance',
'Kirundi',
'kirundi',
'Romanian',
'romanian',
'Russian',
'russian',
'Kinyarwanda',
'kinyarwanda',
'Sanskrit',
'sanskrit',
'Sardinian',
'sardinian',
'Sindhi',
'sindhi',
'Northern Sami',
'northern sami',
'Sango',
'sango',
'Serbo-Croatian',
'serbo-croatian',
'Sinhalese',
'sinhalese',
'Slovak',
'slovak',
'Slovenian',
'slovenian',
'Samoan',
'samoan',
'Shona',
'shona',
'Somali',
'somali',
'Albanian',
'albanian',
'Serbian',
'serbian',
'Swati',
'swati',
'Sotho',
'sotho',
'Sundanese',
'sundanese',
'Swedish',
'swedish',
'Swahili',
'swahili',
'Tamil',
'tamil',
'Telugu',
'telugu',
'Tajik',
'tajik',
'Thai',
'thai',
'Tigrinya',
'tigrinya',
'Turkmen',
'turkmen',
'Tagalog',
'tagalog',
'Tswana',
'tswana',
'Tonga',
'tonga',
'Turkish',
'turkish',
'Tsonga',
'tsonga',
'Tatar',
'tatar',
'Twi',
'twi',
'Tahitian',
'tahitian',
'Uyghur',
'uyghur',
'Ukrainian',
'ukrainian',
'Urdu',
'urdu',
'Uzbek',
'uzbek',
'Venda',
'venda',
'Vietnamese',
'vietnamese',
'Volapük',
'volapük',
'Walloon',
'walloon',
'Wolof',
'wolof',
'Xhosa',
'xhosa',
'Yiddish',
'yiddish',
'Yoruba',
'yoruba',
'Zhuang',
'zhuang',
'Chinese',
'chinese',
'中文',
'繁體中文',
'简体中文',
'Zulu',
'zulu'
];
var language_codes = [
'aa',
'aa',
'ab',
'ab',
'ae',
'ae',
'af',
'af',
'ak',
'ak',
'am',
'am',
'an',
'an',
'ar',
'ar',
'as',
'as',
'av',
'av',
'ay',
'ay',
'az',
'az',
'ba',
'ba',
'be',
'be',
'bg',
'bg',
'bh',
'bh',
'bi',
'bi',
'bm',
'bm',
'bn',
'bn',
'bo',
'bo',
'br',
'br',
'bs',
'bs',
'ca',
'ca',
'ce',
'ce',
'ch',
'ch',
'co',
'co',
'cr',
'cr',
'cs',
'cs',
'cu',
'cu',
'cv',
'cv',
'cy',
'cy',
'da',
'da',
'de',
'de',
'dv',
'dv',
'dz',
'dz',
'ee',
'ee',
'el',
'el',
'en',
'en',
'en',
'eo',
'eo',
'es',
'es',
'es',
'es',
'et',
'et',
'eu',
'eu',
'fa',
'fa',
'ff',
'ff',
'fi',
'fi',
'fj',
'fj',
'fo',
'fo',
'fr',
'fr',
'fy',
'fy',
'ga',
'ga',
'gd',
'gd',
'gl',
'gl',
'gn',
'gn',
'gu',
'gu',
'gv',
'gv',
'ha',
'ha',
'he',
'he',
'hi',
'hi',
'ho',
'ho',
'ho',
'ho',
'hr',
'hr',
'ht',
'ht',
'ht',
'ht',
'hu',
'hu',
'hy',
'hy',
'hz',
'hz',
'ia',
'ia',
'id',
'id',
'ie',
'ie',
'ig',
'ig',
'ii',
'ii',
'ii',
'ii',
'ik',
'ik',
'io',
'io',
'is',
'is',
'it',
'it',
'iu',
'iu',
'ja',
'ja',
'ja',
'jv',
'jv',
'ka',
'ka',
'kg',
'kg',
'ki',
'ki',
'kj',
'kj',
'kk',
'kk',
'kl',
'kl',
'km',
'km',
'kn',
'kn',
'ko',
'ko',
'kr',
'kr',
'ks',
'ks',
'ku',
'ku',
'kv',
'kv',
'kw',
'kw',
'ky',
'ky',
'la',
'la',
'la',
'lb',
'lb',
'lg',
'lg',
'li',
'li',
'ln',
'ln',
'lo',
'lo',
'lt',
'lt',
'lu',
'lu',
'lv',
'lv',
'mg',
'mg',
'mh',
'mh',
'mi',
'mi',
'mk',
'mk',
'ml',
'ml',
'mn',
'mn',
'mo',
'mo',
'mr',
'mr',
'ms',
'ms',
'mt',
'mt',
'my',
'my',
'na',
'na',
'nb',
'nb',
'nd',
'nd',
'nd',
'nd',
'ne',
'ne',
'ng',
'ng',
'nl',
'nl',
'nn',
'nn',
'nn',
'nn',
'no',
'no',
'nr',
'nr',
'nr',
'nr',
'nv',
'nv',
'ny',
'ny',
'oc',
'oc',
'oj',
'oj',
'om',
'om',
'or',
'or',
'os',
'os',
'pa',
'pa',
'pi',
'pi',
'pl',
'pl',
'ps',
'ps',
'pt',
'pt',
'qu',
'qu',
'rm',
'rm',
'rn',
'rn',
'ro',
'ro',
'ru',
'ru',
'rw',
'rw',
'sa',
'sa',
'sc',
'sc',
'sd',
'sd',
'se',
'se',
'sg',
'sg',
'sh',
'sh',
'si',
'si',
'sk',
'sk',
'sl',
'sl',
'sm',
'sm',
'sn',
'sn',
'so',
'so',
'sq',
'sq',
'sr',
'sr',
'ss',
'ss',
'st',
'st',
'su',
'su',
'sv',
'sv',
'sw',
'sw',
'ta',
'ta',
'te',
'te',
'tg',
'tg',
'th',
'th',
'ti',
'ti',
'tk',
'tk',
'tl',
'tl',
'tn',
'tn',
'to',
'to',
'tr',
'tr',
'ts',
'ts',
'tt',
'tt',
'tw',
'tw',
'ty',
'ty',
'ug',
'ug',
'uk',
'uk',
'ur',
'ur',
'uz',
'uz',
've',
've',
'vi',
'vi',
'vo',
'vo',
'wa',
'wa',
'wo',
'wo',
'xh',
'xh',
'yi',
'yi',
'yo',
'yo',
'za',
'za',
'zh',
'zh',
'zh',
'zh-hant',
'zh-cn',
'zu',
'zu'
];
var editbox = $('#wpTextbox1'), text = editbox.val();
text = text.replace(/(\|\s*language\s*=\s*)([\w-]*)(?=[\s]*[|}])/gi, function (m, p1, p2) {
for (var i = 0, len = language_list.length; i < len; i++)
{
if (p2.match(language_list[i])) {
p2 = language_codes[i];
}
}
return p1 + p2;
});
editbox.val(text);
}
function fix_language_test_driver(e) {
e.preventDefault();
fix_language_test();
fix_language_test_edit_summary();
}