Kullanıcı:ToprakBot/AWB modülleri/dil

Vikipedi, özgür ansiklopedi
Dil şablonuna çevirici

Uygun yerleri dil şablonu kullanacak şekilde değiştirir. Hatalı pozitif verme olasılığı mevcut. Yarı otomatik kullanılmalı. Çok kontrol yaptığı için yavaş çalışıyor.

//AutoWikiBrowser - Dil şablonu modülü - V2
//Yazar: ToprakM
private static readonly Dictionary<string, string> DilKodlari = new Dictionary<string, string>
{
    {"Abhazca", "ab"},
    {"Adigece", "ady"},
    {"Afarca", "aa"},
    {"Akadca", "akk"},
    {"Aleutça", "ale"},
    {"Almanca", "de"},
    {"Amerikan İngilizcesi", "en-US"},
    {"Amharca", "am"},
    {"Aragonca", "an"},
    {"Aramice", "arc"},
    {"Arapça", "ar"},
    {"Arbıreşçe", "aae"},
    {"Arnavutça", "sq"},
    {"Avarca", "av"},
    {"Avestaca", "ae"},
    {"Avusturya Almancası", "de-AT"},
    {"Aymaraca", "ay"},
    {"Aynuca", "ain"},
    {"Azerice", "az"},
    {"Ağulca", "agx"},
    {"Aşağı Almanca", "nds"},
    {"Aşağı Sorbca", "dsb"},
    {"Balkan Gagavuzcası", "bgx"},
    {"Basitleştirilmiş Çince", "zh-hans"},
    {"Baskça", "eu"},
    {"Batı Apaçicesi", "apw"},
    {"Batı Ermenicesi", "hyw"},
    {"Batı Frizce", "fry"},
    {"Başkurtça", "ba"},
    {"Belarusça", "be"},
    {"Beluçça", "bal"},
    {"Bengalce", "bn"},
    {"Biharca", "bh"},
    {"Birmanca", "my"},
    {"Boşnakça", "bs"},
    {"Bretonca", "br"},
    {"Brezilya Portekizcesi", "pt-BR"},
    {"Britanya İngilizcesi", "en-gb"},
    {"Brohice", "brh"},
    {"Bulgarca", "bg"},
    {"Buryatça", "bua"},
    {"Danca", "da"},
    {"Dargince", "dar"},
    {"Darice", "prs"},
    {"Dağlık Marice", "mrj"},
    {"Derung dili", "duu"},
    {"Divehi", "dv"},
    {"Dunganca", "dng"},
    {"Dzongka", "dz"},
    {"Endonezyaca", "id"},
    {"Ermenice", "hy"},
    {"Erzyanca", "myv"},
    {"Eski Anadolu Türkçesi", "oat"},
    {"Eski Doğu Slavcası", "orv"},
    {"Eski Farsça", "peo"},
    {"Eski İngilizce", "ang"},
    {"Eski İspanyolca", "osp"},
    {"Eski Norsça", "non"},
    {"Eski Türkçe", "otk"},
    {"Eski Yüksek Almanca", "goh"},
    {"Estonca", "et"},
    {"Etrüskçe", "ett"},
    {"Faroece", "fo"},
    {"Farsça", "fa"},
    {"Fas Arapçası", "ary"},
    {"Felemenkçe", "nl"},
    {"Fijice", "fj"},
    {"Filipince", "fil"},
    {"Fince", "fi"},
    {"Fransızca", "fr"},
    {"Frizce", "fy"},
    {"Gagavuzca", "gag"},
    {"Galce", "cy"},
    {"Galiçyaca", "gl"},
    {"Geleneksel Çince", "zh-hant"},
    {"Gotça", "got"},
    {"Grekçe", "grc"},
    {"Grönlandca", "kl"},
    {"Gucaratça", "gu"},
    {"Güney Azerice", "azb"},
    {"Güney Tayca", "sou"},
    {"Gürcüce", "ka"},
    {"Haitice", "ht"},
    {"Hakasça", "kjh"},
    {"Hani dili", "hni"},
    {"Hausaca", "ha"},
    {"Hereroca", "hz"},
    {"Hintçe", "hi"},
    {"Hititçe", "hit"},
	{"Hollandaca", "nl"},
    {"Hopi dili", "hop"},
    {"Hırvatça", "hr"},
    {"İbranice", "he"},
    {"İngilizce", "en"},
    {"İnguşça", "inh"},
    {"İnyupikçe", "ik"},
    {"İrlandaca", "ga"},
    {"İspanyolca", "es"},
    {"İsveççe", "sv"},
    {"İsviçre Almancası", "gsw"},
    {"İtalyanca", "it"},
    {"İzlandaca", "is"},
    {"Japonca", "jp"},
    {"Kabardeyce", "kbd"},
    {"Kantonca", "zh-yue"},
    {"Kapadokya Yunancası", "cpg"},
    {"Karadağca", "cg"},
    {"Karakalpakça", "kaa"},
    {"Karaçay-Balkarca", "krc"},
    {"Karelce", "krl"},
    {"Katalanca", "ca"},
    {"Kazakça", "kz"},
    {"Kernevekçe", "kw"},
    {"Keşmirce", "ks"},
    {"Khoekhoe dili", "naq"},
    {"Kilise Slavcası", "cu"},
    {"Komorca", "swb"},
    {"Korece", "ko"},
    {"Korsikaca", "co"},
    {"Krice", "cr"},
    {"Kumeyaay dili", "dih"},
    {"Kumukça", "kum"},
    {"Kurmançça", "kmr"},
    {"Kuzey Laponca", "sme"},
    {"Kuzey Lapça", "se"},
    {"Kuzey Sotho dili", "nso"},
    {"Kürtçe", "ku"},
    {"Kıbrıs Arapçası", "acy"},
    {"Kıptîce", "cop"},
    {"Kırgızca", "ky"},
    {"Kırım Tatarcası", "crh"},
    {"Lakça", "lbr"},
    {"Laoca", "lo"},
    {"Latince", "la"},
    {"Lazca", "lzz"},
    {"Lehçe", "pl"},
    {"Letonca", "lv"},
    {"Levanten Arapça", "apc"},
    {"Lezgice", "lez"},
    {"Lidce", "xld"},
    {"Liguryaca", "lij"},
    {"Likçe", "xlc"},
    {"Limburgca", "li"},
    {"Lisuca", "lis"},
    {"Litvanca", "lt"},
    {"Livonca", "liv"},
    {"Lombardca", "lmo"},
    {"Lüksemburgca", "lb"},
    {"Macarca", "hu"},
    {"Makedonca", "mk"},
    {"Malayca", "ms"},
    {"Malgaşça", "mg"},
    {"Maltaca", "mt"},
    {"Manca", "gv"},
    {"Mançuca", "mnc"},
    {"Maonan dili", "mmd"},
    {"Maorice", "mi"},
    {"Mari dili", "chm"},
    {"Marshall Adaları dili", "mh"},
    {"Mayaca", "myn"},
    {"Miken Yunancası", "gmy"},
    {"Minangkabauca", "min"},
    {"Mokşanca", "mdf"},
    {"Moldovaca", "mo"},
    {"Moğolca", "mn"},
    {"Mısır Arapçası", "arz"},
    {"Mısırca", "egy"},
    {"Nahuatl dili", "nah"},
    {"Nanay dili", "gld"},
    {"Nauruca", "na"},
    {"Navahoca", "nv"},
    {"Nenetsçe", "yrk"},
    {"Nepalce", "ne"},
    {"Nogayca", "nog"},
    {"Nornca", "nrn"},
    {"Norveççe", "no"},
    {"Nuhalkça", "blc"},
    {"Oroçence", "orh"},
    {"Orta Farsça", "pal"},
    {"Osetçe", "os"},
    {"Osmanlıca", "ota"},
    {"Ova Marice", "mhr"},
    {"Oyratça", "xal"},
    {"Oʼodham dili", "ood"},
    {"Partça", "xpr"},
    {"Pencapça", "pa"},
    {"Peştuca", "ps"},
    {"Pite Samice", "sje"},
    {"Plautdietsch dili", "pdc"},
    {"Portekizce", "pt"},
    {"Pönce", "xpu"},
    {"Reto Romanca", "rm"},
    {"Romanşça", "roh"},
    {"Rumence", "ro"},
    {"Rusça", "ru"},
    {"Rutulca", "rut"},
    {"Sahurca", "tkr"},
    {"Samoaca", "sm"},
    {"Sanskritçe", "sa"},
    {"Sarduca", "sc"},
    {"Sicilyaca", "scn"},
    {"Silezya Almancası", "sil"},
    {"Silezyaca", "szl"},
    {"Sinhalce", "si"},
    {"Slovakça", "sk"},
    {"Slovence", "sl"},
    {"Somalice", "so"},
    {"Soranice", "ckb"},
    {"Sorbca", "wen"},
    {"Sui dili", "swi"},
    {"Swatice", "ss"},
    {"Sümerce", "sux"},
    {"Süryanice", "syc"},
    {"Sırp-Hırvatça", "sh"},
    {"Sırpça", "sr"},
    {"Tabasaranca", "tab"},
    {"Tacikçe", "tg"},
    {"Tagalogca", "tl"},
    {"Tahitice", "ty"},
    {"Tai Lü dili", "khb"},
    {"Tai Nüa dili", "tdd"},
    {"Tamilce", "ta"},
    {"Tatarca", "tt"},
    {"Tatça", "ttt"},
    {"Tayca", "th"},
    {"Tayvan Çincesi", "zh-tw"},
    {"Tibetçe", "bo"},
    {"Tigrinya dili", "ti"},
    {"Tongaca", "to"},
    {"Tunus Arapçası", "aeb"},
    {"Tuvaca", "tyv"},
    {"Türkmence", "tk"},
    {"Türkçe", "tr"},
    {"Udmurtça", "udm"},
    {"Ukraynaca", "uk"},
    {"Ulahça", "rup"},
    {"Ume Samice", "sju"},
    {"Urduca", "ur"},
    {"Uygurca", "ug"},
    {"Vahanca", "wbl"},
    {"Valensiyaca", "ca-valencia"},
    {"Valonca", "wa"},
    {"Vendaca", "ve"},
    {"Venedikçe", "vec"},
    {"Vietnamca", "vi"},
    {"Võro dili", "vro"},
    {"Yahudi İspanyolcası", "lad"},
    {"Yakutça", "sah"},
    {"Yavapai dili", "yuf"},
    {"Yeni Norveççe", "nn"},
    {"Yorubaca", "yo"},
    {"Yukarı Sorbca", "hsb"},
    {"Yunanca", "el"},
    {"Zazaca", "diq"},
    {"Zuluca", "zu"},
    {"Çekçe", "cs"},
    {"Çerokice", "chr"},
    {"Çeçence", "ce"},
    {"Çince", "zh"},
    {"Çingenece", "rom"},
    {"Çuvaşça", "cv"},
    {"Özbekçe", "uz"},
    {"Şugnanca", "sgh"}
};

	public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
        {
			Skip = false;
			Summary = "";
			
			Regex dedektor = new Regex(@"(.*)\[\[(.*?(ce|çe|ca|ça|dili)(sı|si|))\s*?\]\]\:\s*(.*?)(,|;|\))(.*)", RegexOptions.IgnoreCase);
			if (dedektor.Match(ArticleText).Success) {
				bool bittimi = false;
				while (bittimi == false) {
					
					var regexesles = dedektor.Match(ArticleText);
					if (dedektor.Match(ArticleText).Success) {
					
						var dilkodu = "";
						var diladı = regexesles.Groups[2].Value;
						
						if (DilKodlari.TryGetValue(diladı, out dilkodu)) { 
							ArticleText = dedektor.Replace(ArticleText, "$1{{dil|" + dilkodu + "|$5}}$6$7");
							Summary = "dil şablonuna geçiş";
						}
					}
					else { bittimi = true; }
				}
			} else { Skip = true; }

			return ArticleText;
        }