User:Jura1/autoedit.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/**********************************************************************************
***********************************************************************************
** _ ______ _ _ _ **
** | | | ____| | (_) | **
** __ _ _ _| |_ ___ | |__ __| |_| |_ **
** / _` | | | | __/ _ \| __| / _` | | __| **
** | (_| | |_| | || (_) | |___| (_| | | |_ **
** \__,_|\__,_|\__\___/|______\__,_|_|\__| v1.1 **
** **
** ----------------------------------------------------------------------------- **
** How to use: **
** Add to your common.js [[Special:MyPage/common.js]], **
** importScript( 'User:Jitrixis/autoEdit.js' ); **
** **
** Links: **
** [[User:Jitrixis/autoEdit.js]] **
** [[User talk:Jitrixis/autoEdit.js]] **
** [[User talk:Jitrixis/autoEdit.js/lists]] **
** [[Wikidata:Tools#User:Jitrixis.2FautoEdit.js]] **
** **
** In collaboration with [[User:Zolo]] **
** **
** Read me: **
** This script allows you to add labels automatically thanks to the interwiki **
** links and descriptions thanks to a list that you can customize. **
** **
** Tips and Tricks: **
** You can click on the [X]labels button to automatically check the labels **
** checkbox and update labels. **
** **
***********************************************************************************
**********************************************************************************/
/////////////////////////////////////////////////////////////////////////
//////////////THE TRANSLATION VARIABLE IS UNDER THE LISTE ^^/////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////LISTES VARIABLE GLOBALE/////////////////////////
var desclist = {
'malegivenname': {
'en': 'male given name',
'de': 'männlicher Vorname',
'es': 'nombre masculino',
'fr': 'prénom masculin',
'nl': 'mannelijke voornaam',
'sv': 'mansnamn',
'be': 'мужчынскае асабістае імя',
'be-tarask': 'мужчынскае асабістае імя',
'br': 'anv paotr',
'ca': 'prenom masculí',
'cs': 'mužské křestní jméno',
'da': 'drengenavn',
'el': 'ανδρικό όνομα',
'eo': 'vira persona nomo',
'fa': 'نام کوچک مردانه',
'he': 'שם פרטי גברי',
'hu': 'férfi keresztnév',
'it': 'prenome maschile',
'lv': 'vīriešu vārds',
'mk': 'машко лично име',
'nb': 'mannsnavn',
'nn': 'mannsnamn',
'pl': 'imię męskie',
'sco': 'male first name',
'scn': 'nomu di battìu masculinu',
'et': 'mehenimi',
'fi': 'miehen etunimi',
'id': 'nama pemberian maskulin',
'la': 'praenomen masculinum',
'pt': 'prenome masculino',
'ro': 'prenume masculin',
'sk': 'mužské meno',
'sl': 'moško osebno ime',
'tr': 'erkek ismidir',
'sr-el': 'muško lično ime'
},
'femalegivenname': {
'en': 'female given name',
'de': 'weiblicher Vorname',
'es': 'nombre femenino',
'fr': 'prénom féminin',
'it': 'prenome femminile',
'nl': 'vrouwelijke voornaam',
'sv': 'kvinnonamn',
'br': "anv merc'hed",
'ca': 'prenom femení',
'cs': 'ženské křestní jméno',
'da': 'pigenavn',
'el': 'γυναικείο όνομα',
'eo': 'virina persona nomo',
'fa': 'نامهای زنانه',
'he': 'שם פרטי נשי',
'hu': 'női keresztnév',
'mk': 'женско лично име',
'nb': 'kvinnenavn',
'nn': 'kvinnenamn',
'pl': 'imię żeńskie',
'sco': 'female gien name',
'sk': 'ženské krstné meno',
'sl': 'žensko osebno ime',
'sr-el': 'žensko lično ime',
'et': 'naisenimi',
'id': 'nama perempuan feminin',
'la': 'praenomen femininum',
'pt': 'prenome feminino',
'ro': 'prenume feminin',
'tr': 'kadın ismidir',
'uk': "жіноче особове ім'я"
},
'surname': {
'en': 'family name',
'en-gb': 'surname',
'ca': 'cognom',
'cs': 'příjmení',
'da': 'efternavn',
'de': 'Familienname',
'fr': 'nom de famille',
'it': 'cognome',
'nl': 'achternaam',
'bn': 'পারিবারিক নাম',
'el': 'επώνυμο',
'es': 'apellido',
'eu': 'abizen',
'fa': 'نام خانوادگی',
'fi': 'sukunimi',
'gl': 'apelido',
'gu': 'અટક',
'he': 'שם משפחה',
'id': 'nama keluarga',
'is': 'eftirnafn',
'ja': '姓',
'ko': '성씨',
'min': 'namo asli',
'mk': 'презиме',
'nb': 'etternavn',
'nds': 'Familiennaam',
'nn': 'etternamn',
'pl': 'nazwisko',
'ro': 'nume de familie',
'sk': 'priezvisko',
'sl': 'priimek',
'zh': '姓氏'
},
'Wikimedia disambiguation page': {
'bn': 'উইকিমিডিয়া দ্ব্যর্থতা নিরসন পাতা',
'ca': 'pàgina de desambiguació de Wikimedia',
'ckb': 'پەڕەی ڕوونکردنەوەی ویکیمیدیا',
'cs': 'rozcestník',
'da': 'Wikimedia-flertydigside',
'de': 'Wikimedia-Begriffsklärungsseite',
'el': 'σελίδα αποσαφήνισης',
'en': 'Wikimedia disambiguation page',
'en-ca': 'Wikimedia disambiguation page',
'en-gb': 'Wikimedia disambiguation page',
'eo': 'apartigilo',
'es': 'desambiguación de Wikimedia',
'fa': 'یک صفحهٔ ابهام\u200cزدایی در ویکی\u200cپدیا',
'fi': 'täsmennyssivu',
'fr': 'page d\'homonymie',
'gl': 'páxina de homónimos',
'gu': 'સ્પષ્ટતા પાનું',
'he': 'דף פירושונים',
'hi': 'बहुविकल्पी पृष्ठ',
'hu': 'egyértelműsítő lap',
'id': 'Halaman disambiguasi',
'is': 'aðgreiningarsíða á Wikipediu',
'it': 'pagina di disambiguazione di un progetto Wikimedia',
'ja': 'ウィキメディアの曖昧さ回避ページ',
'ka': 'მრავალმნიშვნელოვანი',
'ko': '위키미디어 동음이의어 문서',
'min': 'laman disambiguasi',
'mk': 'појаснителна страница',
'ms': 'Laman nyahkekaburan',
'nb': 'Wikimedia-pekerside',
'nds': 'Sied för en mehrdüdig Begreep op Wikimedia',
'nl': 'doorverwijspagina',
'nn': 'Wikimedia-fleirtydingsside',
'or': 'ବହୁବିକଳ୍ପ ପୃଷ୍ଠା',
'pl': 'strona ujednoznaczniająca',
'pt': 'página de desambiguação',
'ru': 'страница значений',
'sk': 'rozlišovacia stránka',
'zh': '维基百科消歧义页',
'zh-hans': '维基百科消歧义页',
'zh-hant': '維基百科消歧義頁'
},
'Wikimedia category': {
'bn': 'উইকিমিডিয়া বিষয়শ্রেণী',
'ckb': 'پۆلی ویکیمیدیا',
'cs': 'kategorie na projektech Wikimedia',
'da': 'Wikimedia-kategori',
'de': 'Wikimedia-Kategorie',
'el': 'κατηγορία στο Wikimedia',
'en': 'Wikimedia category page',
'es': 'categoría de Wikimedia',
'fa': 'ردهٔ ویکیپدیا',
'fi': 'Wikimedia-luokka',
'fr': 'page de catégorie de Wikimédia',
'gl': 'categoría de Wikimedia',
'gu': 'વિકિપીડિયા શ્રેણી',
'he': 'קטגוריה בוויקיפדיה',
'it': 'categoria di un progetto Wikimedia',
'ja': 'ウィキメディアのカテゴリ',
'ko': '위키미디어 분류',
'mk': 'категорија на Википедија',
'nb': 'Wikimedia-kategori',
'nds': 'Kategorie op Wikimedia',
'nn': 'Wikimedia-kategori',
'pl': 'kategoria projektu Wikimedia',
'ru': 'категория в проекте Викимедиа',
'sv': 'Wikimedia-kategori',
'zh': '维基媒体工程分类',
'zh-hans': '维基媒体工程分类',
'zh-hant': '維基媒體工程分類'
},
'givenname' : {
'lt': 'Duotas vardas',
'et': 'Eesnimi',
'is': 'Eiginnafn',
'uz': 'Ism',
'id': 'Nama kecil',
'sl': 'Osebno ime',
'nn': 'Personnamn',
'qu': 'Runa suti',
'bar': 'Tafnåmen',
'lb': 'Virnumm',
'de': 'Vorname',
'de-at': 'Vorname',
'de-ch': 'Vorname',
'nds': 'Vörnaam',
'br': 'anv-badez',
'fi': 'etunimi',
'fy': 'foarnamme',
'da': 'fornavn',
'nb': 'fornavn',
'sv': 'förnamn',
'sco': 'gien name',
'en': 'given name',
'en-ca': 'given name',
'en-gb': 'given name',
'hr': 'ime',
'pl': 'imię',
'hu': 'keresztnév',
'sr-el': 'lično ime',
'sk': 'meno',
'es': 'nombre',
'scn': 'nomu di battìu',
'eo': 'persona nomo',
'lv': 'personvārds',
'wa': 'pitit no',
'ca': 'prenom',
'it': 'prenome',
'pt': 'prenome',
'pt-br': 'prenome',
'ro': 'prenume',
'frp': 'prèniom',
'fr': 'prénom',
'cs': 'rodné jméno',
'vi': 'tên',
'af': 'voornaam',
'nl': 'voornaam',
'el': 'όνομα',
'kk': 'Есім',
'be': 'асабістае імя',
'be-tarask': 'асабістае імя',
'mk': 'лично име',
'sr': 'лично име',
'sr-ec': 'лично име',
'ru': 'личное имя',
'uk': 'особове ім\'я',
'bg': 'собствено име',
'ce': 'шен цӀе',
'hy': 'Անձնանուն',
'he': 'שם פרטי',
'fa': 'نام',
'ne': 'नाम',
'hi': 'प्रदत्त नाम',
'ta': 'சூட்டிய பெயர்',
'te': 'ఇవ్వబడిన పేరు',
'ja': '個人名',
'zh': '名字',
'zh-cn': '名字',
'zh-hans': '名字',
'zh-hant': '名字',
'zh-hk': '名字',
'zh-tw': '名字',
'ko': '명'
},
'eyecolor' : {
'ca': 'color dels ulls',
'da': 'Øjenfarve',
'de': 'Augenfarbe',
'en': 'eye color',
'en-gb': 'eye colour',
'en-ca': 'eye colour',
'es': 'color de ojos',
'eu': 'begi kolore',
'fa': 'رنگ چشم',
'fi': 'silmien väri',
'fr': 'couleur des yeux',
'gd': 'dath nan sùilean',
'gl': 'cor dos ollos',
'hr': 'boja očiju',
'hu': 'szemszín',
'it': 'colore degli occhi',
'lv': 'acu krāsa',
'nb': 'Øyenfarge',
'nl': 'oogkleur',
'nn': 'augefarge',
'pl': 'kolor oczu',
'pt': 'cor dos olhos',
'ru': 'Цвет глаз',
'sh': 'boja očiju',
'sv': 'Ögonfärg',
'ta': 'கண் நிறம்',
'tr': 'Göz rengi',
'uk': 'Колір очей'
},
'date': {
'af': 'datum',
'aln': 'data',
'an': 'calendata',
'ang': 'dæȝ',
'ar': 'التاريخ',
'arz': 'تاريخ',
'as': 'তাৰিখ',
'ast': 'data',
'az': 'tarix',
'ba': 'көнө',
'bar': 'Daatum',
'bcc': 'تاریح',
'be-tarask': 'дата',
'bg': 'дата',
'bn': 'তারিখ',
'br': 'deiziad',
'bs': 'datum',
'ca': 'data',
'ckb': 'ڕێکەوت',
'cs': 'datum',
'cy': 'dyddiad',
'da': 'dato',
'de': 'Datum',
'diq': 'deme',
'dsb': 'datum',
'ee': 'ŋkeke',
'el': 'ημερομηνία',
'en': 'date',
'eo': 'dato',
'es': 'fecha',
'et': 'kuupäev',
'eu': 'data',
'fa': 'تاریخ',
'fi': 'päiväys',
'fr': 'date',
'frp': 'dâta',
'fur': 'date',
'fy': 'datum',
'ga': 'dáta',
'gl': 'data',
'grc': 'Ἡμερομηνία',
'gsw': 'datum',
'gu': 'તારીખ',
'he': 'תאריך יצירה',
'hi': 'दिनांक',
'hr': 'datum',
'hsb': 'datum',
'hu': 'dátum',
'hy': 'թվական',
'ia': 'data',
'id': 'tanggal',
'ig': 'aka',
'ilo': 'petsa',
'io': 'dato',
'is': 'dagsetning',
'it': 'data',
'ja': '日付',
'jv': 'tanggal',
'ka': 'თარიღი',
'km': 'កាលបរិច្ឆេទ',
'kn': 'ದಿನಾಂಕ',
'ko': '날짜',
'koi': 'дата',
'ksh': 'Et Dattum',
'ku-latn': 'dîrok',
'lb': 'datum',
'li': 'datum',
'lt': 'data',
'lv': 'datums',
'mg': 'daty',
'min': 'tanggal',
'mk': 'датум',
'ml': 'തീയതി',
'mr': 'दिनांक',
'ms': 'tarikh',
'mt': 'data',
'myv': 'чы-ков',
'nb': 'dato',
'nds': 'Datum',
'nds-nl': 'daotum',
'ne': 'मिति',
'nl': 'datum',
'nn': 'dato',
'oc': 'data',
'or': 'ତାରିଖ',
'os': 'датæ',
'pdc': 'datum',
'pl': 'data',
'pms': 'data',
'pnb': 'تریخ',
'ps': 'نېټه',
'pt': 'data',
'pt-br': 'data',
'qu': 'p\'unchaw',
'ro': 'dată',
'roa-tara': 'date',
'ru': 'дата',
'rue': 'датум',
'sa': 'दिनाङ्क',
'sah': 'күнэ-дьыла',
'sc': 'data',
'scn': 'data',
'si': 'දිනය',
'sk': 'dátum',
'sl': 'datum',
'sq': 'data',
'sr': 'датум',
'sr-ec': 'датум',
'sr-el': 'datum',
'stq': 'doatum',
'sv': 'datum',
'sw': 'tarehe',
'szl': 'data',
'ta': 'நாள்',
'te': 'తేదీ',
'tet': 'tempu',
'tg': 'сана',
'tg-latn': 'sana',
'th': 'วันที่สร้างสรรค์',
'tk': 'sene',
'tl': 'petsa',
'tr': 'üretim tarihi',
'tt-cyrl': 'вакыт',
'uk': 'час створення',
'vec': 'data',
'vep': 'dat',
'vi': 'ngày tạo ra',
'vo': 'dät',
'yi': 'דאַטע',
'yo': 'Ọjọ́ọdún',
'yue': '日期',
'zh-hans': '日期',
'zh-hant': '日期'
},
'language': {
'ace': 'bahsa',
'af': 'taal',
'an': 'idioma',
'bjn': 'bahasa',
'bn': 'ভাষা',
'br': 'yezh',
'bs': 'jezik',
'ca': 'llengua',
'ckb': 'زمان',
'co': 'lingua',
'cs': 'jazyk',
'da': 'sprog',
'de': 'Sprache',
'diq': 'lısan',
'el': 'γλώσσα',
'eml': 'langua',
'en': 'language',
'eo': 'lingvo',
'es': 'idioma',
'et': 'keel',
'eu': 'hizkuntza',
'ext': 'luenga',
'fa': 'زبان',
'fi': 'kieli',
'fr': 'langue',
'frp': 'lengoua',
'fur': 'lenghe',
'fy': 'taal',
'ga': 'an',
'gl': 'lingua',
'gu': 'ભાષા',
'he': 'שפה',
'hu': 'nyelv',
'id': 'bahasa',
'io': 'linguo',
'is': 'tungumál',
'it': 'lingua',
'ja': '言語',
'jv': 'basa',
'kg': 'ndinga',
'ko': '언어',
'la': 'lingua',
'lt': 'kalba',
'lv': 'valoda',
'lzh': '語言',
'mg': 'fiteny',
'min': 'bahaso',
'mk': 'јазик',
'ms': 'bahasa',
'nb': 'språk',
'nds': 'Spraak',
'nn': 'språk',
'pcd': 'langue',
'pl': 'język',
'pt': 'língua',
'ro': 'limba',
'ru': 'язык',
'sk': 'jazyk',
'su': 'basa',
'ty': 'reo',
'vi': 'tiếng',
'wo': 'làkk',
'zh': '语言',
'zh-hans': '语言',
'zh-hant': '語言'
},
'year': {
'af': 'jaar',
'an': 'anyo',
'ar': 'سنة',
'ast': 'añu',
'bn': 'বছর',
'bs': 'godina',
'ca': 'any',
'ckb': 'ساڵ',
'cs': 'rok',
'da': 'år',
'de': 'Jahr',
'el': 'έτος',
'en': 'year',
'eo': 'jaro',
'es': 'año',
'et': 'Aasta',
'eu': 'Urte',
'fa': 'سال',
'fi': 'vuosi',
'fr': 'année',
'fy': 'Jier',
'gl': 'ano',
'gsw': 'joor',
'gu': 'વર્ષ',
'he': 'שנה',
'hr': 'Godina',
'ht': 'Lane',
'hu': 'Év',
'ia': 'anno',
'id': 'tahun',
'ilo': 'Tawen',
'is': 'ár',
'it': 'anno',
'ja': '年',
'ka': 'წელი',
'ko': '연도',
'ku': 'Sal',
'la': 'annus',
'lt': 'Metai',
'mhr': 'Идалык',
'min': 'taun',
'mk': 'година',
'ms': 'Tahun',
'nan': 'Nî',
'nb': 'år',
'nds': 'Johr',
'nl': 'jaar',
'nn': 'år',
'pl': 'rok',
'pt': 'ano',
'ro': 'An',
'ru': 'год',
'sh': 'Godina',
'sk': 'rok',
'sl': 'Leto',
'sq': 'Viti',
'sr': 'Година',
'srn': 'Yari',
'sv': 'år',
'tr': 'yıl',
'uk': 'Рік',
'ur': 'سال',
'vi': 'Năm',
'war': 'Tuig',
'yue': '年',
'zh': '年份',
'zh-hans': '年份',
'zh-hant': '年份'
},
'Wikimedia list article': {
'as': 'ৱিকিপিডিয়া:ৰচনাশৈলীৰ হাতপুথি',
'be': 'спіс атыкулаў у адным з праектаў Вікімедыя',
'bn': 'উইকিমিডিয়া নিবন্ধের তালিকা',
'cs': 'seznam na projektech Wikimedia',
'da': 'Wikimedia liste',
'de': 'Wikimedia-Liste',
'el': 'κατάλογος Wikimedia',
'en': 'Wikimedia list article',
'eo': 'Listartikolo en Vikipedio',
'es': 'artículo de lista de Wikimedia',
'fr': 'liste d\'un projet Wikimédia',
'gl': 'artigo de listas da Wikimedia',
'it': 'voci di liste su Wikipedia',
'ja': 'ウィキメディアの一覧記事',
'ko': '위키미디어 목록 항목',
'nb': 'Wikimedia-listeartikkel',
'nl': 'Wikimedia-lijst',
'oc': 'lista d\'un projècte Wikimèdia',
'pl': 'lista projektu Wikimedia',
'ru': 'статья-список',
'si': 'විකිමීඩියා ලැයිස්තු ලිපිය',
'sk': 'zoznamový článok na Wikipédii',
'ta': 'விக்கிப்பீடியா:பட்டியலிடல்',
'yi': 'וויקימעדיע ליסטע',
'zh-cn': '列表',
'zh-hk': '維基列表條目'
}
};
/////////////////////////LISTES/////////////////////////
( function ( mw, $ ) {
/*
** Return item Number.
*/
var itemId = mw.config.get( 'wbEntityId' );
if ( !itemId ) {
return;
}
//importScript( 'User:' + mw.config.get( 'wgUserName' ) + '/autoEditLists.js' );
// mw.loader.load('//www.wikidata.org/w/index.php?title=User:' + mw.config.get( 'wgUserName' ) + '/autoEditLists.js&action=raw&ctype=text/javascript');
/*
** Localized message.
*/
var transData = {
'en': {
'box-title': 'Automatic addition',
'box-cancel': 'Close',
'box-send': 'Update',
'sended': 'Sent',
'labels': 'Labels',
'descriptions': 'Descriptions',
'parameters': 'Parameters',
'list': 'Lists',
'prefix': 'strip the prefix',
'none': 'None',
'warning-autocheck': 'Update automatically labels',
'warning-message': '<ul><li>Labels checkbox: Update automatically the label of all language thanks to the interwiki site links.</li><li>Descriptions checkbox: Update automatically the description thanks to a list that you can custom (<a href="//www.wikidata.org/w/index.php?title=User:'+wgUserName+'/autoEditLists.js&action=edit&editintro=User talk:Jitrixis/autoEdit.js/editintro">link</a>).</li></ul>',
// DO NOT TRANSLATE. ///// If your reading direction is left to right, /////
// if not translate by ('floatRight': 'left','floatLeft': 'right') /////////
'floatRight': 'right',
'floatLeft': 'left'
// DO NOT TRANSLATE. ///////////////////////////////////////////////////////
},
'fr': {
'box-title': 'Ajout automatique',
'box-cancel': 'Fermer',
'box-send': 'Mettre à jour',
'sended': 'Envoyés',
'labels': 'Libellés',
'descriptions': 'Descriptions',
'parameters': 'Parameters',
'list': 'Listes',
'prefix': 'strip the prefix',
'none': 'Aucune',
'warning-autocheck': 'Met à jour automatiquement les libellés',
'warning-message': '<ul><li>L\'option "libellés" : Ajoute automatiquement le libellé de toutes les langues grâce aux liens interwiki.</li><li>L\'option "description" : Ajoute automatiquement la description grâce à une liste que vous pouvez personnaliser (<a href="//www.wikidata.org/w/index.php?title=User:'+wgUserName+'/autoEditLists.js&action=edit&editintro=User talk:Jitrixis/autoEdit.js/editintro">lien</a>).</li></ul>'
},
};
/*
** Check if main language can be translated.
*/
var lang = mw.config.get( 'wgUserLanguage' );
if ( ! transData.hasOwnProperty( lang ) ) {
lang = 'en';
}
/*
** Return localized message.
*/
function translate( key ) {
if ( transData[ lang ].hasOwnProperty( key ) ) {
return transData[ lang ][ key ];
} else {
return transData[ 'en' ][ key ];
}
}
/**
* Return the language code from the ID of the Wiki
*/
function getLanguageCodeFromWikiId( wiki ) {
if ( wiki === 'alswiki' ) {
return 'gsw';
} else if ( wiki === 'crhwiki' ) {
return 'crh-latn';
} else if ( wiki === 'nowiki' ) {
return 'nb';
} else if ( wiki === 'simplewiki' ) {
return 'en';
} else if ( wiki === 'bat_smgwiki' ) {
return 'sgs';
} else if ( wiki === 'be_x_oldwiki' ) {
return 'be-tarask';
} else if ( wiki === 'fui_vrowiki' ) {
return 'vro';
} else if ( wiki === 'roa_rupwiki' ) {
return 'rup';
} else if ( wiki === 'zh_classicalwiki' ) {
return 'lzh';
} else if ( wiki === 'zh_min_nanwiki' ) {
return 'nan';
} else if ( wiki === 'zh_yuewiki' ) {
return 'yue';
}
if ( wiki == 'commonswiki' ) {
return false;
}
var splited = wiki.match( /^(.*)(wiki)$/i );
if ( splited ) {
return splited[1].replace( /_/g, '-' );
}
return false;
}
/*
** Dialog and link
*/
function labelLister() {
var nb, selectButton = "";
for ( nb in desclist ) {
if ( desclist[nb][mw.user.options.get( 'language' )] ) {
selectButton += '<option value="' + nb + '">' + desclist[nb][mw.user.options.get( 'language' )] + ' (' + nb + ')</option>';
} else if ( desclist[nb]['en'] ) {
selectButton += '<option value="' + nb + '">' + desclist[nb]['en'] + ' (' + nb + ')</option>';
} else {
selectButton += '<option value="' + nb + '">' + nb + '</option>';
}
}
desclist['none'] = {};
mw.loader.using( ['jquery.ui'], function () {
var formFind, messageFind;
formFind = '<div id="autoEdit" title=""><form id="editForm"><div id="autoEdit-main">' + translate( 'warning-message' ) + '<fieldset><legend>' + translate( 'box-send' ) + ' :</legend><input type="checkbox" id="autoEdit-label"/><label for="autoEdit-label">' + translate( 'labels' ) + '</label> <input type="checkbox" id="autoEdit-desc" checked/><label for="autoEdit-desc">' + translate( 'descriptions' ) + '</label></fieldset><fieldset><legend>' + translate( 'parameters' ) + '</legend><label for="autoEdit-liste">' + translate( 'list' ) + ' :</label><select id="autoEdit-list" style="width:90%"><option value="malegivenname" selected="selected">' + translate( 'none' ) + '</option>' + selectButton;
formFind += '</select><br/><br/><hr style="clear:both"/><input type="checkbox" id="autoEdit-prefix"><label for="autoEdit-prefix">' + translate( 'prefix' ) + '</label></fieldset></div><div id="autoEdit-success" style="width:100%"></div></form></div>';
if ( document.getElementById( 'content' ) ) {
messageFind = $( formFind ).appendTo( '#content' );
} else {
messageFind = $( formFind ).appendTo( '#mw_content' );
}
messageFind.dialog( {
title: '<img id="autoEdit-logo" src="//upload.wikimedia.org/wikipedia/commons/2/28/Symbol_arrow_up.svg" style="color:black;width:20px">' + translate( 'box-title' ),
autoOpen: false,
modal: true,
width: 500,
//height: 355,
show: 'blind',
hide: 'blind',
buttons: [ {
text: '[X] ' + translate( 'labels' ),
id: 'autoCheckLabels',
title: translate( 'warning-autocheck' ),
click: function () {
document.getElementById( 'autoEdit-label' ).checked = true;
document.getElementById( 'autoEdit-main' ).style.display = 'none';
var loader = '<img style="margin-left:45%" id="autoEdit-loader" src="//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif"/><br/>';
$( '#autoEdit-success' ).append( loader );
labelListing();
}
},{
text: translate( 'box-cancel' ),
click: function () {
$( this ).dialog( 'close' );
}
},{
text: translate( 'box-send' ),
click: function () {
document.getElementById( 'autoEdit-main' ).style.display = 'none';
var loader = '<img style="margin-left:45%" id="autoEdit-loader" src="//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif"/><br/>';
$( '#autoEdit-success' ).append( loader );
labelListing();
}
} ]
} );
// ADD PlUG-IN TO LABELLISTER
var plugin = '<a style="text-align:center;font-size:0.7em" href="#" class="PGautoedit" alt="' + translate( 'box-title' ) + '"><span style="font-color:green">' + translate( 'box-title' ) + '</span></a>';
$( '#labelLister-plugin' ).append( plugin );
$( '.PGautoedit' ).click( function () {
$( '#autoEdit-success' ).empty();
document.getElementById( 'autoEdit-main' ).style.display = 'inline';
$( '.ui-dialog-buttonset' ).css( 'width', '100%' );
$( '.ui-button' ).css( 'float', translate( 'floatRight' ) );
$( 'div#autoEdit' ).dialog( 'open' );
$( '#autoCheckLabels' ).css( 'float', translate( 'floatLeft' ) );
} );
var portletLink = mw.util.addPortletLink( 'p-tb', '#', translate( 'box-title' ), 't-autoEdit', translate( 'box-title' ) );
$( portletLink ).click( function () {
$( '#autoEdit-success' ).empty();
document.getElementById( 'autoEdit-main' ).style.display = 'inline';
$( '.ui-dialog-buttonset' ).css( 'width', '100%' );
$( '.ui-button' ).css( 'float', translate( 'floatRight' ) );
$( 'div#autoEdit' ).dialog( 'open' );
$( '#autoCheckLabels' ).css( 'float', translate( 'floatLeft' ) );
return false;
} );
} );
}
/*
** List label, description and sitelinks
*/
function labelListing() {
$.ajax( {
url: mw.util.wikiScript( 'api' ),
data: {
'format': 'json',
'action': 'wbgetentities',
'ids': itemId,
'props': 'labels|descriptions|sitelinks'
}
} )
.done( function ( data ) {
var id, sitelink, entity = data.entities[itemId], iwiki = {}, inputSelect = $( '#autoEdit-list' ).val();
for ( id in entity.sitelinks ) {
sitelink = entity.sitelinks[id];
if ( document.getElementById( 'autoEdit-prefix' ).checked ) {
sitelink.title = sitelink.title.replace( /^(.*:)*/g, "" );
}
if ( getLanguageCodeFromWikiId( id ) ) {
iwiki[getLanguageCodeFromWikiId( id )] = sitelink.title.replace( /\(.*\)/g, "" ); // Delete Disambiguation
}
if ( id === 'enwiki' ) {
iwiki['en-ca'] = iwiki['en'];
iwiki['en-gb'] = iwiki['en'];
} else if ( id === 'ptwiki' ) {
iwiki['pt-br'] = iwiki['pt'];
} else if ( id === 'dewiki' ) {
iwiki['de'] = sitelink.title.replace( / \(.*?\)$/, "" );
// iwiki['de-formal'] = sitelink.title.replace( /\(.*\)/g, "" ); Disabled per talk page oldid=29709890
if ( iwiki['de'].indexOf( "ß" ) !== -1 ) {
iwiki['de-ch'] = iwiki['de'].replace( /ß/g, "ss" );
}
} else if ( id === 'fawiki' ) {
iwiki['fa'] = sitelink.title; // In Farsi () are important
} else if ( id === 'nowiki' ) {
iwiki['nb'] = sitelink.title.replace( / \(.*?\)$/, "" );
}
}
for ( id in entity.labels ) {
//if ( iwiki[id] ) {
try {
delete iwiki[id];
} catch ( err ) {
}
//}
}
for ( id in entity.descriptions ) {
//if ( desclist[inputSelect][id] ) {
try {
delete desclist[inputSelect][id];
} catch ( err ) {
}
//}
}
sendItem( iwiki, desclist[inputSelect] );
} )
.fail( function () {
mw.notify( 'API Error', { title: 'autoEdit.js:', tag: 'autoEdit' } );
} );
}
/*
** Send the input value on the edit menu
*/
function setItem( item, summary, summarynotify ) {
$.ajax( {
type: 'POST',
url: mw.util.wikiScript( 'api' ),
data: {
'format': 'json',
'action': 'wbeditentity',
'id': itemId,
'token': mw.user.tokens.get( 'csrfToken' ),
'data': item,
'summary': '[[MediaWiki talk:Gadget-autoEdit.js|autoEdit]] ' + summary,
'exclude': 'pageid|ns|title|lastrevid|touched|sitelinks|aliases'
}
} )
.done( function ( data ) {
if ( data.success === 1 ) {
mw.notify( translate( 'sended' ) + summarynotify, { title: 'autoEdit.js:', tag: 'autoEdit' } );
$( '#autoEdit' ).dialog( 'close' );
} else {
$( '#autoEdit-success' ).empty();
mw.notify( 'Error: ' + JSON.stringify( data ), { title: 'autoEdit.js:', tag: 'autoEdit' } );
$( '#autoEdit-success' ).append( 'Error: ' );
$( '#autoEdit-success' ).append( JSON.stringify( data ) );
}
} )
.fail( function ( data ) {
$( '#autoEdit' ).append( JSON.stringify( data.success ) );
} );
}
/*
** Control how to send an item
*/
function sendItem( lbl, desc ) {
var nb;
var inputLabel = document.getElementById( 'autoEdit-label' ).checked;
var inputDesc = document.getElementById( 'autoEdit-desc' ).checked;
var inputSelect = $( '#autoEdit-list' ).val();
var sommaire = "Update ";
var summarynotify = " → ";
// CREATE LABEL SAVE
var jsonLabel = [];
if ( inputLabel ) {
for ( nb in lbl ) {
if ( lbl.hasOwnProperty( nb ) ) {
jsonLabel.push( {
language: nb,
value: lbl[nb]
} );
}
}
sommaire += "Labels ";
summarynotify += translate( 'labels' ) + " ";
}
// CREATE DESCRIPTION SAVE
var jsonDesc = [];
if ( inputDesc ) {
for ( nb in desc ) {
if ( desc.hasOwnProperty( nb ) ) {
jsonDesc.push( {
language: nb,
value: desc[nb]
} );
}
}
sommaire += "Descriptions (" + inputSelect + ")";
summarynotify += translate( 'descriptions' ) + " (" + inputSelect + ")";
}
setItem( JSON.stringify( { 'labels': jsonLabel, 'descriptions': jsonDesc } ), sommaire, summarynotify );
}
$( labelLister );
} ( mediaWiki, jQuery ) );