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>&nbsp;&nbsp;&nbsp;<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 ) );