MediaWiki:Gadget-CeviriEkleyici-Veri.js

Merhaba, buraya MediaWiki:Gadget-CeviriEkleyici-Veri.js kelimesinin anlamını aramaya geldiniz. DICTIOUS'da MediaWiki:Gadget-CeviriEkleyici-Veri.js kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve MediaWiki:Gadget-CeviriEkleyici-Veri.js kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. MediaWiki:Gadget-CeviriEkleyici-Veri.js kelimesi hakkında bilmeniz gereken her şey burada. MediaWiki:Gadget-CeviriEkleyici-Veri.js kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
// {{documentation}}
// <nowiki>
// implicit dependencies : ext.gadget.LanguageUtils
/* jshint maxerr:1048576, strict:true, undef:true, latedef:true, es5:true */
/* global $, ScriptUtils */

window.LangMetadata = function() {
	//Singleton
	if (arguments.callee.instance)
		return arguments.callee.instance;
	else
		arguments.callee.instance = this;

	// {{{ Metadata dictionaries
	// FIXME: Is it possible to query this information directly from ]?
	var metadata = {
		aa: {
			haswikt: 1,
			sc: 
		},
		ab: {
			haswikt: 1,
			sc: 
		},
		aer: {
			sc: "Latn"
		},
		af: {
			g: ,
			haswikt: 1
		},
		ak: {
			haswikt: 1
		},
		akk: {
			g: ,
			sc: "Xsux"
		},
		als: {
			haswikt: 1
		},
		am: {
			g: ,
			haswikt: 1,
			sc: "Ethi"
		},
		an: {
			g: ,
			haswikt: 1
		},
		ang: {
			alt: 1,
			g: ,
			haswikt: 1
		},
		ar: {
			alt: 1,
			g: ,
			haswikt: 1,
			sc: "Arab"
		},
		arc: {
			g: ,
			sc: 
		},
		are: {},
		arz: {
			alt: 1,
			g: ,
			sc: "Arab"
		},
		as: {
			haswikt: 1,
			sc: "Beng"
		},
		ast: {
			g: ,
			haswikt: 1
		},
		av: {
			haswikt: 1
		},
		ay: {
			haswikt: 1
		},
		az: {
			g: ,
			haswikt: 1,
			sc: 
		},
		ba: {
			sc: "Cyrl"
		},
		bar: {},
		"bat-smg": {
			g: 
		},
		bbl: {
			sc: "Geor"
		},
		be: {
			g: ,
			haswikt: 1,
			sc: "Cyrl"
		},
		"be-x-old": {
			sc: "Cyrl"
		},
		bg: {
			g: ,
			haswikt: 1,
			sc: "Cyrl"
		},
		bh: {
			haswikt: 1,
			sc: "Deva"
		},
		bhb: {
			sc: "Deva"
		},
		bi: {
			haswikt: 1
		},
		blt: {
			sc: "Tavt"
		},
		bm: {
			haswikt: 1,
			sc: 
		},
		bn: {
			haswikt: 1,
			sc: "Beng"
		},
		bo: {
			haswikt: 1,
			sc: "Tibt"
		},
		br: {
			g: ,
			haswikt: 1
		},
		ca: {
			g: ,
			haswikt: 1
		},
		cdo: {
			sc: "Hani"
		},
		ce: {
			sc: "Cyrl"
		},
		ch: {
			haswikt: 1
		},
		chr: {
			haswikt: 1,
			sc: "Cher"
		},
		cjy: {
			sc: "Hani"
		},
		ckb: {
			wiktprefix: "ku",
			sc: "Arab",
			wsc: "ku-Arab"
		},
		cmn: {
			sc: "Hani",
			wiktprefix: "zh"
		},
		co: {
			haswikt: 1
		},
		cpx: {
			sc: "Hani"
		},
		cr: {
			haswikt: 1,
			sc: "Cans"
		},
		crh: {},
		cs: {
			g: ,
			haswikt: 1
		},
		csb: {
			g: ,
			haswikt: 1
		},
		cu: {
			g: ,
			sc: 
		},
		cv: {
			sc: "Cyrl"
		},
		cy: {
			g: ,
			haswikt: 1
		},
		czh: {
			sc: "Hani"
		},
		czo: {
			sc: "Hani"
		},
		da: {
			g: ,
			haswikt: 1
		},
		dax: {},
		de: {
			g: ,
			haswikt: 1
		},
		dhg: {},
		djb: {},
		dji: {},
		djr: {},
		dng: {
			sc: "Cyrl"
		},
		dsb: {
			g: 
		},
		dsx: {},
		duj: {},
		dv: {
			g: ,
			haswikt: 1,
			sc: "Thaa"
		},
		dz: {
			haswikt: 1,
			sc: "Tibt"
		},
		el: {
			g: ,
			haswikt: 1
		},
		en: {
			g: ,
			haswikt: 1
		},
		eo: {
			g: ,
			haswikt: 1
		},
		es: {
			g: ,
			haswikt: 1
		},
		et: {
			g: ,
			haswikt: 1
		},
		ett: {
			g: ,
			sc: "Ital"
		},
		eu: {
			g: ,
			haswikt: 1
		},
		fa: {
			haswikt: 1,
			sc: "Arab",
			wsc: "fa-Arab"
		},
		fi: {
			g: ,
			haswikt: 1
		},
		fil: {},
		fj: {
			haswikt: 1
		},
		fo: {
			g: ,
			haswikt: 1
		},
		fr: {
			g: ,
			haswikt: 1
		},
		frm: {
			g: 
		},
		fro: {
			g: 
		},
		fy: {
			g: ,
			haswikt: 1
		},
		ga: {
			g: ,
			haswikt: 1
		},
		gan: {
			sc: "Hani"
		},
		gd: {
			g: ,
			haswikt: 1
		},
		gez: {
			sc: "Ethi"
		},
		gl: {
			g: ,
			haswikt: 1
		},
		gmy: {
			sc: "Linb"
		},
		gn: {
			haswikt: 1
		},
		gnn: {
			sc: "Latn"
		},
		got: {
			g: ,
			sc: "Goth"
		},
		grc: {
			g: 
		},
		gu: {
			g: ,
			haswikt: 1,
			sc: "Gujr"
		},
		guf: {
			sc: "Latn"
		},
		gv: {
			haswikt: 1
		},
		ha: {
			haswikt: 1
		},
		hak: {
			sc: "Hani"
		},
		har: {
			sc: "Ethi"
		},
		he: {
			alt: 1,
			g: ,
			haswikt: 1,
			sc: "Hebr"
		},
		hi: {
			g: ,
			haswikt: 1,
			sc: "Deva"
		},
		hif: {
			sc: 
		},
		hit: {
			sc: "Xsux"
		},
		hsb: {
			g: ,
			haswikt: 1
		},
		hsn: {
			sc: "Hani"
		},
		hu: {
			g: ,
			haswikt: 1
		},
		hy: {
			haswikt: 1,
			sc: "Armn"
		},
		ia: {
			haswikt: 1
		},
		id: {
			haswikt: 1
		},
		ie: {
			haswikt: 1
		},
		ik: {
			haswikt: 1
		},
		ike: {
			sc: "Cans"
		},
		ikt: {
			sc: "Cans"
		},
		io: {
			haswikt: 1
		},
		is: {
			g: ,
			haswikt: 1
		},
		it: {
			g: ,
			haswikt: 1
		},
		iu: {
			haswikt: 1,
			sc: "Cans"
		},
		ja: {
			haswikt: 1,
			sc: "Jpan"
		},
		jay: {
			sc: "Latn"
		},
		jbo: {
			haswikt: 1
		},
		jv: {
			haswikt: 1
		},
		ka: {
			haswikt: 1
		}, // script should include "Geok" for Asomtavruli & Nuskhuri but prevents automatic transliteration?
		khb: {
			sc: 
		},
		kjh: {
			sc: "Cyrl"
		},
		kk: {
			haswikt: 1,
			sc: "Cyrl"
		},
		kkh: {
			sc: 
		},
		kl: {
			haswikt: 1
		},
		km: {
			haswikt: 1,
			sc: "Khmr"
		},
		kn: {
			haswikt: 1,
			sc: "Knda"
		},
		kmr: {
			wiktprefix: "ku"
		},
		ko: {
			haswikt: 1,
			sc: "Kore"
		},
		krc: {
			g: ,
			sc: "Cyrl"
		},
		ks: {
			haswikt: 1,
			sc: ,
			wsc: "ks-Arab"
		},
		ku: {
			g: ,
			haswikt: 1,
			sc: ,
			wsc: "ku-Arab"
		},
		kw: {
			haswikt: 1
		},
		ky: {
			haswikt: 1,
			sc: "Cyrl"
		},
		la: {
			alt: 1,
			g: ,
			haswikt: 1
		},
		lb: {
			haswikt: 1
		},
		lez: {
			sc: "Cyrl"
		},
		li: {
			haswikt: 1
		},
		lki: {
			wiktprefix: "ku"
		},
		ln: {
			haswikt: 1
		},
		lo: {
			haswikt: 1,
			sc: "Laoo"
		},
		lt: {
			alt: 1,
			g: ,
			haswikt: 1
		},
		lv: {
			g: ,
			haswikt: 1
		},
		lzz: {
			sc: "Geor"
		},
		mg: {
			haswikt: 1
		},
		mh: {
			haswikt: 1
		},
		mi: {
			g: 0,
			haswikt: 1
		},
		mk: {
			g: ,
			haswikt: 1,
			sc: "Cyrl"
		},
		ml: {
			haswikt: 1,
			sc: "Mlym"
		},
		mn: {
			haswikt: 1,
			sc: 
		},
		mnp: {
			sc: "Hani"
		},
		mo: {
			haswikt: 1,
			sc: "Cyrl"
		},
		mol: {
			sc: "Cyrl"
		},
		mr: {
			g: ,
			haswikt: 1,
			sc: "Deva"
		},
		ms: {
			haswikt: 1,
			sc: 
		},
		mt: {
			g: ,
			haswikt: 1
		},
		mwp: {
			sc: "Latn"
		},
		my: {
			haswikt: 1,
			sc: "Mymr"
		},
		na: {
			haswikt: 1
		},
		nah: {
			haswikt: 1
		},
		nan: {
			wiktprefix: "zh-min-nan",
			sc: "Hani"
		},
		nb: {
			g: ,
			wiktprefix: "no"
		},
		"nds-de": {
			g: ,
			wiktprefix: "nds"
		},
		"nds-nl": {
			g: ,
			wiktprefix: "nds"
		},
		ne: {
			haswikt: 1,
			sc: "Deva"
		},
		nl: {
			g: ,
			haswikt: 1
		},
		nn: {
			g: ,
			haswikt: 1
		},
		no: {
			g: ,
			haswikt: 1
		},
		nod: {
			sc: "Lana"
		},
		non: {
			g: 
		},
		oc: {
			g: ,
			haswikt: 1
		},
		om: {
			haswikt: 1
		},
		or: {
			haswikt: 1,
			sc: "Orya"
		},
		orv: {
			g: ,
			sc: "Cyrs"
		},
		osc: {
			sc: "Ital"
		},
		ota: {
			sc: "Arab",
			wsc: "ota-Arab"
		},
		pa: {
			g: ,
			haswikt: 1,
			sc: 
		},
		pdt: {
			g: ,
			wiktprefix: "nds"
		},
		peo: {
			sc: "Xpeo"
		},
		phn: {
			sc: "Phnx"
		},
		pi: {
			g: ,
			haswikt: 1
		},
		pjt: {
			sc: "Latn"
		},
		pl: {
			g: ,
			haswikt: 1
		},
		pox: {
			g: 
		},
		ps: {
			g: ,
			haswikt: 1,
			sc: "Arab",
			wsc: "ps-Arab"
		},
		pt: {
			g: ,
			haswikt: 1
		},
		qu: {
			haswikt: 1
		},
		rit: {
			sc: "Latn"
		},
		rm: {
			g: ,
			haswikt: 1
		},
		rn: {
			haswikt: 1
		},
		ro: {
			g: ,
			haswikt: 1,
			sc: 
		},
		"roa-rup": {
			haswikt: 1
		},
		ru: {
			alt: 1,
			g: ,
			haswikt: 1,
			sc: "Cyrl"
		},
		rue: {
			g: ,
			sc: "Cyrl"
		},
		ruo: {
			g: 
		},
		rup: {
			g: ,
			wiktprefix: "roa-rup"
		},
		ruq: {
			g: 
		},
		rw: {
			haswikt: 1
		},
		sa: {
			g: ,
			haswikt: 1,
			sc: "Deva"
		},
		sah: {
			sc: "Cyrl"
		},
		sc: {
			haswikt: 1
		},
		scn: {
			g: ,
			haswikt: 1
		},
		sco: {
			sc: "Latn"
		},
		sd: {
			haswikt: 1,
			sc: "Arab",
			wsc: "sd-Arab"
		},
		sdh: {
			wiktprefix: "ku"
		},
		sg: {
			haswikt: 1
		},
		sh: {
			alt: 1,
			g: ,
			haswikt: 1,
			sc: 
		},
		si: {
			haswikt: 1,
			sc: "Sinh"
		},
		simple: {
			haswikt: 1
		},
		sk: {
			g: ,
			haswikt: 1
		},
		sl: {
			alt: 1,
			g: ,
			haswikt: 1
		},
		sm: {
			haswikt: 1
		},
		sn: {
			haswikt: 1
		},
		so: {
			haswikt: 1
		},
		spx: {
			sc: "Ital"
		},
		sq: {
			g: ,
			haswikt: 1
		},
		ss: {
			haswikt: 1
		},
		st: {
			haswikt: 1
		},
		su: {
			haswikt: 1
		},
		sux: {
			sc: "Xsux"
		},
		sv: {
			g: ,
			haswikt: 1
		},
		sva: {
			sc: "Geor"
		},
		sw: {
			nclass: 1,
			haswikt: 1
		},
		syc: {
			sc: "Syrc"
		},
		syr: {
			sc: "Syrc"
		},
		szl: {
			g: 
		},
		ta: {
			haswikt: 1,
			sc: "Taml"
		},
		tdd: {
			sc: "Tale"
		},
		te: {
			haswikt: 1,
			sc: "Telu"
		},
		tg: {
			haswikt: 1
		},
		th: {
			haswikt: 1,
			sc: "Thai"
		},
		ti: {
			haswikt: 1,
			sc: "Ethi"
		},
		tig: {
			sc: "Ethi"
		},
		tiw: {
			sc: "Latn"
		},
		tk: {
			haswikt: 1
		},
		tl: {
			haswikt: 1,
			sc: 
		},
		tmr: {
			sc: "Hebr"
		},
		tn: {
			haswikt: 1
		},
		to: {
			haswikt: 1
		},
		tpi: {
			haswikt: 1
		},
		tr: {
			g: ,
			alt: 1,
			haswikt: 1
		},
		ts: {
			haswikt: 1
		},
		tt: {
			haswikt: 1
		},
		tts: {
			sc: "Thai"
		},
		tw: {
			haswikt: 1
		},
		udi: {
			sc: 
		},
		ug: {
			haswikt: 1,
			sc: "Arab",
			wsc: "ug-Arab"
		},
		uga: {
			sc: "Ugar"
		},
		uk: {
			g: ,
			haswikt: 1,
			sc: "Cyrl"
		},
		ulk: {
			sc: "Latn"
		},
		ur: {
			g: ,
			haswikt: 1,
			sc: "Arab",
			wsc: "ur-Arab"
		},
		uz: {
			haswikt: 1
		},
		vec: {
			g: ,
			haswikt: 1
		},
		vi: {
			haswikt: 1
		},
		vls: {
			g: 
		},
		vo: {
			haswikt: 1
		},
		wa: {
			haswikt: 1
		},
		wbp: {
			sc: "Latn"
		},
		wo: {
			haswikt: 1
		},
		wuu: {
			sc: "Hani"
		},
		xae: {
			sc: "Ital"
		},
		xcr: {
			sc: "Cari"
		},
		xfa: {
			sc: "Ital"
		},
		xh: {
			alt: 1,
			nclass: 1,
			haswikt: 1
		},
		xlc: {
			sc: "Lyci"
		},
		xld: {
			sc: "Lydi"
		},
		xlu: {
			sc: "Xsux"
		},
		xmf: {
			sc: "Geor"
		},
		xno: {
			g: 
		},
		xrr: {
			sc: "Ital"
		},
		xst: {
			sc: "Ethi"
		},
		xum: {
			sc: "Ital"
		},
		xve: {
			sc: "Ital"
		},
		xvo: {
			sc: "Ital"
		},
		yi: {
			g: ,
			haswikt: 1,
			sc: "Hebr"
		},
		yo: {
			haswikt: 1
		},
		yua: {
			g: ,
			alt: 1
		},
		yue: {
			sc: "Hani"
		},
		za: {
			haswikt: 1,
			sc: "Latn"
		},
		"zh-classical": {
			sc: "Hani"
		},
		"zh-min-nan": {
			haswikt: 1
		},
		"zh-yue": {
			sc: "Hani"
		},
		zu: {
			alt: 1,
			nclass: 1,
			haswikt: 1
		}
	};

	var clean = {
		aar: "aa",
		afar: "aa",
		abk: "ab",
		abkhazian: "ab",
		afr: "af",
		afrikaans: "af",
		aka: "ak",
		akan: "ak",
		amh: "am",
		amharic: "am",
		ara: "ar",
		arabic: "ar",
		arg: "an",
		aragonese: "an",
		asm: "as",
		assamese: "as",
		ava: "av",
		avaric: "av",
		ave: "ae",
		avestan: "ae",
		aym: "ay",
		aymara: "ay",
		aze: "az",
		azerbaijani: "az",
		bak: "ba",
		bashkir: "ba",
		bam: "bm",
		bambara: "bm",
		bel: "be",
		belarusian: "be",
		ben: "bn",
		bengali: "bn",
		bis: "bi",
		bislama: "bi",
		bod: "bo",
		tibetan: "bo",
		bs: "sh",
		bos: "sh",
		bosnian: "sh",
		bre: "br",
		breton: "br",
		bul: "bg",
		bulgarian: "bg",
		cat: "ca",
		catalan: "ca",
		ces: "cs",
		czech: "cs",
		cha: "ch",
		chamorro: "ch",
		che: "ce",
		chechen: "ce",
		chu: "cu",
		churchslavic: "cu",
		chv: "cv",
		chuvash: "cv",
		cor: "kw",
		cornish: "kw",
		cos: "co",
		corsican: "co",
		cre: "cr",
		cree: "cr",
		cym: "cy",
		welsh: "cy",
		dan: "da",
		danish: "da",
		deu: "de",
		german: "de",
		div: "dv",
		dhivehi: "dv",
		dzo: "dz",
		dzongkha: "dz",
		ekk: "et",
		ell: "el",
		greek: "el",
		eng: "en",
		english: "en",
		epo: "eo",
		esperanto: "eo",
		est: "et",
		estonian: "et",
		eus: "eu",
		basque: "eu",
		ewe: "ee",
		fao: "fo",
		faroese: "fo",
		fas: "fa",
		persian: "fa",
		fij: "fj",
		fijian: "fj",
		fil: "tl",
		fin: "fi",
		finnish: "fi",
		fra: "fr",
		french: "fr",
		fry: "fy",
		westernfrisian: "fy",
		ful: "ff",
		fulah: "ff",
		gla: "gd",
		scottishgaelic: "gd",
		gle: "ga",
		irish: "ga",
		glg: "gl",
		galician: "gl",
		glv: "gv",
		manx: "gv",
		grn: "gn",
		guarani: "gn",
		guj: "gu",
		gujarati: "gu",
		hat: "ht",
		haitian: "ht",
		hau: "ha",
		hausa: "ha",
		heb: "he",
		hebrew: "he",
		her: "hz",
		herero: "hz",
		hin: "hi",
		hindi: "hi",
		hmo: "ho",
		hirimotu: "ho",
		hr: "sh",
		hrv: "sh",
		croatian: "sh",
		hun: "hu",
		hungarian: "hu",
		hye: "hy",
		armenian: "hy",
		ibo: "ig",
		igbo: "ig",
		ido: "io",
		iii: "ii",
		sichuanyi: "ii",
		iku: "iu",
		inuktitut: "iu",
		ile: "ie",
		interlingue: "ie",
		ina: "ia",
		interlingua: "ia",
		ind: "id",
		indonesian: "id",
		ipk: "ik",
		inupiaq: "ik",
		isl: "is",
		icelandic: "is",
		ita: "it",
		italian: "it",
		jav: "jv",
		javanese: "jv",
		jpn: "ja",
		japanese: "ja",
		kal: "kl",
		kalaallisut: "kl",
		kan: "kn",
		kannada: "kn",
		kas: "ks",
		kashmiri: "ks",
		kat: "ka",
		georgian: "ka",
		kau: "kr",
		kanuri: "kr",
		kaz: "kk",
		kazakh: "kk",
		khm: "km",
		centralkhmer: "km",
		kik: "ki",
		kikuyu: "ki",
		kin: "rw",
		kinyarwanda: "rw",
		kir: "ky",
		kirghiz: "ky",
		kom: "kv",
		komi: "kv",
		kon: "kg",
		kongo: "kg",
		kor: "ko",
		korean: "ko",
		ksh: "gmw-cfr",
		kua: "kj",
		kuanyama: "kj",
		kur: "ku",
		kurdish: "ku",
		lao: "lo",
		lat: "la",
		latin: "la",
		lav: "lv",
		latvian: "lv",
		lim: "li",
		limburgan: "li",
		lin: "ln",
		lingala: "ln",
		lit: "lt",
		lithuanian: "lt",
		ltz: "lb",
		luxembourgish: "lb",
		lub: "lu",
		lubakatanga: "lu",
		lug: "lg",
		ganda: "lg",
		mah: "mh",
		marshallese: "mh",
		mal: "ml",
		malayalam: "ml",
		mar: "mr",
		marathi: "mr",
		mhr: "chm",
		mari: "chm",
		mkd: "mk",
		macedonian: "mk",
		mlg: "mg",
		malagasy: "mg",
		mlt: "mt",
		maltese: "mt",
		mon: "mn",
		mongolian: "mn",
		mri: "mi",
		maori: "mi",
		msa: "ms",
		malay: "ms",
		mya: "my",
		burmese: "my",
		nau: "na",
		nauru: "na",
		wep: "nds-de",
		westphalian: "nds-de",
		germanlowgerman: "nds-de",
		dutchlowsaxon: "nds-nl",
		act: "nds-nl",
		achterhoeks: "nds-nl",
		drt: "nds-nl",
		drents: "nds-nl",
		gos: "nds-nl",
		gronings: "nds-nl",
		sdz: "nds-nl",
		sallands: "nds-nl",
		stl: "nds-nl",
		stellingwerfs: "nds-nl",
		twd: "nds-nl",
		twents: "nds-nl",
		vel: "nds-nl",
		veluws: "nds-nl",
		nav: "nv",
		navajo: "nv",
		nbl: "nr",
		southndebele: "nr",
		nde: "nd",
		northndebele: "nd",
		ndo: "ng",
		ndonga: "ng",
		nep: "ne",
		nepali: "ne",
		nld: "nl",
		dutch: "nl",
		flemish: "nl",
		nno: "nn",
		norwegiannynorsk: "nn",
		nob: "nb",
		norwegianbokmal: "nb",
		nor: "no",
		norwegian: "no",
		nya: "ny",
		nyanja: "ny",
		oci: "oc",
		occitan: "oc",
		oji: "oj",
		ojibwa: "oj",
		ori: "or",
		oriya: "or",
		orm: "om",
		oromo: "om",
		oss: "os",
		ossetian: "os",
		pan: "pa",
		panjabi: "pa",
		pfl: "gmw-rfr",
		pli: "pi",
		pali: "pi",
		pol: "pl",
		polish: "pl",
		por: "pt",
		portuguese: "pt",
		pus: "ps",
		pushto: "ps",
		que: "qu",
		quechua: "qu",
		roh: "rm",
		romansh: "rm",
		ron: "ro",
		romanian: "ro",
		rn: "rw",
		run: "rw",
		rundi: "rw",
		rus: "ru",
		russian: "ru",
		sag: "sg",
		sango: "sg",
		san: "sa",
		sanskrit: "sa",
		sin: "si",
		sinhala: "si",
		slk: "sk",
		slovak: "sk",
		slv: "sl",
		slovenian: "sl",
		sme: "se",
		northernsami: "se",
		smo: "sm",
		samoan: "sm",
		sna: "sn",
		shona: "sn",
		snd: "sd",
		sindhi: "sd",
		som: "so",
		somali: "so",
		sot: "st",
		southernsotho: "st",
		spa: "es",
		spanish: "es",
		sqi: "sq",
		albanian: "sq",
		srd: "sc",
		sardinian: "sc",
		sr: "sh",
		srp: "sh",
		serbian: "sh",
		ssw: "ss",
		swati: "ss",
		sun: "su",
		sundanese: "su",
		swa: "sw",
		swahili: "sw",
		swe: "sv",
		swedish: "sv",
		tah: "ty",
		tahitian: "ty",
		tam: "ta",
		tamil: "ta",
		tat: "tt",
		tatar: "tt",
		tel: "te",
		telugu: "te",
		tgk: "tg",
		taishanese: "zhx-tai",
		tajik: "tg",
		tgl: "tl",
		tagalog: "tl",
		teochew: "zhx-teo",
		tha: "th",
		thai: "th",
		tir: "ti",
		tigrinya: "ti",
		ton: "to",
		tonga: "to",
		tsn: "tn",
		tswana: "tn",
		tso: "ts",
		tsonga: "ts",
		tuk: "tk",
		turkmen: "tk",
		tur: "tr",
		turkish: "tr",
		twi: "tw",
		uig: "ug",
		uighur: "ug",
		ukr: "uk",
		ukrainian: "uk",
		urd: "ur",
		urdu: "ur",
		uzb: "uz",
		uzbek: "uz",
		ven: "ve",
		venda: "ve",
		vie: "vi",
		vietnamese: "vi",
		westflemish: "vls",
		vol: "vo",
		volapuk: "vo",
		wln: "wa",
		walloon: "wa",
		wol: "wo",
		wolof: "wo",
		xho: "xh",
		xhosa: "xh",
		yid: "yi",
		yiddish: "yi",
		yor: "yo",
		yoruba: "yo",
		zbc: "lod",
		zbe: "lod",
		zbw: "lod",
		zha: "za",
		zhuang: "za",
		zh: "cmn",
		zho: "cmn",
		chinese: "cmn",
		zul: "zu",
		zulu: "zu"
	};
	// }}}

	// FIXME: merge into above
	var c = 'Çince';
	var a = 'Arapça';
	var nesting = {
		aae: 'Arnavutça/Arbëresh',
		aat: 'Arnavutça/Arvanitika',
		als: 'Arnavutça/Tosk',
		aln: 'Arnavutça/Gheg',
		apj: 'Apache',
		apm: 'Apache',
		apw: 'Apache',
		syr: 'Aramaic',
		syc: 'Aramaic',
		xcl: 'Ermenice',
		axm: 'Ermenice',
		// ang:'English',enm:'English', don't nest English (Encyclopetey)
		fro: 'Fransızca',
		frm: 'Fransızca',
		oge: 'Gürcüce',
		gsw: 'Almanca',
		ksh: 'Almanca',
		pfl: 'Almanca',
		//gmh:'Almanca',goh:'Almanca', don't nest OHG/MHG (-sche)
		grc: 'Yunanca/Ancient',
		gmy: 'Yunanca/Mycenaean', //el:'Yunanca/Modern', don't nest Modern Greek (Atelaes)
		chm: 'Mari/Eastern Mari',
		sga: 'İrlandaca',
		mga: 'İrlandaca',
		kmr: 'Kürtçe/Northern Kurdish',
		ckb: 'Kürtçe/Central Kurdish',
		sdh: 'Kürtçe/Southern Kurdish',
		lki: 'Kürtçe/Laki',
		"nds-de": 'Low German',
		"nds-nl": 'Low German',
		nb: 'Norveççe/Bokmål',
		nn: 'Norveççe/Nynorsk',
		mhr: 'Mari',
		mrj: 'Mari/Western Mari',
		cmg: 'Mongolian',
		cst: 'Ohlone/Northern Ohlone',
		css: 'Ohlone/Southern Ohlone',
		rmn: 'Romani',
		rml: 'Romani',
		rmc: 'Romani',
		rmf: 'Romani',
		rmo: 'Romani',
		rmy: 'Romani',
		rmw: 'Romani',
		dsb: 'Sorbian',
		hsb: 'Sorbian',
		osp: 'Spanish',
		tji: 'Tujia/Northern Tujia',
		tjs: 'Tujia/Southern Tujia',
		owl: 'Welsh',
		wlm: 'Welsh',
		"nai-ply": 'Yokuts',
		"nai-bvy": 'Yokuts',
		"nai-tky": 'Yokuts',
		"nai-kry": 'Yokuts',
		"nai-svy": 'Yokuts',
		"nai-nvy": 'Yokuts',
		"nai-dly": 'Yokuts',
		zh: c,
		yue: c,
		dng: c,
		gan: c,
		hak: c,
		czh: c,
		cjy: c,
		cmn: c,
		mnp: c,
		cdo: c,
		nan: c,
		czo: c,
		cpx: c,
		wuu: c,
		hsn: c,
		lzh: c,
		"zhx-teo": c,
		"zhx-tai": c,
		arq: a,
		aao: a,
		bbz: a,
		abv: a,
		shu: a,
		acy: a,
		adf: a,
		avl: a,
		arz: a,
		afb: a,
		ayh: a,
		acw: a,
		ayl: a,
		acm: a,
		ary: a,
		ars: a,
		apc: a,
		ayp: a,
		acx: a,
		aec: a,
		ayn: a,
		ssh: a,
		ajp: a,
		arb: a,
		apd: a,
		pga: a,
		acq: a,
		abh: a,
		aeb: a,
		auz: a
	};

	// These should reflect the replacements made in ], but should not necessarily be equal.
	var diacriticStrippers = {
		ab: {
			from: "ҔҕҦҧ",
			to: "ӶӷԤԥ"
		},
		/** obsolete to new **/
		abq: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		ady: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		av: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		ce: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		dar: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		inh: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		kbd: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		lbe: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		lez: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		tab: {
			from: "Il1",
			to: "ӏӏӏ"
		},
		/** letters and number 1 are used instead of palochka **/
		cv: {
			from: "ĂăĔĕ",
			to: "ӐӑӖӗ"
		},
		/** Roman to Cyrillic**/
		ang: {
			from: "ĀāǢǣĊċĒēĠġĪīŌōŪūȲȳ",
			to: "AaÆæCcEeGgIiOoUuYy",
			strip: "\u0304\u0307"
		}, //macron and above dot
		ar: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		aao: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		acm: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		acx: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		adf: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		aeb: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		afb: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		ajp: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		apc: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		apd: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		arq: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		ary: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		arz: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		fa: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		ps: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		sd: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		ur: {
			strip: "\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652"
		},
		chl: {
			from: "ÁáÉéÍíÓóÚú",
			to: "AaEeIiOoUu",
			strip: "\u0304"
		}, //acute accent
		he: {
			strip: "\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BF\u05C1\u05C2",
			from: "-'\"",
			to: "־׳״"
		},
		la: {
			from: "ĀāĒēĪīŌōŪūȲȳ",
			to: "AaEeIiOoUuYy",
			strip: "\u0304"
		}, //macron
		lt: {
			from: "áãàéẽèìýỹñóõòúù",
			to: "aaaeeeiyynooouu",
			strip: "\u0340\u0301\u0303"
		},
		nci: {
			from: "ĀāĒēĪīŌōŪūȲȳ",
			to: "AaEeIiOoUu",
			strip: "\u0304"
		}, //macron
		ro: {
			from: "ŞŢşţ",
			to: "ȘȚșț"
		},
		//strip ́ and ̀ on Cyrillic Slavic languages, Serbo-Croatian has a longer list
		ru: {
			strip: "\u0300\u0301"
		},
		uk: {
			strip: "\u0300\u0301"
		},
		be: {
			strip: "\u0300\u0301"
		},
		bg: {
			strip: "\u0300\u0301"
		},
		orv: {
			strip: "\u0300\u0301"
		},
		cu: {
			strip: "\u0300\u0301"
		},
		rue: {
			strip: "\u0300\u0301"
		},
		mk: {
			strip: "\u0300\u0301"
		},
		kv: {
			from: "ÖöIi",
			to: "ӦӧІі"
		},
		/** Roman to Cyrillic**/
		koi: {
			from: "ÖöIi",
			to: "ӦӧІі"
		},
		/** Roman to Cyrillic**/
		kpv: {
			from: "ÖöIi",
			to: "ӦӧІі"
		},
		/** Roman to Cyrillic**/
		sh: {
			from: "ȀȁÀàȂȃÁáĀāȄȅÈèȆȇÉéĒēȈȉÌìȊȋÍíĪīȌȍÒòȎȏÓóŌōȐȑȒȓŔŕȔȕÙùȖȗÚúŪūѝӣ",
			to: "AaAaAaAaAaEeEeEeEeEeIiIiIiIiIiOoOoOoOoOoRrRrRrUuUuUuUuUuии",
			strip: "\u030F\u0300\u0311\u0301\u0304"
		},
		sl: {
			from: "áÁàÀâÂȃȂȁȀéÉèÈêÊȇȆȅȄíÍìÌîÎȋȊȉȈóÓòÒôÔȏȎȍȌŕŔȓȒȑȐúÚùÙûÛȗȖȕȔệỆộỘẹẸọỌəł",
			to: "aAaAaAaAaAeEeEeEeEeEiIiIiIiIiIoOoOoOoOoOrRrRrRuUuUuUuUuUeEoOeEoOel",
			strip: "\u0301\u0300\u0302\u0311\u030f\u0323"
		},
		kk: {
			strip: "\u0300\u0301"
		},
		ky: {
			strip: "\u0300\u0301"
		},
		mn: {
			from: "ЄєѲѳЇїVv",
			to: "ӨөӨөҮүҮү",
			strip: "\u0300\u0301"
		},
		tg: {
			strip: "\u0300\u0301"
		},
		sa: {
			strip: "ः"
		},
		/** visarga **/
		bo: {
			strip: "།"
		},
		/** shad **/
		tr: {
			from: "ÂâÛû",
			to: "AaUu",
			strip: "\u0302"
		},
		ja: {
			from: "0123456789",
			to: "0123456789"
		},
		cmn: {
			from: "0123456789",
			to: "0123456789"
		},
		yue: {
			from: "0123456789",
			to: "0123456789"
		},
		nan: {
			from: "0123456789",
			to: "0123456789"
		},
		ko: {
			from: "0123456789",
			to: "0123456789"
		},
		os: {
			from: "Ææ",
			to: "Ӕӕ"
		},
		/** Roman to Cyrillic**/
		uz: {
			from: "'`",
			to: "ʻʻ"
		},
		/** ʻ is a standard symbol in Uzbek but is often replaced with ' or ` **/
		zu: {
			strip_init_hyphen: 1
		}
	};
	
	//Returns true if a Wiktionary exists for the specified language
	this.hasWiktionary = function(lang) {
		if (metadata && (metadata.haswikt || metadata.wiktprefix))
			return true;
};
	//Returns the domain-name prefix of the Wiktionary for the specified language
	this.getWiktionaryPrefix = function(lang) {
		if (metadata)
			return metadata.wiktprefix || (metadata.haswikt && lang);
	};
	
	// Keep this in sync with ignore_caps in ].
	this.ignoreCaps = { "ko": true };
	
	// Calls the callback with a boolean indicating whether the specified language
	// has a Wiktionary with the specified entry. The callback might be called
	// synchronously, or it might be called asynchronously.
	this.hasWiktionaryWithEntry = function(lang, title, callback) {
		if (this.hasWiktionary(lang)) {
			if (this.ignoreCaps)
				title = title.replace(/^\^/, "");
			
			$.getJSON(
				'//' + this.getWiktionaryPrefix(lang) + '.wiktionary.org/w/api.php' +
				'?format=json&action=query&titles=' + encodeURIComponent(title) +
				'&converttitles=1&callback=?',
				function(data) {
					data = data && data.query && data.query.pages;
					if (data) {
						callback(!data);
						return;
					}
					callback(false);
				}
			);
			
		} else
			callback(false);
	};

	//Given a language code return a default script code.
	this.guessScript = function(lang) {
		var scripts = (new AlfabeAraclari()).GetScriptsByLangCode(lang);
		if (scripts && scripts.length > 0) return scripts;
		else return false;
		
		if (metadata) {
			// enwikt language template? (ur-Arab, polytonic)
			if (metadata.wsc) {
				return metadata.wsc;
			}
			// ISO script code? (Arab, Grek)
			if (metadata.sc) {
				if (typeof metadata.sc == 'object')
					return metadata.sc;
				else
					return metadata.sc;
			}
		}

		return false;
	};

	// In a given language, would we expect a translation of the title to have the capitalisation
	// of word?
	this.expectedCase = function(lang, title, word) {
		if (lang == 'de' || lang == 'lb')
			return true;

		if (title.substr(0, 1).toLowerCase() != title.substr(0, 1))
			return true;

		return word.substr(0, 1).toLowerCase() == word.substr(0, 1);
	};

	//Returns a string of standard gender letters (mfnc) or an empty string
	this.getGenders = function(lang) {
		if (metadata)
			return metadata.g;
	};

	//Returns a string of standard noun class numbers or an empty string
	this.hasNounClasses = function(lang) {
		if (metadata)
			return metadata.nclass;
	};

	//Returns true if the specified lang uses optional vowels or diacritics
	this.needsRawPageName = function(lang) {
		if (metadata)
			return metadata.alt && !diacriticStrippers;
	};

	// Computes the raw page name by removing diacritics (for Latin, etc.)
	this.computeRawPageName = function(lang, word) {
		if (diacriticStrippers) {
			var stripper = diacriticStrippers;

			var map = {};

			if (stripper.from && stripper.to) {
				for (var i = 0; i < stripper.from.length; i++) {
					map = stripper.to.charAt(i);
				}
			}
			if (stripper.strip) {
				for (var ii = 0; ii < stripper.strip.length; ii++) {
					map = "";
				}
			}

			var input = word.split("");
			var output = "";

			for (var iii = 0; iii < input.length; iii++) {
				var repl = map];
				output += repl ? repl : input;
			}

			if (stripper.strip_init_hyphen && output.length > 0 && output.charAt(0) == '-')
				output = output.substr(1);

			return output;
		}
	};

	// Calls ]'s 'remove_diacritics' method on word and rawPageName,
	// and invokes callback with two arguments: (1) the *real* raw page name
	// (superseding even rawPageName), and (2) whether this real raw page name
	// needs to be explicitly specified in the wikitext (i.e., whether the raw page
	// name computed from rawPageName is different from the one that would have been
	// computed from just word).
	this.retrieveRawPageName = function(lang, word, rawPageName, callback) {
		var ents = {
			'<': 'lt',
			'&': 'amp',
			'>': 'gt'
		};
		var temps = {
			'|': '!',
			'=': '=',
			'{': '(',
			'}': ')'
		};

		function encode(s) {
			s = s || '';
			s = s.replace(//g, function(c) {
				return '{{' + temps + '}}';
			});
			s = s.replace(//g, function(c) {
				return '&' + ents + ';';
			});
			s = s.replace(/\t/g, ' ');
			//s = encodeURIComponent(s);
			return s;
		}

		function removeDiacritics(s) {
			return '{{#invoke:diller/şablonlar|getirKodaGore|' + lang + '|yapGirdiAdi|' + encode(s) + '}}';
		}

		var text = removeDiacritics(word) + '\t' + removeDiacritics(rawPageName || word);
		$.ajax({
			dataType: "json",
			url: '/w/api.php',
			data: {
				format: 'json',
				action: 'expandtemplates',
				text: text
			},
			success: function(data) {
				data = data && data.expandtemplates && data.expandtemplates;
				if (/<!--/.test(data)) {
					data = false;
				}
				if (data) {
					data = data && data.split('\t');
					var wordMinus = data;
					var rawPageNameMinus = data;
					callback(rawPageNameMinus || wordMinus, rawPageNameMinus != wordMinus);
				} else {
					callback(rawPageName || word, rawPageName && rawPageName != word);
				}
			}
		});
	};

	//Given user input, return a language code. Normalises ISO 639-1 codes and names to 639-3.
	this.cleanLangCode = function(lang) {
		var key = lang.toLowerCase().replace(' ', '');
		if (clean)
			return clean;
		else
			return lang;
	};

	// Get the nesting for a given sub-language
	this.getNested = function(lang) {
		if (nesting)
			return nesting;
		else
			return "";
	};

	function temporalSortKey(langname) {
		return langname.replace(/^(Ancient|Classical|Old|Middle|Early Modern|Modern) (.*)/, function(m, modifier, name) {
			return ({
				Ancient: 0,
				Old: 1,
				Middle: 2,
				"Early Modern": 3,
				Modern: 4
			}) + name;
		});
	}

	// For enforcing an ordering on nested languages.
	this.nestsBefore = function(a, b) {
		return temporalSortKey(a) < temporalSortKey(b);
	};

	this.getScripts = function(lang) {
		var scripts = (new window.AlfabeAraclari()).GetScriptsByLangCode(lang) || ;
		return scripts;
	};
};
//</nowiki>