Bu modül şu Lua modüllerini kullanıyor:
|
Şablonlar
Modüller
|
Bu modül {{}} şablonunu çalıştırmaya yarayan (Modül:Ototaksonkutu/şablon arayüzü) modülünün ana fonksiyonlarını barındıran bir Lua modülüdür. Direkt bu modül üzerinden kullanabileceğiniz belli başlı fonksiyonlar mevcuttur. bilimsel sınıflandırmaya göre alt cins ve üzerinde bulunan tüm kademeler için bu modül kullanılabilir durumdadır. Alt cins'in alt kademelerinde bulunan tür gibi kademeler için ise, (Modül:Ototaksonkutu/şablon arayüzü) modülünde özelleştirmeler mevcuttur. Bunlar da yalnızca {{}} şablonu için geçerlidir.
{{}} tarzındaki sayfalarda tutulan verileri kullanarak size herhangi bir takson hakkında bilgi vermek için kullanılan fonksiyonları burada bulabilirsiniz. Tüm taksonomi veritabanını görmek için sayfasına bakabilirsiniz.
taksonBilgi()
Şablon:Taksonomi/TAKSON sayfasına erişip istenilen verileri size verir, eğer 'aynısı' bağlantısı mevcutsa 'aynısı' olan taksonun bilgilerini verir.
Kullanımı:
{{#invoke:Ototaksonkutu|taksonBilgi|TAKSON|GİRDİ}}
- GİRDİ şunlardan biridir
- 'ebeveyn', 'sıra', 'bağ_sayfa', 'bağ_yazı', 'tükenmiş', 'hep_görüntüle', 'kaynak', 'aynısı' veya 'hepsi'.
Eğer GİRDİ belirlenmediyse, varsayılan değer 'hepsi' olur - tüm bilgiler tek bir satırda '$' ile ayrılarak yazılır.
taksonkutuListe()
Girilen taksonun hiyeraşisini en üste kadar bulup, bunu otomatik taksonkutuya yansıtmada yardımcı olur.
- Kullanımı
{{#invoke:Ototaksonkutu|taksonkutuListe|TAKSON |taks_üst_sayısı = gösterilecek *üst* seviye takson sayısı |sıralama = mevcut TAKSON için yazar adı ve tarihi |üst_sıralama = mevcut TAKSON'un ebeveyni için yazar adı ve tarihi |büst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyni için yazar adı ve tarihi |bbüst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyninin ebeveyni için yazar adı ve tarihi |bbbüst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyninin ebeveyninin ebeveyni için yazar adı ve tarihi |seçili_kalın = TAKSON'un yazısının satırda kalın gözükmesi için 'kalın' yazın |virüs = virüs italik standartlarını kullanmak için 'evet' yazın }}
{{}} için bir deneme yapılacak olursa şu şekilde olur:
{| class="wikitable" {{#invoke:Ototaksonkutu|taksonkutuListe|Felis}} |}
Âlem: | Animalia |
Şube: | Chordata |
Sınıf: | Mammalia |
Takım: | Carnivora |
Alt takım: | Feliformia |
Familya: | Felidae |
Alt familya: | Felinae |
Cins: | Felis |
esasSira()
Bu fonksiyon kullanılan konfigürasyon fonksiyonlarından bir tanesidir. Modül:Ototaksonkutu|taksonkutuListe() tarafından kullanılmaktadır.
{{#invoke:Ototaksonkutu|esasSira|SIRA}}
Girilen parametrenin, yani Latincedeki sıralamanın, bir 'esas' Linnaean sıralaması olup olmadığını kontrol eder, 'evet' veya 'hayır' çıktısı verir. Bu şablonu düzenleyerek hangi sıralamaların esas olarak değerlendirileceği ve otomatik taksonkutuda o şekilde görüntüleneceği belirlenebilir.
Şu anda esas sıralama olarak değerlendirilenler: alem, şube, bölüm, sınıf, takım, familya, cins ve tür. Ayrıca bunların ichno- ile oo- halleri.
ceviriSira()
Bu fonksiyon kullanılan konfigürasyon fonksiyonlarından bir tanesidir. Modül:Ototaksonkutu|taksonkutuListe() tarafından kullanılmaktadır.
{{#invoke:Ototaksonkutu|ceviriSira|SIRA|kontrol=KONTROL}}
Latincede yazılmış bir takson adının, Türkçe karşılığını verir.
Eğer girilen sıralama bu şablonda ekli değilse, bu sırayı barındıran taksonomi şablonu kategorisine yerleştirilecektir.
altSira()
Bu fonksiyon, belirtilmiş sıralamanın bir alt sırasını (asil olan) bize verir. Asıl kullanımı içerisindedir; bahsi geçen taksonun sırası girildiğinde, bir sonraki alt sıralamanın getirilmesini sağlar. Mesela, "cins" girildiğinde "Tür" olarak; "altşube" girildiğinde "Sınıf" ("Üstsınıf" veya "Classis" değil) olarak çıktı verir.
{{#invoke:Ototaksonkutu|altSira|SIRA}}
Eğer bir sıralama bu listede yoksa, bir hata mesajı yansıtılacaktır. Bu hatayı düzeltmek için, şablonu düzenleyin, var olmayan takson sıralamasını bulunması gereken bir alt sıralamasını verecek şekilde ekleyin. Şablonun içeriğine girdiğinizde zaten kendisini anlatmaktadır.
Alt- ve üst- şeklindeki sıralamalar çıktıya alınmaz; bu sıralamaların büyük çoğunlukla bahsi geçen taksonun yanına dizilmesi beklenir, örnek olarak Dinozor.
italikTakson()
Bu fonksiyon kullanılan konfigürasyon fonksiyonlarından bir tanesidir. Modül:Ototaksonkutu|taksonkutuListe() tarafından kullanılmaktadır.
{{#invoke:Ototaksonkutu|italikTakson|TAKSON|VİRÜS}}
Bir taksonun italik yazılıp yazılmaması gerektiğine karar verir, virüs olup olmamasına veya sıralamasına bakarak. Yeni bir tip sisteme eklendiğinde güncellemenmesi gereken şablonlardan biri.
Kullanım
{{#invoke:Ototaksonkutu|italikTakson|takson-sıra|evet veya hayır (virüs)}}
– mevcut değer |2=hayır
(virüs)
{{#invoke:Ototaksonkutu|italikTakson|tür}}
→ evet{{#invoke:Ototaksonkutu|italikTakson|cins}}
→ evet{{#invoke:Ototaksonkutu|italikTakson|familya}}
→ hayır{{#invoke:Ototaksonkutu|italikTakson|familya|evet}}
→ evet{{#invoke:Ototaksonkutu|italikTakson|strain|evet}}
→ hayır
taksonkutuRengi()
Modül Düzenleyicilerine not: Bu fonksiyon, taksonomi (takson) terimlerini içeren, takson sıralamasına göre renk belirleyen {{}} şablonunun taksonkutu renginin değiştirilmesine dayanmaktadır, yani değişime uğrayabilirler. Renkler, rgb(..,..,..) biçimi kullanılarak belirlenmelidir.
{{#invoke:Ototaksonkutu|taksonkutuRengi|TAKSON}}
Amaç
Bu fonksiyon taksonkutusu sisteminde kullanılan konfigürasyon fonksiyonlarından bir tanesidir, kullanılmaktadır.
Bir taksonkutusunun uygun rengini oluşturmaktadır.
Yalnızca diğer taksonkutusu şablonları tarafından kullanılmalıdır.
Taksonomi şablonları tarafından kullanımı
Otomatik taksonkutuları, Modül:Ototaksonkutu modülündeki bir fonksiyonu kullanmaktadır, ki bu da taksonun renkle eşleşmesini taksonomi şablonlarında kodlanmış olan taksonomi hiyerarşisini arayarak (örn. "Taksonomi/takson-adı" biçiminde başlayan şablon adlarını tarayarak).
Bir taksonkutu içerisindeki eşleşmiş renk
Otomatik taksonkutuları genellikle renklerini otomatik oluşturur. Eğer oluşturamazsa ya da birtakım bilinmeyen nedenlerden dolayı otomatik rengi görmezden gelirse, |renk_benzeri=
parametresi uygulanan takson için girilebilir. Sonuçta:
| renk_benzeri = Animalia
kodu bir taksonkutusu içerisindeyse rengin eşleşmesini uygun hayvanlar alemindeki renk ile değiştirir. Girilen |renk_benzeri=
parametresi bu şablonun kullandığı switch parametrelerinden biri olmalıdır. Yani |renk_benzeri=Felis
işe yaramaz ve hata rengine yönlendirir.
Taksonkutu renk şeması
Virüsler | rgb(250,250,190) | ayrıca Viroidler |
---|---|---|
Bakteri | rgb(220,235,245) | |
Arkea | rgb(195,245,250) | ayrıca (Nanarchaeota), Korarchaeota, Thaumarchaeota, Crenarchaeota ve Euryarchaeota |
Ökaryotlar | rgb(245,215,255) | Excavata, Amoebozoa ve Opisthokonta da dahil olmak üzere ökaryotların tek bir rengi mevcut |
Hayvanlar | rgb(235,235,210) | |
Mantarlar | rgb(145,250,250) | |
Archaeplastida | rgb(180,250,180) | ayrıca Bitkiler ve Viridiplantae |
rgb(200,250,80) | ayrıca | |
incertae sedis | rgb(250,240,230) | |
İknotaksonlar | rgb(230,222,214) | |
rgb(250,250,220) |
İzleyici kategoriler
- (0)
- (157)
- (0)
--[[************************************************************************* Bu modül Otomatik Taksonkutu sisteminin ana modülüdür. {{Otomatik taksonkutu}} tarafından kullanılmaktadır. Özellikle sağladığı şey, taksonomi hiyeraşisini otomatik olarak taksonomi şablonlarında listelemektir ("Şablon:Taksonomi/TAKSON_ADI" biçimindeki şablonları kullanarak), şablon genişletme hatalarına sebep olmadan.sayfasına bağlanır *****************************************************************************]] require('Modül:No globals') local veri = require("Modül:Ototaksonkutu/veri") local TaksonItalik = require('Modül:Taksonİtalik') -- Modül:Taksonİtalik'ten takson adını italik göstermek için bir fonksiyon local TabloSatiri = '|-\n' local TabloSonu = '|}\n' local p = {} -- dışarıdan erişilebilen fonksiyonlar local l = {} -- modül içinde kullanılan fonksiyonlar, ayrıştırmak için local colour = '' -- taksonkutu ve toksan listelemeleri için renk --[[========================================================================= Bir taksonomi hiyeraşisinin çıkabileceği en yüksek takson derinliğini belirler; işlem yapma süresini azaltır ve yanlış belirlenmiş hiyeraşilere karşı koruma sağlar, örneğin döngüler. Bu değer dışarıdan şu şekilde çağırılabilir: {{#invoke:Ototaksonkutu|getirMaksAramaSeviyesi}} =============================================================================]] local MaksAramaSeviyesi = 100 function p.getirMaksAramaSeviyesi() return MaksAramaSeviyesi end --[[========================= taksonkutuRengi =============================== Bir taksonkutu için gösterilen rengi belirler, taksonomi hiyeraşisindeki en üst taksona çıkarak en baş taksonun rengini getirir ('incertae sedis' bir istisnadır, bu direk kendi rengini belirler). Geçerli bir taksonkutu renginin CSS rgb() biçimini kullandığı kabul edilmiştir, tüm renkler bu biçimdedir. Eğer taksonkutu için hiçbir renk bulunamadıysa, 'transparent' (yani renksiz) görünür ama taksonomi hiyeraşisi çok yukarı gidiyorsa, hata rengi görünür. Kullanımı: {{#invoke:Ototaksonkutu|taksonkutuRengi|TAKSON}} =============================================================================]] function p.taksonkutuRengi(frame, taxon) return p.getirTaksonkutuRengi(frame, taxon or frame.args[1] or '') end function p.getirTaksonkutuRengi(frame, currTaxon, cats) -- renkler bu fonksiyon için küreseldir; varsayılan değeri ise string türündedir local i = 1 -- sayma işlemi başlatılıyor local searching = currTaxon ~= '' -- hala renk aranıyor mu? local foundICTaxon = false -- bir 'incertae sedis' var mı diye kontrol et while searching and i <= MaksAramaSeviyesi do local plainCurrTaxon, dummy = l.kirpFazlaliklar(currTaxon) -- gereksiz yazıları soyutla / if string.lower(plainCurrTaxon) == 'incertae sedis' then foundICTaxon = true else local possibleColour = veri.getirTabloyaGore(plainCurrTaxon, "renkler") if possibleColour and string.sub(possibleColour,1,3) == 'rgb' then colour = possibleColour searching = false end end if searching then local ok, parent = p.getirTaksonBilgiOgesi(frame, currTaxon, 'ebeveyn') if ok and parent ~= '' then currTaxon = parent i = i + 1 else searching = false -- hiyeraşinin en üst katmanına çık veya var olmayan taksonomi şablonlarını kullanmaya çalış end end end if colour == '' then if foundICTaxon then colour = veri.getirTabloyaGore("incertae sedis", "renkler") table.insert(cats, "[[Kategori:Incertae sedis rengine sahip taksonkutular]]") elseif searching then -- MaksAramaSeviyesi'ni aşan hiyeraşi seviyeleri colour = "transparent; text-align:center; border: 2px solid red; error:colour" table.insert(cats, "[[Kategori:Hata rengine sahip taksonkutular]]") else colour = 'transparent' table.insert(cats, "[[Kategori:Rengi olmayan taksonkutular]]") end end return colour end --[[= = = = = = = = = = = = = ustSeviyeTakson = = = = = = = = = = = = = = = Burası herhangi bir takson hiyeraşisinde en üste gelebilecek takson gruplarını belirler. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.ustSeviyeTakson(taxon) return taxon == 'Life' or taxon == 'Veterovata' or taxon == 'Ichnos' end --[[========================= taksonkutuListe =============================== Girilen taksonun hiyeraşisini en üste kadar bulup, bunu otomatik taksonkutuya yansıtmada yardımcı olur. Kullanım: {{#invoke:Ototaksonkutu|taksonkutuListe|TAKSON |taks_üst_sayısı = gösterilecek *üst* seviye takson sayısı |sıralama = mevcut TAKSON için yazar adı ve tarihi |üst_sıralama = mevcut TAKSON'un ebeveyni için yazar adı ve tarihi |büst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyni için yazar adı ve tarihi |bbüst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyninin ebeveyni için yazar adı ve tarihi |bbbüst_sıralama = mevcut TAKSON'un ebeveyninin ebeveyninin ebeveyninin ebeveyni için yazar adı ve tarihi |seçili_kalın = TAKSON'un yazısının satırda kalın gözükmesi için 'kalın' yazın |virüs = virüs italik standartlarını kullanmak için 'evet' yazın }} =============================================================================]] function p.taksonkutuListe(frame, moduleTable) if moduleTable then frame.args = moduleTable end local currTaxon = frame.args[1] or '' if currTaxon == '' then return '' end local displayN = (tonumber(frame.args['taks_üst_sayısı']) or 1) + 1 local authTable = {} authTable[1] = frame.args['sıralama'] or '' authTable[2] = frame.args['üst_sıralama'] or '' authTable[3] = frame.args['büst_sıralama'] or '' authTable[4] = frame.args['bbüst_sıralama'] or '' authTable[5] = frame.args['bbbüst_sıralama'] or '' local boldFirst = frame.args['seçili_kalın'] or 'link' -- değeri 'link' veya 'kalın' local virus = frame.args['virüs'] or 'hayır' -- değeri 'evet' veya 'hayır' local offset = tonumber(frame.args['offset'] or 0) -- eğer 'sıralama' parametresi bahsi geçen taksondan daha alt seviyedeki -- bir takson içinse, sıralamaların hepsini kaydır if offset ~= 0 then for i = 1, 5 do local j = i + offset if j <= 5 then authTable[i] = authTable[j] else authTable[i] = '' end end end local taxonTable, taxonRankTable = l.yapTablo(frame, currTaxon) local res = '' local topTaxonN = taxonTable.n -- eğer mümkünse büyük büyük büyük ebeveynin üstündeki tüm taksonları -- sıralamasız (sıralamasını belirleyen yazar olmadan) göster for i = topTaxonN, 6, -1 do res = res .. p.gosterTakson(frame, taxonTable[i], taxonRankTable[i], topTaxonN==i, '', displayN >= i, '', virus) end -- ebeveynin üstündeki tüm taksonları eğer -- sıralamaları (sıralamasını belirleyen yazarlar) ile birlikte göster for i = math.min(topTaxonN, 5), 2, -1 do res = res .. p.gosterTakson(frame, taxonTable[i], taxonRankTable[i], topTaxonN==i, authTable[i], displayN >= i, '', virus) end -- hedef taksonu göster, her daim kalın ve gösterilir res = res .. p.gosterTakson(frame, taxonTable[1], taxonRankTable[1], topTaxonN==1, authTable[1], true, boldFirst, virus) return res end --[[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Bir taksonkutudaki tek bir takson satırını oluştur. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function p.gosterTakson(frame, taxon, rank, isTopTaxon, auth, force, boldFirst, virus) -- eğer bir üst seviye taksonda değilsek (mesela "Life" değilse) ve ebeyevn yoksa bu bir hatadır if isTopTaxon then if l.ustSeviyeTakson(taxon) then return '' -- bir üst seviye takson gösterme elseif mw.title.new('Taksonomi/'..taxon, 'Şablon').exists then -- bu taksonomi şablonunda bir ebeveyn tanımlanmamış return l.taksonomiOlustur(taxon, 'Taksonomi şablonunda bir ebeveyn belirtilmemiş') .. '\n' .. TabloSatiri else -- bu taksonun bir taksonomi şablonu mevcut değil return l.taksonomiOlustur(taxon, 'Eksik taksonomi şablonu') .. '\n' .. TabloSatiri end else -- if showing is not already forced, force if it's a principal rank or an authority is specified force = force or l.getirEsasSira(rank) == 'evet' or auth ~= '' if not force then -- if showing is still not already forced, force if the taxonomy template has 'always_display' set local ok, alwaysDisplay = p.getirTaksonBilgiOgesi(frame, taxon, 'hep_görüntüle') force = alwaysDisplay == 'evet' or alwaysDisplay == 'true' end if force then local res = l.tabloHucresi("<span style='white-space: nowrap;'>"..l.getirCeviriSira(rank) .. ':</span>') local bold = 'hayır' if boldFirst == 'kalın' then bold = 'evet' end if auth ~= '' then auth = '<br><small>' .. auth .. l.taksonKaynak(frame, taxon) .. '</small>' elseif bold == "evet" then auth = '<br><small>' .. l.taksonKaynak(frame, taxon) .. '</small>' end local res = res .. l.tabloHucresi(l.getirTaksonBag(frame, taxon, rank, bold, '', '', virus) .. auth) -- italic, abbreviated return res .. TabloSatiri else return '' end end end function l.taksonKaynak(frame, taxon) -- taksonun kaynağı belirtilmişse onu çağır local ok, taksonKaynak = p.getirTaksonBilgiOgesi(frame, taxon, 'kaynak') if ok and taksonKaynak ~= "" then taksonKaynak = frame:extensionTag{ name = 'ref', content = taksonKaynak, args = { name = taxon..'-kaynak' } } end return taksonKaynak end --[[========================= taksonomiListe ================================ Returns the cells of the taxonomy table displayed on the right hand side of "Template:Taxonomy...." pages. Kullanımı: {{#invoke:Ototaksonkutu|taksonomiListe|TAKSON}} =============================================================================]] function p.taksonomiListe(frame) return l._taksonomiListe(frame, frame.args[1] or '') end function l._taksonomiListe(frame, currTaxon) local cats = {} if currTaxon == '' then return '{|class="infobox biota"\n' .. TabloSatiri .. l.tabloHucresi('') .. l.tabloHucresi('HATA: hiçbir takson girilmedi') .. TabloSonu end local taxonTable, taxonRankTable = l.yapTablo(frame, currTaxon) local rankValTable = l.getirSiraTablosu() local lastRankVal = 1000000 local orderOk = true -- check whether the taxonomy is for viruses; use already determined taxon colour if possible local virus = 'hayır' local taxoColour = colour if taxoColour == '' then if taxonTable[taxonTable.n] == 'Ichnos' or taxonTable[taxonTable.n] == 'Veterovata' then taxoColour = p.getirTaksonkutuRengi(frame, taxonTable[taxonTable.n], cats) else taxoColour = p.getirTaksonkutuRengi(frame, taxonTable[taxonTable.n - 1], cats) end end if taxoColour == p.getirTaksonkutuRengi(frame, "virüs", cats) then virus = 'evet' end -- add information message local res = '<p style="text-align:right">Tabloda kalın olarak görünenler taksonkutularda görünür;<br>ya asil bir sıradır ya da <code>hep_görüntüle=evet</code> değerindedir.</p>\n' -- start table res = res .. '{|\n' .. TabloSatiri .. '! colspan=4 style="text-align: center; background-color: ' .. taxoColour .. '"|Ata taksonlar\n' -- deal first with the top level taxon; if there are no errors, it should be Life/Veterovata/Ichnos, which are -- not displayed local taxon = taxonTable[taxonTable.n] if not l.ustSeviyeTakson(taxon) then local msg = 'Taksonomi şablonu eksik' if mw.title.new('Taksonomi/'..taxon, 'Şablon').exists then msg = 'Ebeveyn takson gerekli' end res = res .. TabloSatiri .. l.tabloHucresi('colspan=2', l.taksonomiOlustur(taxon, msg)) end -- now output the rest of the table local currRankVal for i = taxonTable.n-1, 1, -1 do -- check ranks are in right order in the hierarchy taxon = taxonTable[i] local rank = taxonRankTable[i] currRankVal = l.araSiraDegeri(rankValTable, rank) if currRankVal then orderOk = currRankVal < lastRankVal if orderOk then lastRankVal = currRankVal end else orderOk = true end -- see if the row will be displayed in a taxobox; bold the rank if so local boldRank = false local ok, alwaysDisplay = p.getirTaksonBilgiOgesi(frame, taxon, 'hep_görüntüle') if ok and (alwaysDisplay == 'evet' or alwaysDisplay == 'true') then boldRank = true else boldRank = l.getirEsasSira(rank) == 'evet' end -- now return a row of the taxonomy table with anomalous ranks marked local errorStr = '' if not orderOk then errorStr = 'evet' end local link = l.getirTaksonBag(frame, taxon, rank, '', '', '', virus) -- bold, italic, abbreviated res = res .. l.taksonomiListeSatiri(taxon, rank, link, boldRank, errorStr) end -- close table res = res .. TabloSonu -- error-tracking for taxonomy templates -- if the last row has an anomalous rank, put the page in an error-tracking category if not orderOk then table.insert(cats, '[[Kategori:Aykırı sıra gösteren taksonomi şablonları]]') end -- if the last row has a taxon name in the page name that does not match the link text, -- put the taxonomy template in a tracking category local dummy, linkText = p.getirTaksonBilgiOgesi(frame, taxon, 'bağ_yazı') local match = l.matchTaxonLink(taxon, linkText, currRankVal and currRankVal < rankValTable['cins']) if not match then table.insert(cats, '[[Kategori:Bağ yazısı ve adı eşleşmeyen taksonomi şablonları|' .. taxon .. ']]') end if cats[1] then res = res .. frame:expandTemplate{ title = 'Şablon diğer', args = { table.concat(cats)} } end return res end --[[ = = = = = = = = = = = = = = taxonomyListRow = = = = = = = = = = = = = = Returns a single row of the taxonomy table displayed on the right hand side of "Template:Taxonomy...." pages. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.taksonomiListeSatiri(taxon, rank, link, boldRank, error) local res = '' if taxon == '' or rank == '' then return res end local baseTaxon, qualifier = l.kirpFazlaliklar(taxon) -- if appropriate, make it clear that some taxa have been skipped via a ... row if qualifier == '/geç' then res = res .. TabloSatiri .. l.tabloHucresi('.....') .. l.tabloHucresi('.....') end -- now generate a row of the table res = res .. TabloSatiri local cellContent = '' local anglicizedRank = l.getirCeviriSira(rank) if boldRank then cellContent = cellContent .. '<span style="white-space:nowrap;"><b>' .. anglicizedRank .. '</b>:</span>' else cellContent = cellContent .. '<span style="white-space:nowrap;">' .. anglicizedRank .. ':</span>' end if error == 'evet' then cellContent = '<span style="background-color:#FDD">' .. cellContent .. '</span>' end res = res .. l.tabloHucresi(cellContent) .. l.tabloHucresi('<span style="white-space:nowrap;">' .. link .. '</span>') .. l.tabloHucresi('<span style="font-size:smaller;">' .. qualifier .. '</span>') .. l.tabloHucresi('<span style="white-space:nowrap;">' .. l.birTaksonuDuzenle(taxon) .. '</span>') return res end --[[====================== cagirTaksonomiAnahtari =========================== Prepares for, and then calls, Template:Taxonomy key to display a taxonomy template page. It does this by building up the information the template requires, following one 'aynısı' link, if required. Kullanımı: {{#invoke:Ototaksonkutu|cagirTaksonomiAnahtari |ebeveyn= |sıra= |tükenmiş= |hep_görüntüle= |bağ_sayfa=value of 'link' parameter in taxonomy template |bağ_yazı=value of parameter 2 in taxonomy template |aynısı= }} =============================================================================]] local PARENT = 1 local RANK = 2 local LINK_TARGET = 3 local LINK_TEXT = 4 local ALWAYS_DISPLAY = 5 local EXTINCT = 6 local SAME_AS = 7 local REFS = 8 function p.cagirTaksonomiAnahtari(frame) local taxon = frame.args['takson'] or '' local parent = frame.args['ebeveyn'] or '' local rank = frame.args['sıra'] or '' local extinct = string.lower(frame.args['tükenmiş']) or '' local alwaysDisplay = string.lower(frame.args['hep_görüntüle']) or '' local linkTarget = frame.args['bağ_sayfa'] or '' local linkText = frame.args['bağ_yazı'] or '' -- this is the "raw" link text, and can be '' local refs = frame.args['kaynak'] or '' local sameAsTaxon = frame.args['aynısı'] or '' if sameAsTaxon ~= '' then -- try using the 'aynısı' taxon; it's an error if it doesn't exist local ok, sameAsInfoStr = pcall(frame.expandTemplate, frame, { title = 'Şablon:Taksonomi/' .. sameAsTaxon, args = {['makine kodu'] = 'hepsi' } }) if ok then local sameAsInfo = mw.text.split(sameAsInfoStr, '$', true) --'aynısı' taxon's taxonomy template must not have a 'aynısı' link if sameAsInfo[SAME_AS] == '' then if parent == '' then parent = sameAsInfo[PARENT] end if rank == '' then rank = sameAsInfo[RANK] end if extinct == '' then extinct = string.lower(sameAsInfo[EXTINCT]) end if alwaysDisplay == '' then alwaysDisplay = string.lower(sameAsInfo[ALWAYS_DISPLAY]) end if linkTarget == '' then linkTarget = sameAsInfo[LINK_TARGET] end if linkText == '' then linkText = sameAsInfo[LINK_TEXT] end if refs == '' and parent == sameAsInfo[PARENT] then refs = sameAsInfo[REFS] end else return '<span style="color:red; font-size:1.1em">Error: attempt to follow two "same as" links</span>: <code>same_as = ' .. sameAsTaxon .. '</code>, but [[Şablon:Taksonomi/' .. sameAsTaxon .. ']] also has a<code>same_as</code> parameter.' end else return l.eksikTaksonomiAnahtari(sameAsTaxon, 'given as the value of <code>same as</code>') end end local link = linkTarget if linkText ~= '' and linkText ~= linkTarget then link = link .. "|" .. linkText end -- check consistency of extinct status; if this taxon is not extinct, parent must not be either local extinctError = 'hayır' if parent ~= '' and (extinct == '' or extinct == 'hayır' or extinct == 'false') then local ok, parentExtinct = p.getirTaksonBilgiOgesi(frame, parent, 'tükenmiş') if ok and (parentExtinct == 'evet' or parentExtinct == 'true') then extinctError = 'evet' end end -- taksonomi anahtarını oluşturmaya başlayalım local taksAna = {} table.insert(taksAna, l._taksonomiListe(frame, taxon)) if mw.title.new('Taksonomi/'..parent, 'Şablon').exists then if linkTarget then if mw.title.new(linkTarget).exists then table.insert(taksAna, "__NOINDEX__") else table.insert(taksAna, "Vikipedi'de henüz [["..linkTarget.."]] isimli bir madde bulunmamakta. " .."Bu maddeyi [["..linkTarget.."|oluşturarak]] yardımcı olabilirsiniz. Şu anda bulunduğunuz sayfa " .."[["..linkTarget.."]] bilimsel sınıflandırması hakkında size bilgi vermektedir." .."[[Kategori:Kırmızı bağlantılı taksona sahip taksonomi şablonları|"..l.secSon(mw.title.getCurrentTitle().text).."]]") end end else table.insert(taksAna, "<strong class='error'>Geliştiriliyor.</strong>" .. " Eğer aşağıdaki tablo doğru görünüyorsa, seçilmiş takson için gerekli bilgiler mevcut demektir.\n" .. l.eksikTaksonomiAnahtari(parent, "<code>ebeveyn</code> değeri olarak girildi")) end local ok, parRefs = p.getirTaksonBilgiOgesi(frame, parent, "kaynak") table.insert(taksAna, "\nNiye burada olduğundan emin değil misin? Otomatik taksonkutu sistemini [[Vikipedi:Otomatik taksonkutu sistemi/giriş|öğrenmeye başla]]." .. "\n{| class='wikitable'" .. "\n|-" .. "\n|Ebeveyn:" .. "\n|<code>"..parent.."</code> [[[Şablon:Taksonomi/"..parent.."|Taksonomi]]; <span class=plainlinks>["..l.taksonomiOlusturBag(parent).." değiştir]]</span>" .. "\n|-" .. "\n|Sıra:" .. "\n|<code>"..rank.."</code> (<code>"..l.getirCeviriSira(rank, "evet").."</code> şeklinde görünür)"..(rank~="" and "" or "<span class='error'>– bir sıra belirtilmeli</span") .. "\n|-" .. "\n|Bağ:" .. "\n|<code>"..l.yapBag(taxon, extinct, "hayır", p.getirItalikTakson(rank), nil, linkTarget, link) .."</code>"..(linkTarget == link and "" or " (<code>"..linkTarget.."</code> sayfasına bağlanır)") .. "\n|-" .. "\n|Tükenmiş:" .. "\n|"..(extinct~="" and "<code>"..extinct.."</code>" or "hayır") .. (extinctError == "evet" and "<span style='background-color:#FCC'>ebeveyn tükenmiş olarak belirtilmiş</span>" or "") .. "\n|-" .. "\n|Hep görüntüle:" .. "\n|"..(alwaysDisplay~="" and "<code>"..alwaysDisplay.."</code>[[Kategori:Hep_görüntüle kullanan taksonomi şablonları|"..taxon.."]]" or (l.getirEsasSira(rank) == "evet" and "evet (asil sıra)" or "hayır")) .. "\n|-" .. "\n|Taksonomi kaynakları:" .. "\n|"..l.yapKaynaklariGoster(taxon, refs) .. "\n|-" .. "\n|Ebeveyn taksonominin kaynakları:" .. "\n|"..l.yapKaynaklariGoster(parent, parRefs) .. "\n|-" .. (sameAsTaxon ~= '' and "\n|Takson ile aynı:||<code>"..sameAsTaxon.."</code> " .."[[[Şablon:Taksonomi/"..sameAsTaxon.."|Taksonomi]]; " .."<span class=plainlinks>["..l.taksonomiOlusturBag(sameAsTaxon).." değiştir]]</span>\n|-" or "") .. (mw.ustring.match(taxon, "/geç$") and '\n| colspan=2 |Sonunda "/geç" varsa, bakınız ' ..'[[Vikipedi:Otomatik taksonkutu sistemi/gelişmiş taksonomi#Geçilen taksonomi şablonları|Geçilen taksonomi şablonları]].' ..'<br>Geçilen takson için, bakınız [[Şablon:Taksonomi/'..mw.ustring.gsub(taxon, "/geç$", "")..']].' or '') .. (mw.ustring.match(taxon, "/%?$") and '\n| colspan=2 |Sonunda "/?" varsa, bakınız [[Vikipedi:Otomatik taksonkutu sistemi/gelişmiş taksonomi#Kuşkulu atamalar|Kuşkulu atamalar]].' or '') .. (mw.ustring.match(l.secSon(taxon), "Incertae sedis") and '| colspan=2 |"Incertae sedis" takson isimleri için, bakınız ' .."[[Vikipedi:Otomatik taksonkutu sistemi/gelişmiş taksonomi#Incertae_sedis_taksonomi_şablonları|''Incertae sedis'' taksonomi şablonları]]." or '') .. "\n|}" .. (extinctError == "evet" and "[[Kategori:Tutarsız tükenmiş değerine sahip taksonomi şablonları|"..taxon.."]]" or "")) -- mevcut sayfanın vikiveri ögesini bulalım local ID = mw.wikibase.getEntityIdForCurrentPage() local oge = ID and mw.wikibase.getEntity(ID) if not oge then table.insert(taksAna, "[[Kategori:Vikiveri ögesine bağlı olmayan taksonomi şablonları|"..taxon.."]]") else -- vikiveri'de taksonomi şablonu için herhangi bir etiket girilmiş mi? local vikiveriEtiket = oge:getLabel("tr") if vikiveriEtiket then else table.insert(taksAna, "[[Kategori:Vikiveri'de etiketi eksik olan taksonomi şablonları|"..taxon.."]]") end -- vikiveri'de taksonomi şablonu için herhangi bir açıklama girilmiş mi? local vikiveriAciklama = oge:getDescription("tr") if vikiveriAciklama then else table.insert(taksAna, "[[Kategori:Vikiveri'de açıklaması eksik olan taksonomi şablonları|"..taxon.."]]") end end return table.concat(taksAna) end function l.eksikTaksonomiAnahtari(takson, mesaj) return mw.title.new("Şablon:Taksonomi/"..takson).exists and "" or '<p><span class="error">Hata: eksik taksonomi şablonu.</span> "' .. takson .. '" için taksonomi bilgisi eksik'.. (mesaj and ", " .. mesaj or "") .. '.</span> "'.. takson ..'" doğru yazdığınıza emin misiniz? Belki İngilizce adı değil de, bilimsel adı olabilir?' .. ' Eminseniz, "Şablon:Taksonomi/'.. takson ..'" oluşturulması gerekir:' .. ' ['..l.taksonomiOlusturBag(takson)..' sayfayı oluştur].</p>' end --[[=========================== taksonBilgi ================================= Extracts and returns information from Şablon:Taksonomi/TAXON, following one 'aynısı' link if required. Kullanımı: {{#invoke:Ototaksonkutu|taksonBilgi|TAKSON|GİRDİ}} GİRDİ şunlardan biridir: 'ebeveyn', 'sıra', 'bağ_sayfa', 'bağ_yazı', 'tükenmiş', 'hep_görüntüle', 'kaynak', 'aynısı' veya 'hepsi'. Eğer GİRDİ belirlenmediyse, varsayılan değer 'hepsi' olur - tüm bilgiler tek bir satırda '$' ile ayrılarak yazılır. =============================================================================]] function p.taksonBilgi(frame) local taxon = frame.args[1] or '' local item = frame.args[2] or '' if item == '' then item = 'hepsi' end local ok, info = p.getirTaksonBilgiOgesi(frame, taxon, item) return info end --[[= = = = = = = = = = = getirTaksonBilgiOgesi = = = = = = = = = = = = = = = Utility function to extract an item of information from a taxonomy template, following one 'aynısı' link if required. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function p.getirTaksonBilgiOgesi(frame, taxon, item) local ok, info -- item == 'hançer' is a special case if item == 'hançer' then ok, info = p.getirTaksonBilgiOgesi(frame, taxon, 'tükenmiş') if ok then if info == 'evet' or info == 'true' then info = '†' else info = '' end end -- item ~= 'hançer' else ok, info = pcall(frame.expandTemplate, frame, { title = 'Şablon:Taksonomi/' .. taxon, args = {['makine kodu'] = item } }) if ok then if info == '' then -- try 'aynısı' local sameAsTaxon = frame:expandTemplate{ title = 'Şablon:Taksonomi/' .. taxon, args = {['makine kodu'] = 'aynısı' } } if sameAsTaxon ~= '' then ok, info = pcall(frame.expandTemplate, frame, { title = 'Şablon:Taksonomi/' .. sameAsTaxon, args = {['makine kodu'] = item } }) end end end end if ok then -- if item is 'bağ_yazı', trim info and check whether '(?)' needs to be added if item == 'bağ_yazı' then -- there is a newline at the end of linkText when taxonomy template has "|link = LINK_TARGET|LINK_TEXT" info = mw.text.trim(info) if string.sub(taxon, -2) == '/?' and not string.find(info, '?', 1, true) then info = info .. '<span style="font-style:normal;font-weight:normal;"> (?)</span>' end end else info = '[[Şablon:Taksonomi/' .. taxon .. ']]' --error indicator in code before conversion to Lua end return ok, info end --[[= = = = = = = = = = = = = = getirTaksonBag = = = = = = = = = = = = = = = Internal function to drive l.yapBag(). = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.getirTaksonBag(frame, taxon, rank, bold, italic, abbreviated, virus) local ok, extinct = p.getirTaksonBilgiOgesi(frame, taxon, 'tükenmiş') if italic == '' and taxon ~= "Virus" then italic = p.getirItalikTakson(rank, virus) end local ok, linkTarget = p.getirTaksonBilgiOgesi(frame, taxon, 'bağ_sayfa') local ok, linkText = p.getirTaksonBilgiOgesi(frame, taxon, 'bağ_yazı') return l.yapBag(taxon, extinct, bold, italic, abbreviated, linkTarget, linkText) end --[[= = = = = = = = = = = = = = yapBag = = = = = = = = = = = = = = = = = = = = Actually make the link. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.yapBag(taxon, extinct, bold, italic, abbreviated, linkTarget, linkText) local dummy -- if link text is missing, try to find a replacement if linkText == '' then if string.find(taxon, 'Incertae sedis', 1, true) then linkText = "''incertae sedis''" linkTarget = 'Incertae sedis' else linkText, dummy = l.kirpFazlaliklar(taxon) end end if linkTarget == '' then linkTarget = linkText end if italic == 'evet' then linkText = TaksonItalik.italicizeTaxonName(linkText, false, abbreviated=='evet') end local link = '' if bold == 'evet' then link = '<b>' .. linkText .. '</b>' else if linkTarget == linkText then link = linkText else link = linkTarget .. '|' .. linkText end link = '[[' .. link .. ']]' end if (extinct == 'evet' or extinct == 'true') and not string.find(link, '†', 1, true) then link = '<span style="font-style:normal;font-weight:normal;">†</span>' .. link end if string.sub(taxon, -2) == '/?' and not string.find(link, '?', 1, true) then link = link .. '<span style="font-style:normal;font-weight:normal;"> (?)</span>' end return link end --[[======================== gosterSiraTablosu ============================== Returns a wikitable showing the ranks and their values as set up by getRankTable(). Kullanımı: {{#invoke:Ototaksonkutu|gosterSiraTablosu}} =============================================================================]] function p.gosterSiraTablosu() local rankTable = l.getirSiraTablosu() local res = '{| class="wikitable sortable"\n|+ Taksonomi şablonlarında değerlendirilen sıralar\n! Sıra !! Görüntüsü !! Değeri\n' for k, v in pairs(rankTable) do local rankShown = l.getirCeviriSira(k) res = res .. TabloSatiri .. l.tabloHucresi(k) .. l.tabloHucresi(rankShown) .. l.tabloHucresi(v) end return res .. TabloSonu end --[[=============================== bul ===================================== Returns the taxon above the specified taxon with a given rank. Kullanımı: {{#invoke:Ototaksonkutu|bul|TAKSON|SIRA}} =============================================================================]] function p.bul(frame) local currTaxon = frame.args[1] or '' if currTaxon == '' then return '<span class="error">no taxon supplied</span>' end local rank = frame.args[2] or '' if rank == '' then return '<span class="error">no rank supplied</span>' end local inHierarchy = true -- still in the taxonomic hierarchy or off the top? local searching = true -- still searching while inHierarchy and searching do local ok, parent = p.getirTaksonBilgiOgesi(frame, currTaxon, 'ebeveyn') if ok and parent ~= '' then currTaxon = parent local ok, currRank = p.getirTaksonBilgiOgesi(frame, currTaxon, 'rank') if currRank == rank then searching = false end else inHierarchy = false end end if inHierarchy and not searching then return currTaxon else return '<span class="error">rank not found</span>' end end --[[============================== ninci ==================================== External utility function primarily intended for use in checking and debugging. Returns the nth level above a taxon in a taxonomic hierarchy, where the taxon itself is counted as the first level. Kullanımı: {{#invoke:Ototaksonkutu|ninci|TAKSON|n=N}} =============================================================================]] function p.ninci(frame) local currTaxon = frame.args[1] or '' if currTaxon == '' then return 'ERROR: no taxon supplied' end local n = tonumber(frame.args['n'] or 1) if n > MaksAramaSeviyesi then return 'Exceeded maximum number of levels allowed (' .. MaksAramaSeviyesi .. ')' end local i = 1 local inHierarchy = true -- still in the taxonomic hierarchy or off the top? while i < n and inHierarchy do local ok, parent = p.getirTaksonBilgiOgesi(frame, currTaxon, 'ebeveyn') if ok and parent ~= '' then currTaxon = parent i = i + 1 else inHierarchy = false end end if inHierarchy then return currTaxon else return 'Level ' .. n .. ' is past the top of the taxonomic hierarchy' end end --[[============================ nSeviyeler ================================= External utility function primarily intended for use in checking and debugging. Returns number of levels in a taxonomic hierarchy, starting from the supplied taxon as level 1. Kullanımı: {{#invoke:Ototaksonkutu|nSeviyeler|TAKSON}} =============================================================================]] function p.nSeviyeler(frame) local currTaxon = frame.args[1] or '' if currTaxon == '' then return 'ERROR: no taxon supplied' end local i = 1 local inHierarchy = true -- still in the taxonomic hierarchy or off the top? while inHierarchy and i < MaksAramaSeviyesi do local ok, parent = p.getirTaksonBilgiOgesi(frame, currTaxon, 'ebeveyn') if ok and parent ~= '' then currTaxon = parent i = i + 1 else inHierarchy = false end end if inHierarchy then return MaksAramaSeviyesi .. '+' else return i end end --[[=========================== siralaHepsi ================================= External utility function primarily intended for use in checking and debugging. Returns a comma separated list of a taxonomic hierarchy, starting from the supplied taxon. Kullanımı: {{#invoke:Ototaksonkutu|siralaHepsi|TAKSON}} =============================================================================]] function p.siralaHepsi(frame) local currTaxon = frame.args[1] or '' if currTaxon == '' then return 'ERROR: no taxon supplied' end return l.doListAll(l.yapTablo(frame, currTaxon)) end function l.doListAll(taxonTable, taxonRankTable) local lst = taxonTable[1] .. '-' .. tostring(taxonRankTable[1]) for i = 2, taxonTable.n, 1 do lst = lst .. ', ' .. taxonTable[i] .. '-' .. taxonRankTable[i] end return lst end --[[============================== cogulSira ================================ Kullanımı: {{#invoke:Ototaksonkutu|cogulSira|SIRA}} =============================================================================]] function p.getirCogulSira(deger) local islem = veri.getirTabloyaGore(deger, "çeviri sıra") return veri.getirTabloyaGore(islem, "çoğul sıra") or "<strong class='error'>" .."Tanınamayan sıra: ".. deger .." <small>[[Modül:Ototaksonkutu/veri|değiştir]]</small>[[Kategori:Otomatik taksonkutu temizleme]]" .."</strong>" end function p.cogulSira(frame) return p.getirCogulSira(frame.args[1]) end --[[============================== altSira ================================== Kullanımı: {{#invoke:Ototaksonkutu|altSira|SIRA}} =============================================================================]] function p.getirAltSira(deger) local islem = veri.getirTabloyaGore(deger, "çeviri sıra") return veri.getirTabloyaGore(islem, "alt sıra") or "<strong class='error'>" .."Tanınamayan sıra: ".. deger .." <small>[[Modül:Ototaksonkutu/veri|değiştir]]</small>[[Kategori:Otomatik taksonkutu temizleme]]" .."</strong>" end function p.altSira(frame) return p.getirAltSira(frame.args[1]) end --[[============================= esasSira ================================== Kullanımı: {{#invoke:Ototaksonkutu|esasSira|SIRA}} =============================================================================]] function l.getirEsasSira(deger) local yazi = mw.ustring.gsub(mw.ustring.gsub( mw.getContentLanguage():lc(deger), "ichno", "" ), "oo", "") return veri.getirTabloyaGore(yazi, "esas sıra") or "hayır" end function p.esasSira(frame) return l.getirEsasSira(frame.args[1]) end --[[=========================== ceviriSira ================================== Kullanımı: {{#invoke:Ototaksonkutu|ceviriSira|SIRA|KONTROL}} =============================================================================]] function l.getirCeviriSira(deger, kontrol) local yazi = deger local sayfaAdi = mw.title.getCurrentTitle().text if mw.ustring.sub( mw.getContentLanguage():lc(yazi), 1, 7 ) == "sırasız" then yazi = "(sırasız)" else yazi = mw.ustring.gsub( yazi, "/(.*)", "" ) if veri.getirTabloyaGore(yazi, "çeviri sıra") then yazi = veri.getirTabloyaGore(yazi, "çeviri sıra") else yazi = (kontrol == "evet" and "<span style='background-color:#F99'>" or "") .. yazi .. (kontrol == "evet" and "</span>" or "") .. (mw.ustring.gsub( sayfaAdi, "/(.*)", "" ) == "Taksonomi" and "[[Kategori:Tanınmayan sıra kullanan taksonomi şablonları]]" or "") end end if kontrol == "evet" and mw.ustring.gsub( sayfaAdi, "/(.*)", "" ) == "Taksonomi" then yazi = yazi .. (mw.getContentLanguage():lcfirst(deger) == deger and "" or "[[Kategori:Baş harfi büyük sıra adı kullanan taksonomi şablonları]]") end return mw.getContentLanguage():ucfirst(yazi) end function p.ceviriSira(frame) return l.getirCeviriSira(frame.args[1], frame.args[2] or "hayır") end --[[=========================== italikTakson ================================ Kullanımı: {{#invoke:Ototaksonkutu|italikTakson|TAKSON|VİRÜS}} =============================================================================]] function p.getirItalikTakson(deger, virus) if virus == "evet" then return veri.getirTabloyaGore(deger, "italik virüs") or "evet" else return veri.getirTabloyaGore(deger, "italik takson") or "hayır" end end function p.italikTakson(frame) return p.getirItalikTakson(frame.args[1], frame.args[2] or "hayır") end --[[========================================================================= Modülde kullanılan fonksiyonlar =============================================================================]] --[[= = = = = = = = = = = = = = = = Önyükleme = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function p.onyukleme(frame) return l.taksonomiOlustur("Denimilia") end function l.onyukleme(takson) local bir = l.secIlk(takson) local iki = l.secSon(takson) local uc = mw.ustring.find(iki, "/") and l.secSon(iki) or "" iki = mw.ustring.find(iki, "/") and l.secIlk(l.secSon(takson)) or iki local sonuc if iki == "?" or uc == "?" then sonuc = "önyükleme/?" .. (iki == "?" and uc or "") elseif mw.getContentLanguage():lc(bir) == "incertae sedis" or mw.getContentLanguage():lc(bir) == "belirsiz yerleştirme" then sonuc = "önyükleme/belirsiz_yerleştirme" else sonuc = iki ~= "" and "aynısı" or "önyükleme" end return sonuc end function l.secIlk(baslik) return mw.ustring.gsub(baslik, "/+[^/]*", "") end function l.secSon(baslik) return mw.ustring.gsub(baslik, "^[^/]*/*", "") end function l.taksonomiOlustur(takson, mesaj) local sonuc = "|-\n|" if l.secSon(mw.title.getCurrentTitle().text) == takson then sonuc = sonuc .. "Şu anda oluşturduğunuz takson:" else sonuc = sonuc .. "<span style='color: Red;'>"..(mesaj or "Tanınmayan takson").."</span> (<span class=plainlinks>" .. "[".. l.taksonomiOlusturBag(takson) .." düzenle]</span>):" end sonuc = sonuc .. "\n|[["..takson.."]]" .. ((mw.title.getCurrentTitle().namespace == 0 or mw.title.getCurrentTitle().nsText == "Şablon") and "[[Kategori:Otomatik taksonkutu temizleme]]" or "") .. "\n|-" return sonuc end function l.taksonomiOlusturBag(takson) return "//tr.wikipedia.org/w/index.php?action=edit&title=Şablon:Taksonomi/" .. mw.uri.encode(mw.getContentLanguage():ucfirst(takson)) .. "&preload=Şablon:Taksonomi/" .. l.onyukleme(takson) end --[[= = = = = = = = = = = = birTaksonuDuzenle = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.birTaksonuDuzenle(taksonAdi) local baglanti = "<span class='plainlinks' style='font-size:small; float:right'> [" if taksonAdi then baglanti = baglanti .. "[[Şablon:Taksonomi/" .. taksonAdi .. "|Taksonomi]];" .. " [//tr.wikipedia.org/w/index.php?title=Şablon:Taksonomi/" .. mw.uri.encode(taksonAdi) .. "&action=edit değiştir]]</span>" end return baglanti end --[[= = = = = = = = = = = = kirpFazlaliklar = = = = = = = = = = = = = = = = = Internal utility function to strip off any extra parts of a taxon name, i.e. anything after a '/'. Thus 'Felidae/?' would be split into 'Felidae' and '?'. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.kirpFazlaliklar(taxonName) local i = mw.ustring.find(taxonName, '/', 1, true) if i then return mw.ustring.sub(taxonName, 1, i-1), mw.ustring.sub(taxonName, i, -1) else return taxonName, '' end end --[[= = = = = = = = = = = = splitTaxonName = = = = = = = = = = = = = = = = = Internal utility function to split a taxon name into its parts and return them. Possible formats include: * taxon * taxon (disambig) * taxon (Subgenus) * taxon/qualifier * combinations, e.g. taxon (disambig)/qualifier = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.ayirTaksonAdlari(taxon) -- get any qualifier present local qualifier = '' local i = mw.ustring.find(taxon, '/', 1, true) if i then qualifier = mw.ustring.sub(taxon, i+1, -1) taxon = mw.ustring.sub(taxon, 1, i-1) end -- get any disambiguator or subgenus local disambig = '' local subgenus = '' i = mw.ustring.find(taxon, ' (', 1, true) if i then local parenTerm = mw.ustring.sub(taxon, i+2, -2) taxon = mw.ustring.sub(taxon, 1, i-1) local char1 = mw.ustring.sub(parenTerm, 1, 1) if char1 == mw.ustring.lower(char1) then disambig = parenTerm else subgenus = parenTerm end end return taxon, disambig, subgenus, qualifier end --[[= = = = = = = = = = = = matchTaxonLink = = = = = = = = = = = = = = = = = Function to determine whether the taxon name derived from the name of the taxonomy template (passed in the parameter taxon) matches the link text (passed in the parameter linkText). The taxon name may have any of the formats: * baseTaxon/qualifier * baseTaxon (disambig) * baseTaxon (Subgenus) [distinguished by the capital letter] * a qualifier may be present after the previous two formats. Examples of matches (baseTaxon ~ linkText): * Pinus ~ Pinus * Pinus sect. Trifoliae ~ Pinus sect. Trifoliae * Pinus sect. Trifoliae ~ ''Pinus'' sect. ''Trifoliae'' [italic markers ignored] * Pinus sect. Trifoliae ~ P. sect. Trifoliae [abbreviated genus name matches] * Bombus (Pyrobombus) ~ Bombus (Pyrobombus) * Bombus (Pyrobombus) ~ B. (Pyrobombus) * Bombus (Pyrobombus) ~ Pyrobombus [link text may just be the subgenus] * Heteractinida ~ "Heteractinida" [double-quotes are ignored in link text] * "Heteractinida" ~ Heteractinida [double-quotes are ignored in base taxon name] * Incertae sedis ~ anything [link text is ignored for matching in this case] * Cetotheriidae with qualifier=? ~ Cetotheriidae (?) = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.matchTaxonLink(taxon, linkText, rankBelowGenus) local dummy linkText, dummy = mw.ustring.gsub(linkText, "''", '') -- remove any italic wikitext in the link text linkText, dummy = mw.ustring.gsub(linkText, '<.->', '') -- strip all tags used to format the link text linkText, dummy = mw.ustring.gsub(linkText, '"', '') -- remove any occurrences of " in the link text local baseTaxon, disambig, subgenus, qualifier = l.ayirTaksonAdlari(taxon) -- split up the taxon name baseTaxon, dummy = mw.ustring.gsub(linkText, '"', '') -- remove any occurrences of " in the base taxon name local match = linkText == baseTaxon or linkText == subgenus or linkText == baseTaxon .. ' (' .. subgenus .. ')' or linkText == mw.ustring.sub(baseTaxon, 1, 1) .. '. (' .. subgenus .. ')' or baseTaxon == 'Incertae sedis' or rankBelowGenus and linkText == mw.ustring.gsub(baseTaxon, '([A-Z]).- (.*)', '%1. %2') or mw.ustring.find(qualifier, '?', 1, true) and mw.ustring.find(linkText, baseTaxon, 1, true) == 1 return match end --[[= = = = = = = = = = = = yapKaynaklariGoster = = = = = = = = = = = = = = = Show the refs field in a taxonomy template. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.yapKaynaklariGoster(taxonName, refs) if mw.text.split(taxonName, '/', true)[1] == 'Incertae sedis' then refs = 'gösterilemez (<i>incertae sedis</i>)' elseif refs == '' then refs = '–' end return refs end --[[= = = = = = = = = = = = = makeTable = = = = = = = = = = = = = = = = = = = Internal utility function to return a table (array) constructed from a taxonomic hierarchy stored in "Şablon:Taksonomi/..." templates. TABLE.n holds the total number of taxa; TABLE[1]..TABLE[TABLE.n] the taxon names. The last taxon in the table will either (a) have a taxonomy template but with no parent given (e.g. 'Life') or (b) not have a taxonomy template. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.yapTablo(frame, currTaxon) local taxonTable = {} local taxonRankTable = {} local ok, rank, parent local i = 1 local topReached = false -- reached the top of the taxonomic hierarchy? repeat taxonTable[i] = currTaxon ok, rank = p.getirTaksonBilgiOgesi(frame, currTaxon, 'sıra') if ok then taxonRankTable[i] = string.lower(rank) else taxonRankTable[i] = '' end ok, parent = p.getirTaksonBilgiOgesi(frame, currTaxon, 'ebeveyn') if ok and parent ~= '' then currTaxon = parent i = i + 1 else topReached = true -- reached the top of the hierarchy or tried to use a non-existent taxonomy template end until topReached or i > MaksAramaSeviyesi taxonTable.n = math.min(i, MaksAramaSeviyesi) return taxonTable, taxonRankTable end --[[= = = = = = = = = = = = getRankTable = = = = = = = = = = = = = = = = = = Internal utility function to set up a table of numerical values corresponding to 'Linnaean' ranks, with upper ranks having higher values. In a valid taxonomic hierarchy, a lower rank should never have a higher value than a higher rank. The actual numerical values are arbitrary so long as they are ordered. The ranks should correspond to those in Şablon:Taksonkutu/Çeviri sıralama. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.getirSiraTablosu() return { ['sınıf'] = 1400, cohort = 1100, ['bölüm'] = 1500, domain = 1700, familya = 800, forma = 100, ['cins'] = 600, grandordo = 1005, ['grandordo-mb'] = 1002, hyperfamilia = 805; ['infrasınıf'] = 1397, infralegio = 1197, ['infratakım'] = 997, ['infraşube'] = 1497, infraalem = 1597, infraoymak = 697, legio = 1200, magnordo = 1006, ['mikroşube'] = 1495, ['mikrotakım'] = 995, mirordo = 1004, ['mirordo-mb'] = 1001, nanophylum = 1494, nanordo = 994, ['takım'] = 1000, parafamilia = 800, parvclassis = 1396; -- same as subterclassis parvordo = 996, ['şube'] = 1500, alem = 1600, seksiyon = 500, --seri = 400, used too inconsistently to check ['tür'] = 300, ['altsınıf'] = 1398, subcohort = 1098, ['altbölüm'] = 1498, altfamilya = 798, altcins = 598, sublegio = 1198, ['alttakım'] = 998, ['altşube'] = 1498, altalem = 1598, altseksiyon = 498, ['alttür'] = 298, subterclassis = 1396; -- same as parvclassis altoymak = 698, ['üstsınıf'] = 1403, supercohort = 1103, ['üstbölüm'] = 1503, superdomain = 1703, ['üstfamilya'] = 803, superlegio = 1203, ['üsttakım'] = 1003, ['üstşube'] = 1503, ['üstalem'] = 1603, ['üstoymak'] = 703, oymak = 700, varyete = 200, zoodivisio = 1300, zoosectio = 900, zoosubdivisio = 1298, zoosubsectio = 898, } end --[[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Function to look up the arbitrary numerical value of a rank in a rank value table. "Ichno" and "oo" ranks are not stored separately, so if present the prefix is removed. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.araSiraDegeri(rankValTable, rank) local rankVal = rankValTable[rank] if not rankVal then -- may be an "ichno" or "oo" ranks rank = mw.ustring.gsub(mw.ustring.gsub(rank, '^ichno', ''), '^oo', '') if rank == 'rdo' then rank = 'ordo' end rankVal = rankValTable[rank] end return rankVal end --[[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]] function l.tabloHucresi(arg1, arg2) local text, style if arg2 then style = arg1 text = arg2 else style = '' text = arg1 end local res = '|' if style ~= '' then res = res .. style .. '|' end return res .. text .. '\n' end return p
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Modul belgelemesi gor degistir gecmis temizle Bu modul su Lua modullerini kullaniyor Modul No globalsModul Ototaksonkutu veriModul TaksonItalikOtomatik taksonkutu sistemi belgelemesi Giris Neden bu sistem Calismasini saglamak Daha teknik detaylar Cagirilan tum sablon ve modullerin listesi Sablonlar Otomatik taksonkutu tum taksonlarda kullanilabilen bilgi kutusu Jeolojik aralik herhangi bir taksonun yasadigi araligi gosterirken kullanilabilecek sablon Tur korunma durumu Moduller Ototaksonkutu otomatik taksonkutuyu olusturan modul Ototaksonkutu veri otomatik taksonkutu icin gerekli olan verileri barindiran modul Ototaksonkutu sablon arayuzu otomatik taksonkutu sablonunun parametrelerini module asil module aktaran yardimci modul Jeolojik aralik jeolojik aralik sablonunu destekleyen ve tum verilerini barindiran modul Korunma durumu Bu modul otomatik taksonkutu sablonunu calistirmaya yarayan Modul Ototaksonkutu sablon arayuzu modulunun ana fonksiyonlarini barindiran bir Lua moduludur Direkt bu modul uzerinden kullanabileceginiz belli basli fonksiyonlar mevcuttur bilimsel siniflandirmaya gore alt cins ve uzerinde bulunan tum kademeler icin bu modul kullanilabilir durumdadir Alt cins in alt kademelerinde bulunan tur gibi kademeler icin ise Modul Ototaksonkutu sablon arayuzu modulunde ozellestirmeler mevcuttur Bunlar da yalnizca otomatik taksonkutu sablonu icin gecerlidir Taksonomi Felis tarzindaki sayfalarda tutulan verileri kullanarak size herhangi bir takson hakkinda bilgi vermek icin kullanilan fonksiyonlari burada bulabilirsiniz Tum taksonomi veritabanini gormek icin Taksonomi sablonlari sayfasina bakabilirsiniz taksonBilgi Sablon Taksonomi TAKSON sayfasina erisip istenilen verileri size verir eger aynisi baglantisi mevcutsa aynisi olan taksonun bilgilerini verir Kullanimi invoke Ototaksonkutu taksonBilgi TAKSON GIRDI GIRDI sunlardan biridir ebeveyn sira bag sayfa bag yazi tukenmis hep goruntule kaynak aynisi veya hepsi Eger GIRDI belirlenmediyse varsayilan deger hepsi olur tum bilgiler tek bir satirda ile ayrilarak yazilir taksonkutuListe Girilen taksonun hiyerasisini en uste kadar bulup bunu otomatik taksonkutuya yansitmada yardimci olur Kullanimi invoke Ototaksonkutu taksonkutuListe TAKSON taks ust sayisi gosterilecek ust seviye takson sayisi siralama mevcut TAKSON icin yazar adi ve tarihi ust siralama mevcut TAKSON un ebeveyni icin yazar adi ve tarihi bust siralama mevcut TAKSON un ebeveyninin ebeveyni icin yazar adi ve tarihi bbust siralama mevcut TAKSON un ebeveyninin ebeveyninin ebeveyni icin yazar adi ve tarihi bbbust siralama mevcut TAKSON un ebeveyninin ebeveyninin ebeveyninin ebeveyni icin yazar adi ve tarihi secili kalin TAKSON un yazisinin satirda kalin gozukmesi icin kalin yazin virus virus italik standartlarini kullanmak icin evet yazin Taksonomi Felis icin bir deneme yapilacak olursa su sekilde olur class wikitable invoke Ototaksonkutu taksonkutuListe Felis Alem AnimaliaSube ChordataSinif MammaliaTakim CarnivoraAlt takim FeliformiaFamilya FelidaeAlt familya FelinaeCins FelisesasSira Bu fonksiyon Otomatik taksonkutu sisteminde kullanilan konfigurasyon fonksiyonlarindan bir tanesidir Modul Ototaksonkutu taksonkutuListe tarafindan kullanilmaktadir invoke Ototaksonkutu esasSira SIRA Girilen parametrenin yani Latincedeki siralamanin bir esas Linnaean siralamasi olup olmadigini kontrol eder evet veya hayir ciktisi verir Bu sablonu duzenleyerek hangi siralamalarin esas olarak degerlendirilecegi ve otomatik taksonkutuda o sekilde goruntulenecegi belirlenebilir Su anda esas siralama olarak degerlendirilenler alem sube bolum sinif takim familya cins ve tur Ayrica bunlarin ichno ile oo halleri ceviriSira Bu fonksiyon Otomatik taksonkutu sisteminde kullanilan konfigurasyon fonksiyonlarindan bir tanesidir Modul Ototaksonkutu taksonkutuListe tarafindan kullanilmaktadir invoke Ototaksonkutu ceviriSira SIRA kontrol KONTROL Latincede yazilmis bir takson adinin Turkce karsiligini verir Eger girilen siralama bu sablonda ekli degilse bu sirayi barindiran taksonomi sablonu Kategori Taninmayan sira kullanan taksonomi sablonlari kategorisine yerlestirilecektir altSira Bu fonksiyon belirtilmis siralamanin bir alt sirasini asil olan bize verir Asil kullanimi Sablon Otomatik taksonkutu icerisindedir bahsi gecen taksonun sirasi girildiginde bir sonraki alt siralamanin getirilmesini saglar Mesela cins girildiginde Tur olarak altsube girildiginde Sinif Ustsinif veya Classis degil olarak cikti verir invoke Ototaksonkutu altSira SIRA Eger bir siralama bu listede yoksa bir hata mesaji yansitilacaktir Bu hatayi duzeltmek icin sablonu duzenleyin var olmayan takson siralamasini bulunmasi gereken bir alt siralamasini verecek sekilde ekleyin Sablonun icerigine girdiginizde zaten kendisini anlatmaktadir Alt ve ust seklindeki siralamalar ciktiya alinmaz bu siralamalarin buyuk cogunlukla bahsi gecen taksonun yanina dizilmesi beklenir ornek olarak Dinozor italikTakson Bu fonksiyon Otomatik taksonkutu sisteminde kullanilan konfigurasyon fonksiyonlarindan bir tanesidir Modul Ototaksonkutu taksonkutuListe tarafindan kullanilmaktadir invoke Ototaksonkutu italikTakson TAKSON VIRUS Bir taksonun italik yazilip yazilmamasi gerektigine karar verir virus olup olmamasina veya siralamasina bakarak Yeni bir tip sisteme eklendiginde guncellemenmesi gereken sablonlardan biri Kullanim invoke Ototaksonkutu italikTakson i takson sira i i evet i veya i hayir i virus mevcut deger 2 hayir virus invoke Ototaksonkutu italikTakson tur evet invoke Ototaksonkutu italikTakson cins evet invoke Ototaksonkutu italikTakson familya hayir invoke Ototaksonkutu italikTakson familya evet evet invoke Ototaksonkutu italikTakson strain evet hayirtaksonkutuRengi Modul Duzenleyicilerine not Bu fonksiyon taksonomi takson terimlerini iceren takson siralamasina gore renk belirleyen Otomatik taksonkutu sablonunun taksonkutu renginin degistirilmesine dayanmaktadir yani degisime ugrayabilirler Renkler rgb bicimi kullanilarak belirlenmelidir invoke Ototaksonkutu taksonkutuRengi TAKSON Amac Bu fonksiyon taksonkutusu sisteminde kullanilan konfigurasyon fonksiyonlarindan bir tanesidir otomatik taksonkutu sisteminde kullanilmaktadir Bir taksonkutusunun uygun rengini olusturmaktadir Yalnizca diger taksonkutusu sablonlari tarafindan kullanilmalidir Taksonomi sablonlari tarafindan kullanimi Otomatik taksonkutulari Modul Ototaksonkutu modulundeki bir fonksiyonu kullanmaktadir ki bu da taksonun renkle eslesmesini taksonomi sablonlarinda kodlanmis olan taksonomi hiyerarsisini arayarak orn Taksonomi takson adi biciminde baslayan sablon adlarini tarayarak Bir taksonkutu icerisindeki eslesmis renk Otomatik taksonkutulari genellikle renklerini otomatik olusturur Eger olusturamazsa ya da birtakim bilinmeyen nedenlerden dolayi otomatik rengi gormezden gelirse renk benzeri parametresi uygulanan takson icin girilebilir Sonucta renk benzeri Animalia kodu bir taksonkutusu icerisindeyse rengin eslesmesini uygun hayvanlar alemindeki renk ile degistirir Girilen renk benzeri parametresi bu sablonun kullandigi switch parametrelerinden biri olmalidir Yani renk benzeri Felis ise yaramaz ve hata rengine yonlendirir Taksonkutu renk semasi Virusler rgb 250 250 190 ayrica ViroidlerBakteri rgb 220 235 245 Arkea rgb 195 245 250 ayrica Nanarchaeota Korarchaeota Thaumarchaeota Crenarchaeota ve EuryarchaeotaOkaryotlar rgb 245 215 255 Excavata Amoebozoa ve Opisthokonta da dahil olmak uzere okaryotlarin tek bir rengi mevcutHayvanlar rgb 235 235 210 Mantarlar rgb 145 250 250 Archaeplastida rgb 180 250 180 ayrica Bitkiler ve Viridiplantaergb 200 250 80 ayricaincertae sedis rgb 250 240 230 Iknotaksonlar rgb 230 222 214 rgb 250 250 220 Izleyici kategoriler Kategori Hata rengine sahip taksonkutular 0 Kategori Rengi olmayan taksonkutular 157 Kategori Incertae sedis rengine sahip taksonkutular 0 Yukaridaki belgeleme icerigi Modul Ototaksonkutu belge sayfasindan yansitilmaktadir degistir gecmis Kullanicilar denemelerini bu sablonun deneme tahtasi degistir fark ve test senaryosu olustur sayfalarinda yapabilirler Lutfen kategorileri belge alt sayfasina ekleyin Bu modul ile ilgili alt sayfalar icin buraya tiklayiniz Bu modul Otomatik Taksonkutu sisteminin ana moduludur Otomatik taksonkutu tarafindan kullanilmaktadir Ozellikle sagladigi sey taksonomi hiyerasisini otomatik olarak taksonomi sablonlarinda listelemektir Sablon Taksonomi TAKSON ADI bicimindeki sablonlari kullanarak sablon genisletme hatalarina sebep olmadan sayfasina baglanir require Modul No globals local veri require Modul Ototaksonkutu veri local TaksonItalik require Modul TaksonItalik Modul TaksonItalik ten takson adini italik gostermek icin bir fonksiyon local TabloSatiri n local TabloSonu n local p disaridan erisilebilen fonksiyonlar local l modul icinde kullanilan fonksiyonlar ayristirmak icin local colour taksonkutu ve toksan listelemeleri icin renk Bir taksonomi hiyerasisinin cikabilecegi en yuksek takson derinligini belirler islem yapma suresini azaltir ve yanlis belirlenmis hiyerasilere karsi koruma saglar ornegin donguler Bu deger disaridan su sekilde cagirilabilir invoke Ototaksonkutu getirMaksAramaSeviyesi local MaksAramaSeviyesi 100 function p getirMaksAramaSeviyesi return MaksAramaSeviyesi end taksonkutuRengi Bir taksonkutu icin gosterilen rengi belirler taksonomi hiyerasisindeki en ust taksona cikarak en bas taksonun rengini getirir incertae sedis bir istisnadir bu direk kendi rengini belirler Gecerli bir taksonkutu renginin CSS rgb bicimini kullandigi kabul edilmistir tum renkler bu bicimdedir Eger taksonkutu icin hicbir renk bulunamadiysa transparent yani renksiz gorunur ama taksonomi hiyerasisi cok yukari gidiyorsa hata rengi gorunur Kullanimi invoke Ototaksonkutu taksonkutuRengi TAKSON function p taksonkutuRengi frame taxon return p getirTaksonkutuRengi frame taxon or frame args 1 or end function p getirTaksonkutuRengi frame currTaxon cats renkler bu fonksiyon icin kureseldir varsayilan degeri ise string turundedir local i 1 sayma islemi baslatiliyor local searching currTaxon hala renk araniyor mu local foundICTaxon false bir incertae sedis var mi diye kontrol et while searching and i lt MaksAramaSeviyesi do local plainCurrTaxon dummy l kirpFazlaliklar currTaxon gereksiz yazilari soyutla if string lower plainCurrTaxon incertae sedis then foundICTaxon true else local possibleColour veri getirTabloyaGore plainCurrTaxon renkler if possibleColour and string sub possibleColour 1 3 rgb then colour possibleColour searching false end end if searching then local ok parent p getirTaksonBilgiOgesi frame currTaxon ebeveyn if ok and parent then currTaxon parent i i 1 else searching false hiyerasinin en ust katmanina cik veya var olmayan taksonomi sablonlarini kullanmaya calis end end end if colour then if foundICTaxon then colour veri getirTabloyaGore incertae sedis renkler table insert cats Kategori Incertae sedis rengine sahip taksonkutular elseif searching then MaksAramaSeviyesi ni asan hiyerasi seviyeleri colour transparent text align center border 2px solid red error colour table insert cats Kategori Hata rengine sahip taksonkutular else colour transparent table insert cats Kategori Rengi olmayan taksonkutular end end return colour end ustSeviyeTakson Burasi herhangi bir takson hiyerasisinde en uste gelebilecek takson gruplarini belirler function l ustSeviyeTakson taxon return taxon Life or taxon Veterovata or taxon Ichnos end taksonkutuListe Girilen taksonun hiyerasisini en uste kadar bulup bunu otomatik taksonkutuya yansitmada yardimci olur Kullanim invoke Ototaksonkutu taksonkutuListe TAKSON taks ust sayisi gosterilecek ust seviye takson sayisi siralama mevcut TAKSON icin yazar adi ve tarihi ust siralama mevcut TAKSON un ebeveyni icin yazar adi ve tarihi bust siralama mevcut TAKSON un ebeveyninin ebeveyni icin yazar adi ve tarihi bbust siralama mevcut TAKSON un ebeveyninin ebeveyninin ebeveyni icin yazar adi ve tarihi bbbust siralama mevcut TAKSON un ebeveyninin ebeveyninin ebeveyninin ebeveyni icin yazar adi ve tarihi secili kalin TAKSON un yazisinin satirda kalin gozukmesi icin kalin yazin virus virus italik standartlarini kullanmak icin evet yazin function p taksonkutuListe frame moduleTable if moduleTable then frame args moduleTable end local currTaxon frame args 1 or if currTaxon then return end local displayN tonumber frame args taks ust sayisi or 1 1 local authTable authTable 1 frame args siralama or authTable 2 frame args ust siralama or authTable 3 frame args bust siralama or authTable 4 frame args bbust siralama or authTable 5 frame args bbbust siralama or local boldFirst frame args secili kalin or link degeri link veya kalin local virus frame args virus or hayir degeri evet veya hayir local offset tonumber frame args offset or 0 eger siralama parametresi bahsi gecen taksondan daha alt seviyedeki bir takson icinse siralamalarin hepsini kaydir if offset 0 then for i 1 5 do local j i offset if j lt 5 then authTable i authTable j else authTable i end end end local taxonTable taxonRankTable l yapTablo frame currTaxon local res local topTaxonN taxonTable n eger mumkunse buyuk buyuk buyuk ebeveynin ustundeki tum taksonlari siralamasiz siralamasini belirleyen yazar olmadan goster for i topTaxonN 6 1 do res res p gosterTakson frame taxonTable i taxonRankTable i topTaxonN i displayN gt i virus end ebeveynin ustundeki tum taksonlari eger siralamalari siralamasini belirleyen yazarlar ile birlikte goster for i math min topTaxonN 5 2 1 do res res p gosterTakson frame taxonTable i taxonRankTable i topTaxonN i authTable i displayN gt i virus end hedef taksonu goster her daim kalin ve gosterilir res res p gosterTakson frame taxonTable 1 taxonRankTable 1 topTaxonN 1 authTable 1 true boldFirst virus return res end Bir taksonkutudaki tek bir takson satirini olustur function p gosterTakson frame taxon rank isTopTaxon auth force boldFirst virus eger bir ust seviye taksonda degilsek mesela Life degilse ve ebeyevn yoksa bu bir hatadir if isTopTaxon then if l ustSeviyeTakson taxon then return bir ust seviye takson gosterme elseif mw title new Taksonomi taxon Sablon exists then bu taksonomi sablonunda bir ebeveyn tanimlanmamis return l taksonomiOlustur taxon Taksonomi sablonunda bir ebeveyn belirtilmemis n TabloSatiri else bu taksonun bir taksonomi sablonu mevcut degil return l taksonomiOlustur taxon Eksik taksonomi sablonu n TabloSatiri end else if showing is not already forced force if it s a principal rank or an authority is specified force force or l getirEsasSira rank evet or auth if not force then if showing is still not already forced force if the taxonomy template has always display set local ok alwaysDisplay p getirTaksonBilgiOgesi frame taxon hep goruntule force alwaysDisplay evet or alwaysDisplay true end if force then local res l tabloHucresi lt span style white space nowrap gt l getirCeviriSira rank lt span gt local bold hayir if boldFirst kalin then bold evet end if auth then auth lt br gt lt small gt auth l taksonKaynak frame taxon lt small gt elseif bold evet then auth lt br gt lt small gt l taksonKaynak frame taxon lt small gt end local res res l tabloHucresi l getirTaksonBag frame taxon rank bold virus auth italic abbreviated return res TabloSatiri else return end end end function l taksonKaynak frame taxon taksonun kaynagi belirtilmisse onu cagir local ok taksonKaynak p getirTaksonBilgiOgesi frame taxon kaynak if ok and taksonKaynak then taksonKaynak frame extensionTag name ref content taksonKaynak args name taxon kaynak end return taksonKaynak end taksonomiListe Returns the cells of the taxonomy table displayed on the right hand side of Template Taxonomy pages Kullanimi invoke Ototaksonkutu taksonomiListe TAKSON function p taksonomiListe frame return l taksonomiListe frame frame args 1 or end function l taksonomiListe frame currTaxon local cats if currTaxon then return class infobox biota n TabloSatiri l tabloHucresi l tabloHucresi HATA hicbir takson girilmedi TabloSonu end local taxonTable taxonRankTable l yapTablo frame currTaxon local rankValTable l getirSiraTablosu local lastRankVal 1000000 local orderOk true check whether the taxonomy is for viruses use already determined taxon colour if possible local virus hayir local taxoColour colour if taxoColour then if taxonTable taxonTable n Ichnos or taxonTable taxonTable n Veterovata then taxoColour p getirTaksonkutuRengi frame taxonTable taxonTable n cats else taxoColour p getirTaksonkutuRengi frame taxonTable taxonTable n 1 cats end end if taxoColour p getirTaksonkutuRengi frame virus cats then virus evet end add information message local res lt p style text align right gt Tabloda kalin olarak gorunenler taksonkutularda gorunur lt br gt ya asil bir siradir ya da lt code gt hep goruntule evet lt code gt degerindedir lt p gt n start table res res class infobox biota style text align left font size 100 n TabloSatiri colspan 4 style text align center background color taxoColour Ata taksonlar n deal first with the top level taxon if there are no errors it should be Life Veterovata Ichnos which are not displayed local taxon taxonTable taxonTable n if not l ustSeviyeTakson taxon then local msg Taksonomi sablonu eksik if mw title new Taksonomi taxon Sablon exists then msg Ebeveyn takson gerekli end res res TabloSatiri l tabloHucresi colspan 2 l taksonomiOlustur taxon msg end now output the rest of the table local currRankVal for i taxonTable n 1 1 1 do check ranks are in right order in the hierarchy taxon taxonTable i local rank taxonRankTable i currRankVal l araSiraDegeri rankValTable rank if currRankVal then orderOk currRankVal lt lastRankVal if orderOk then lastRankVal currRankVal end else orderOk true end see if the row will be displayed in a taxobox bold the rank if so local boldRank false local ok alwaysDisplay p getirTaksonBilgiOgesi frame taxon hep goruntule if ok and alwaysDisplay evet or alwaysDisplay true then boldRank true else boldRank l getirEsasSira rank evet end now return a row of the taxonomy table with anomalous ranks marked local errorStr if not orderOk then errorStr evet end local link l getirTaksonBag frame taxon rank virus bold italic abbreviated res res l taksonomiListeSatiri taxon rank link boldRank errorStr end close table res res TabloSonu error tracking for taxonomy templates if the last row has an anomalous rank put the page in an error tracking category if not orderOk then table insert cats Kategori Aykiri sira gosteren taksonomi sablonlari end if the last row has a taxon name in the page name that does not match the link text put the taxonomy template in a tracking category local dummy linkText p getirTaksonBilgiOgesi frame taxon bag yazi local match l matchTaxonLink taxon linkText currRankVal and currRankVal lt rankValTable cins if not match then table insert cats Kategori Bag yazisi ve adi eslesmeyen taksonomi sablonlari taxon end if cats 1 then res res frame expandTemplate title Sablon diger args table concat cats end return res end taxonomyListRow Returns a single row of the taxonomy table displayed on the right hand side of Template Taxonomy pages function l taksonomiListeSatiri taxon rank link boldRank error local res if taxon or rank then return res end local baseTaxon qualifier l kirpFazlaliklar taxon if appropriate make it clear that some taxa have been skipped via a row if qualifier gec then res res TabloSatiri l tabloHucresi l tabloHucresi end now generate a row of the table res res TabloSatiri local cellContent local anglicizedRank l getirCeviriSira rank if boldRank then cellContent cellContent lt span style white space nowrap gt lt b gt anglicizedRank lt b gt lt span gt else cellContent cellContent lt span style white space nowrap gt anglicizedRank lt span gt end if error evet then cellContent lt span style background color FDD gt cellContent lt span gt end res res l tabloHucresi cellContent l tabloHucresi lt span style white space nowrap gt link lt span gt l tabloHucresi lt span style font size smaller gt qualifier lt span gt l tabloHucresi lt span style white space nowrap gt l birTaksonuDuzenle taxon lt span gt return res end cagirTaksonomiAnahtari Prepares for and then calls Template Taxonomy key to display a taxonomy template page It does this by building up the information the template requires following one aynisi link if required Kullanimi invoke Ototaksonkutu cagirTaksonomiAnahtari ebeveyn sira tukenmis hep goruntule bag sayfa value of link parameter in taxonomy template bag yazi value of parameter 2 in taxonomy template aynisi local PARENT 1 local RANK 2 local LINK TARGET 3 local LINK TEXT 4 local ALWAYS DISPLAY 5 local EXTINCT 6 local SAME AS 7 local REFS 8 function p cagirTaksonomiAnahtari frame local taxon frame args takson or local parent frame args ebeveyn or local rank frame args sira or local extinct string lower frame args tukenmis or local alwaysDisplay string lower frame args hep goruntule or local linkTarget frame args bag sayfa or local linkText frame args bag yazi or this is the raw link text and can be local refs frame args kaynak or local sameAsTaxon frame args aynisi or if sameAsTaxon then try using the aynisi taxon it s an error if it doesn t exist local ok sameAsInfoStr pcall frame expandTemplate frame title Sablon Taksonomi sameAsTaxon args makine kodu hepsi if ok then local sameAsInfo mw text split sameAsInfoStr true aynisi taxon s taxonomy template must not have a aynisi link if sameAsInfo SAME AS then if parent then parent sameAsInfo PARENT end if rank then rank sameAsInfo RANK end if extinct then extinct string lower sameAsInfo EXTINCT end if alwaysDisplay then alwaysDisplay string lower sameAsInfo ALWAYS DISPLAY end if linkTarget then linkTarget sameAsInfo LINK TARGET end if linkText then linkText sameAsInfo LINK TEXT end if refs and parent sameAsInfo PARENT then refs sameAsInfo REFS end else return lt span style color red font size 1 1em gt Error attempt to follow two same as links lt span gt lt code gt same as sameAsTaxon lt code gt but Sablon Taksonomi sameAsTaxon also has a lt code gt same as lt code gt parameter end else return l eksikTaksonomiAnahtari sameAsTaxon given as the value of lt code gt same as lt code gt end end local link linkTarget if linkText and linkText linkTarget then link link linkText end check consistency of extinct status if this taxon is not extinct parent must not be either local extinctError hayir if parent and extinct or extinct hayir or extinct false then local ok parentExtinct p getirTaksonBilgiOgesi frame parent tukenmis if ok and parentExtinct evet or parentExtinct true then extinctError evet end end taksonomi anahtarini olusturmaya baslayalim local taksAna table insert taksAna l taksonomiListe frame taxon if mw title new Taksonomi parent Sablon exists then if linkTarget then if mw title new linkTarget exists then table insert taksAna NOINDEX else table insert taksAna Vikipedi de henuz linkTarget isimli bir madde bulunmamakta Bu maddeyi linkTarget olusturarak yardimci olabilirsiniz Su anda bulundugunuz sayfa linkTarget bilimsel siniflandirmasi hakkinda size bilgi vermektedir Kategori Kirmizi baglantili taksona sahip taksonomi sablonlari l secSon mw title getCurrentTitle text end end else table insert taksAna lt strong class error gt Gelistiriliyor lt strong gt Eger asagidaki tablo dogru gorunuyorsa secilmis takson icin gerekli bilgiler mevcut demektir n l eksikTaksonomiAnahtari parent lt code gt ebeveyn lt code gt degeri olarak girildi end local ok parRefs p getirTaksonBilgiOgesi frame parent kaynak table insert taksAna n Niye burada oldugundan emin degil misin Otomatik taksonkutu sistemini Vikipedi Otomatik taksonkutu sistemi giris ogrenmeye basla n class wikitable n n Ebeveyn n lt code gt parent lt code gt amp x5B Sablon Taksonomi parent Taksonomi lt span class plainlinks gt l taksonomiOlusturBag parent degistir amp x5D lt span gt n n Sira n lt code gt rank lt code gt lt code gt l getirCeviriSira rank evet lt code gt seklinde gorunur rank and or lt span class error gt bir sira belirtilmeli lt span n n Bag n lt code gt l yapBag taxon extinct hayir p getirItalikTakson rank nil linkTarget link lt code gt linkTarget link and or lt code gt linkTarget lt code gt sayfasina baglanir n n Tukenmis n extinct and lt code gt extinct lt code gt or hayir extinctError evet and lt span style background color FCC gt ebeveyn tukenmis olarak belirtilmis lt span gt or n n Hep goruntule n alwaysDisplay and lt code gt alwaysDisplay lt code gt Kategori Hep goruntule kullanan taksonomi sablonlari taxon or l getirEsasSira rank evet and evet asil sira or hayir n n Taksonomi kaynaklari n l yapKaynaklariGoster taxon refs n n Ebeveyn taksonominin kaynaklari n l yapKaynaklariGoster parent parRefs n sameAsTaxon and n Takson ile ayni lt code gt sameAsTaxon lt code gt amp x5B Sablon Taksonomi sameAsTaxon Taksonomi lt span class plainlinks gt l taksonomiOlusturBag sameAsTaxon degistir amp x5D lt span gt n or mw ustring match taxon gec and n colspan 2 Sonunda gec varsa bakiniz Vikipedi Otomatik taksonkutu sistemi gelismis taksonomi Gecilen taksonomi sablonlari Gecilen taksonomi sablonlari lt br gt Gecilen takson icin bakiniz Sablon Taksonomi mw ustring gsub taxon gec or mw ustring match taxon and n colspan 2 Sonunda varsa bakiniz Vikipedi Otomatik taksonkutu sistemi gelismis taksonomi Kuskulu atamalar Kuskulu atamalar or mw ustring match l secSon taxon Incertae sedis and colspan 2 Incertae sedis takson isimleri icin bakiniz Vikipedi Otomatik taksonkutu sistemi gelismis taksonomi Incertae sedis taksonomi sablonlari Incertae sedis taksonomi sablonlari or n extinctError evet and Kategori Tutarsiz tukenmis degerine sahip taksonomi sablonlari taxon or mevcut sayfanin vikiveri ogesini bulalim local ID mw wikibase getEntityIdForCurrentPage local oge ID and mw wikibase getEntity ID if not oge then table insert taksAna Kategori Vikiveri ogesine bagli olmayan taksonomi sablonlari taxon else vikiveri de taksonomi sablonu icin herhangi bir etiket girilmis mi local vikiveriEtiket oge getLabel tr if vikiveriEtiket then else table insert taksAna Kategori Vikiveri de etiketi eksik olan taksonomi sablonlari taxon end vikiveri de taksonomi sablonu icin herhangi bir aciklama girilmis mi local vikiveriAciklama oge getDescription tr if vikiveriAciklama then else table insert taksAna Kategori Vikiveri de aciklamasi eksik olan taksonomi sablonlari taxon end end return table concat taksAna end function l eksikTaksonomiAnahtari takson mesaj return mw title new Sablon Taksonomi takson exists and or lt p gt lt span class error gt Hata eksik taksonomi sablonu lt span gt takson icin taksonomi bilgisi eksik mesaj and mesaj or lt span gt takson dogru yazdiginiza emin misiniz Belki Ingilizce adi degil de bilimsel adi olabilir Eminseniz Sablon Taksonomi takson olusturulmasi gerekir l taksonomiOlusturBag takson sayfayi olustur lt p gt end taksonBilgi Extracts and returns information from Sablon Taksonomi TAXON following one aynisi link if required Kullanimi invoke Ototaksonkutu taksonBilgi TAKSON GIRDI GIRDI sunlardan biridir ebeveyn sira bag sayfa bag yazi tukenmis hep goruntule kaynak aynisi veya hepsi Eger GIRDI belirlenmediyse varsayilan deger hepsi olur tum bilgiler tek bir satirda ile ayrilarak yazilir function p taksonBilgi frame local taxon frame args 1 or local item frame args 2 or if item then item hepsi end local ok info p getirTaksonBilgiOgesi frame taxon item return info end getirTaksonBilgiOgesi Utility function to extract an item of information from a taxonomy template following one aynisi link if required function p getirTaksonBilgiOgesi frame taxon item local ok info item hancer is a special case if item hancer then ok info p getirTaksonBilgiOgesi frame taxon tukenmis if ok then if info evet or info true then info amp dagger else info end end item hancer else ok info pcall frame expandTemplate frame title Sablon Taksonomi taxon args makine kodu item if ok then if info then try aynisi local sameAsTaxon frame expandTemplate title Sablon Taksonomi taxon args makine kodu aynisi if sameAsTaxon then ok info pcall frame expandTemplate frame title Sablon Taksonomi sameAsTaxon args makine kodu item end end end end if ok then if item is bag yazi trim info and check whether needs to be added if item bag yazi then there is a newline at the end of linkText when taxonomy template has link LINK TARGET LINK TEXT info mw text trim info if string sub taxon 2 and not string find info 1 true then info info lt span style font style normal font weight normal gt lt span gt end end else info Sablon Taksonomi taxon error indicator in code before conversion to Lua end return ok info end getirTaksonBag Internal function to drive l yapBag function l getirTaksonBag frame taxon rank bold italic abbreviated virus local ok extinct p getirTaksonBilgiOgesi frame taxon tukenmis if italic and taxon Virus then italic p getirItalikTakson rank virus end local ok linkTarget p getirTaksonBilgiOgesi frame taxon bag sayfa local ok linkText p getirTaksonBilgiOgesi frame taxon bag yazi return l yapBag taxon extinct bold italic abbreviated linkTarget linkText end yapBag Actually make the link function l yapBag taxon extinct bold italic abbreviated linkTarget linkText local dummy if link text is missing try to find a replacement if linkText then if string find taxon Incertae sedis 1 true then linkText incertae sedis linkTarget Incertae sedis else linkText dummy l kirpFazlaliklar taxon end end if linkTarget then linkTarget linkText end if italic evet then linkText TaksonItalik italicizeTaxonName linkText false abbreviated evet end local link if bold evet then link lt b gt linkText lt b gt else if linkTarget linkText then link linkText else link linkTarget linkText end link link end if extinct evet or extinct true and not string find link 1 true then link lt span style font style normal font weight normal gt lt span gt link end if string sub taxon 2 and not string find link 1 true then link link lt span style font style normal font weight normal gt lt span gt end return link end gosterSiraTablosu Returns a wikitable showing the ranks and their values as set up by getRankTable Kullanimi invoke Ototaksonkutu gosterSiraTablosu function p gosterSiraTablosu local rankTable l getirSiraTablosu local res class wikitable sortable n Taksonomi sablonlarinda degerlendirilen siralar n Sira Goruntusu Degeri n for k v in pairs rankTable do local rankShown l getirCeviriSira k res res TabloSatiri l tabloHucresi k l tabloHucresi rankShown l tabloHucresi v end return res TabloSonu end bul Returns the taxon above the specified taxon with a given rank Kullanimi invoke Ototaksonkutu bul TAKSON SIRA function p bul frame local currTaxon frame args 1 or if currTaxon then return lt span class error gt no taxon supplied lt span gt end local rank frame args 2 or if rank then return lt span class error gt no rank supplied lt span gt end local inHierarchy true still in the taxonomic hierarchy or off the top local searching true still searching while inHierarchy and searching do local ok parent p getirTaksonBilgiOgesi frame currTaxon ebeveyn if ok and parent then currTaxon parent local ok currRank p getirTaksonBilgiOgesi frame currTaxon rank if currRank rank then searching false end else inHierarchy false end end if inHierarchy and not searching then return currTaxon else return lt span class error gt rank not found lt span gt end end ninci External utility function primarily intended for use in checking and debugging Returns the nth level above a taxon in a taxonomic hierarchy where the taxon itself is counted as the first level Kullanimi invoke Ototaksonkutu ninci TAKSON n N function p ninci frame local currTaxon frame args 1 or if currTaxon then return ERROR no taxon supplied end local n tonumber frame args n or 1 if n gt MaksAramaSeviyesi then return Exceeded maximum number of levels allowed MaksAramaSeviyesi end local i 1 local inHierarchy true still in the taxonomic hierarchy or off the top while i lt n and inHierarchy do local ok parent p getirTaksonBilgiOgesi frame currTaxon ebeveyn if ok and parent then currTaxon parent i i 1 else inHierarchy false end end if inHierarchy then return currTaxon else return Level n is past the top of the taxonomic hierarchy end end nSeviyeler External utility function primarily intended for use in checking and debugging Returns number of levels in a taxonomic hierarchy starting from the supplied taxon as level 1 Kullanimi invoke Ototaksonkutu nSeviyeler TAKSON function p nSeviyeler frame local currTaxon frame args 1 or if currTaxon then return ERROR no taxon supplied end local i 1 local inHierarchy true still in the taxonomic hierarchy or off the top while inHierarchy and i lt MaksAramaSeviyesi do local ok parent p getirTaksonBilgiOgesi frame currTaxon ebeveyn if ok and parent then currTaxon parent i i 1 else inHierarchy false end end if inHierarchy then return MaksAramaSeviyesi else return i end end siralaHepsi External utility function primarily intended for use in checking and debugging Returns a comma separated list of a taxonomic hierarchy starting from the supplied taxon Kullanimi invoke Ototaksonkutu siralaHepsi TAKSON function p siralaHepsi frame local currTaxon frame args 1 or if currTaxon then return ERROR no taxon supplied end return l doListAll l yapTablo frame currTaxon end function l doListAll taxonTable taxonRankTable local lst taxonTable 1 tostring taxonRankTable 1 for i 2 taxonTable n 1 do lst lst taxonTable i taxonRankTable i end return lst end cogulSira Kullanimi invoke Ototaksonkutu cogulSira SIRA function p getirCogulSira deger local islem veri getirTabloyaGore deger ceviri sira return veri getirTabloyaGore islem cogul sira or lt strong class error gt Taninamayan sira deger lt small gt Modul Ototaksonkutu veri degistir lt small gt Kategori Otomatik taksonkutu temizleme lt strong gt end function p cogulSira frame return p getirCogulSira frame args 1 end altSira Kullanimi invoke Ototaksonkutu altSira SIRA function p getirAltSira deger local islem veri getirTabloyaGore deger ceviri sira return veri getirTabloyaGore islem alt sira or lt strong class error gt Taninamayan sira deger lt small gt Modul Ototaksonkutu veri degistir lt small gt Kategori Otomatik taksonkutu temizleme lt strong gt end function p altSira frame return p getirAltSira frame args 1 end esasSira Kullanimi invoke Ototaksonkutu esasSira SIRA function l getirEsasSira deger local yazi mw ustring gsub mw ustring gsub mw getContentLanguage lc deger ichno oo return veri getirTabloyaGore yazi esas sira or hayir end function p esasSira frame return l getirEsasSira frame args 1 end ceviriSira Kullanimi invoke Ototaksonkutu ceviriSira SIRA KONTROL function l getirCeviriSira deger kontrol local yazi deger local sayfaAdi mw title getCurrentTitle text if mw ustring sub mw getContentLanguage lc yazi 1 7 sirasiz then yazi sirasiz else yazi mw ustring gsub yazi if veri getirTabloyaGore yazi ceviri sira then yazi veri getirTabloyaGore yazi ceviri sira else yazi kontrol evet and lt span style background color F99 gt or yazi kontrol evet and lt span gt or mw ustring gsub sayfaAdi Taksonomi and Kategori Taninmayan sira kullanan taksonomi sablonlari or end end if kontrol evet and mw ustring gsub sayfaAdi Taksonomi then yazi yazi mw getContentLanguage lcfirst deger deger and or Kategori Bas harfi buyuk sira adi kullanan taksonomi sablonlari end return mw getContentLanguage ucfirst yazi end function p ceviriSira frame return l getirCeviriSira frame args 1 frame args 2 or hayir end italikTakson Kullanimi invoke Ototaksonkutu italikTakson TAKSON VIRUS function p getirItalikTakson deger virus if virus evet then return veri getirTabloyaGore deger italik virus or evet else return veri getirTabloyaGore deger italik takson or hayir end end function p italikTakson frame return p getirItalikTakson frame args 1 frame args 2 or hayir end Modulde kullanilan fonksiyonlar Onyukleme function p onyukleme frame return l taksonomiOlustur Denimilia end function l onyukleme takson local bir l secIlk takson local iki l secSon takson local uc mw ustring find iki and l secSon iki or iki mw ustring find iki and l secIlk l secSon takson or iki local sonuc if iki or uc then sonuc onyukleme iki and uc or elseif mw getContentLanguage lc bir incertae sedis or mw getContentLanguage lc bir belirsiz yerlestirme then sonuc onyukleme belirsiz yerlestirme else sonuc iki and aynisi or onyukleme end return sonuc end function l secIlk baslik return mw ustring gsub baslik end function l secSon baslik return mw ustring gsub baslik end function l taksonomiOlustur takson mesaj local sonuc n if l secSon mw title getCurrentTitle text takson then sonuc sonuc Su anda olusturdugunuz takson else sonuc sonuc lt span style color Red gt mesaj or Taninmayan takson lt span gt lt span class plainlinks gt l taksonomiOlusturBag takson duzenle lt span gt end sonuc sonuc n takson mw title getCurrentTitle namespace 0 or mw title getCurrentTitle nsText Sablon and Kategori Otomatik taksonkutu temizleme or n return sonuc end function l taksonomiOlusturBag takson return tr wikipedia org w index php action edit amp title Sablon Taksonomi mw uri encode mw getContentLanguage ucfirst takson amp preload Sablon Taksonomi l onyukleme takson end birTaksonuDuzenle function l birTaksonuDuzenle taksonAdi local baglanti lt span class plainlinks style font size small float right gt amp nbsp amp 91 if taksonAdi then baglanti baglanti Sablon Taksonomi taksonAdi Taksonomi tr wikipedia org w index php title Sablon Taksonomi mw uri encode taksonAdi amp action edit degistir amp 93 lt span gt end return baglanti end kirpFazlaliklar Internal utility function to strip off any extra parts of a taxon name i e anything after a Thus Felidae would be split into Felidae and function l kirpFazlaliklar taxonName local i mw ustring find taxonName 1 true if i then return mw ustring sub taxonName 1 i 1 mw ustring sub taxonName i 1 else return taxonName end end splitTaxonName Internal utility function to split a taxon name into its parts and return them Possible formats include taxon taxon disambig taxon Subgenus taxon qualifier combinations e g taxon disambig qualifier function l ayirTaksonAdlari taxon get any qualifier present local qualifier local i mw ustring find taxon 1 true if i then qualifier mw ustring sub taxon i 1 1 taxon mw ustring sub taxon 1 i 1 end get any disambiguator or subgenus local disambig local subgenus i mw ustring find taxon 1 true if i then local parenTerm mw ustring sub taxon i 2 2 taxon mw ustring sub taxon 1 i 1 local char1 mw ustring sub parenTerm 1 1 if char1 mw ustring lower char1 then disambig parenTerm else subgenus parenTerm end end return taxon disambig subgenus qualifier end matchTaxonLink Function to determine whether the taxon name derived from the name of the taxonomy template passed in the parameter taxon matches the link text passed in the parameter linkText The taxon name may have any of the formats baseTaxon qualifier baseTaxon disambig baseTaxon Subgenus distinguished by the capital letter a qualifier may be present after the previous two formats Examples of matches baseTaxon linkText Pinus Pinus Pinus sect Trifoliae Pinus sect Trifoliae Pinus sect Trifoliae Pinus sect Trifoliae italic markers ignored Pinus sect Trifoliae P sect Trifoliae abbreviated genus name matches Bombus Pyrobombus Bombus Pyrobombus Bombus Pyrobombus B Pyrobombus Bombus Pyrobombus Pyrobombus link text may just be the subgenus Heteractinida Heteractinida double quotes are ignored in link text Heteractinida Heteractinida double quotes are ignored in base taxon name Incertae sedis anything link text is ignored for matching in this case Cetotheriidae with qualifier Cetotheriidae function l matchTaxonLink taxon linkText rankBelowGenus local dummy linkText dummy mw ustring gsub linkText remove any italic wikitext in the link text linkText dummy mw ustring gsub linkText lt gt strip all tags used to format the link text linkText dummy mw ustring gsub linkText remove any occurrences of in the link text local baseTaxon disambig subgenus qualifier l ayirTaksonAdlari taxon split up the taxon name baseTaxon dummy mw ustring gsub linkText remove any occurrences of in the base taxon name local match linkText baseTaxon or linkText subgenus or linkText baseTaxon subgenus or linkText mw ustring sub baseTaxon 1 1 subgenus or baseTaxon Incertae sedis or rankBelowGenus and linkText mw ustring gsub baseTaxon A Z 1 2 or mw ustring find qualifier 1 true and mw ustring find linkText baseTaxon 1 true 1 return match end yapKaynaklariGoster Show the refs field in a taxonomy template function l yapKaynaklariGoster taxonName refs if mw text split taxonName true 1 Incertae sedis then refs gosterilemez lt i gt incertae sedis lt i gt elseif refs then refs end return refs end makeTable Internal utility function to return a table array constructed from a taxonomic hierarchy stored in Sablon Taksonomi templates TABLE n holds the total number of taxa TABLE 1 TABLE TABLE n the taxon names The last taxon in the table will either a have a taxonomy template but with no parent given e g Life or b not have a taxonomy template function l yapTablo frame currTaxon local taxonTable local taxonRankTable local ok rank parent local i 1 local topReached false reached the top of the taxonomic hierarchy repeat taxonTable i currTaxon ok rank p getirTaksonBilgiOgesi frame currTaxon sira if ok then taxonRankTable i string lower rank else taxonRankTable i end ok parent p getirTaksonBilgiOgesi frame currTaxon ebeveyn if ok and parent then currTaxon parent i i 1 else topReached true reached the top of the hierarchy or tried to use a non existent taxonomy template end until topReached or i gt MaksAramaSeviyesi taxonTable n math min i MaksAramaSeviyesi return taxonTable taxonRankTable end getRankTable Internal utility function to set up a table of numerical values corresponding to Linnaean ranks with upper ranks having higher values In a valid taxonomic hierarchy a lower rank should never have a higher value than a higher rank The actual numerical values are arbitrary so long as they are ordered The ranks should correspond to those in Sablon Taksonkutu Ceviri siralama function l getirSiraTablosu return sinif 1400 cohort 1100 bolum 1500 domain 1700 familya 800 forma 100 cins 600 grandordo 1005 grandordo mb 1002 hyperfamilia 805 infrasinif 1397 infralegio 1197 infratakim 997 infrasube 1497 infraalem 1597 infraoymak 697 legio 1200 magnordo 1006 mikrosube 1495 mikrotakim 995 mirordo 1004 mirordo mb 1001 nanophylum 1494 nanordo 994 takim 1000 parafamilia 800 parvclassis 1396 same as subterclassis parvordo 996 sube 1500 alem 1600 seksiyon 500 seri 400 used too inconsistently to check tur 300 altsinif 1398 subcohort 1098 altbolum 1498 altfamilya 798 altcins 598 sublegio 1198 alttakim 998 altsube 1498 altalem 1598 altseksiyon 498 alttur 298 subterclassis 1396 same as parvclassis altoymak 698 ustsinif 1403 supercohort 1103 ustbolum 1503 superdomain 1703 ustfamilya 803 superlegio 1203 usttakim 1003 ustsube 1503 ustalem 1603 ustoymak 703 oymak 700 varyete 200 zoodivisio 1300 zoosectio 900 zoosubdivisio 1298 zoosubsectio 898 end Function to look up the arbitrary numerical value of a rank in a rank value table Ichno and oo ranks are not stored separately so if present the prefix is removed function l araSiraDegeri rankValTable rank local rankVal rankValTable rank if not rankVal then may be an ichno or oo ranks rank mw ustring gsub mw ustring gsub rank ichno oo if rank rdo then rank ordo end rankVal rankValTable rank end return rankVal end function l tabloHucresi arg1 arg2 local text style if arg2 then style arg1 text arg2 else style text arg1 end local res if style then res res style end return res text n end return p