Jump to content
Main menu
Main menu
move to sidebar
hide
Paglibot
Panginot na pahina
Portal kan komunidad
Dai pa sana nahahaloy na pagbabago
Dawa anong pahina
Tabang
Espesyal na mga pahina
Paghanap
Maghanap
Appearance
Mag-donate
Maggibo nin account
Mag-login
Pansadiring kagamitan
Mag-donate
Contribute
Maggibo nin account
Mag-login
Pages for logged out editors
learn more
Urulay
Pigbabago an
Module:EFloras
Add languages
Module
Urulay
English
Basáhon
Baguhon an source
Tanawon sa historiya
Mga kagamitan
Tools
move to sidebar
hide
Actions
Basáhon
Baguhon an source
Tanawon sa historiya
General
Ano an nakatukdo digdi
Katakod na mga pagbabago
Mag-upload nin file
Impormasyon kan pahina
Get shortened URL
Download QR code
Appearance
move to sidebar
hide
Patanid:
Dai ka naka-login. Mahihiling kan gabos an saimong IP address kun magibo ka nin pagbabago. Maitatala sa ngaran-paragamit mo an mga binago mo kun
ma-login
ka
o
magibo ka nin account
, apwera sa iba pang mga benepisyo.
Rikisa nin Kontra-Ispam. Giboha na
dae
paglaogan ini!
require('Module:No globals') local p = {} local data -- Load [[Module:eFloras/data]] if needed and assign to this variable. local function getResource(floraID) data = data or mw.loadData("Module:eFloras/data") return data.resources[floraID] or data.resources[tonumber(floraID)] end function p.resource(frame) local floraID = string.match(frame.args[1], "%d+") if floraID == nil then return "<span style=\"color: red;\">Please provide a resource number (<code>flora_id</code>). See the list of supported resource numbers at [[Module:eFloras/doc]]</span>" else local familyToVolume = getResource(floraID) if familyToVolume == nil then return "<span style=\"color: red;\">The resource number (<code>flora_id</code>) <code>" .. floraID .. "</code> is not recognized. See the list of supported resource numbers at [[Module:eFloras/doc]]</span>[[Category:Pages using eFloras template with unsupported parameter values]]" else return familyToVolume end end end function p._volumeName(floraID, volume, family) floraID = tonumber(floraID) if not floraID then -- floraID is not a number. return end data = data or mw.loadData("Module:eFloras/data") if not volume then local familyToVolume = data.volumeTable[floraID] if not familyToVolume then return end volume = tonumber(familyToVolume[family]) if not volume then return end end local floraVolumeNames = data.volumeNames and data.volumeNames[floraID] if floraVolumeNames and volume then return floraVolumeNames[volume] end end function p.volumeName(frame) if not (frame.args[1] and (frame.args[2] or frame.args[3] or frame.args.family)) then return end local floraID = string.match(frame.args[1], "%d+") local volume = tonumber(frame.args[2]) local family = frame.args[3] or frame.args.family if not (floraID and (volume or family)) then return end return p._volumeName(floraID, volume, family) end function p._volumeDate(floraID, volume, family) floraID = tonumber(floraID) if not floraID then -- floraID is not a number. return end data = data or mw.loadData("Module:eFloras/data") if not volume then local familyToVolume = data.volumeTable[floraID] if not familyToVolume then return end volume = tonumber(familyToVolume[family]) if not volume then return end end local floraVolumeDates = data.volumeDates and data.volumeDates[floraID] if floraVolumeDates then if volume and floraVolumeDates[volume] then return floraVolumeDates[volume] else return floraVolumeDates.default end end end function p.volumeDate(frame) if not (frame.args[1] and (frame.args[2] or frame.args[3] or frame.args.family)) then return end local floraID = string.match(frame.args[1], "%d+") local volume = tonumber(frame.args[2]) local family = frame.args[3] or frame.args.family if not (floraID and (volume or family)) then return end return p._volumeDate(floraID, volume, family) end function p.volume(frame) local floraID = string.match(frame.args[1], "%d+") local family = frame.args[2] or frame.args.family data = data or mw.loadData("Module:eFloras/data") local familyToVolume = data.volumeTable[floraID] or data.volumeTable[tonumber(floraID)] if familyToVolume == nil then return "" else local volume = familyToVolume[family] if volume == "error" then return "19–21 [[Category:Pages using eFloras template with unsupported parameter values]]" elseif volume == nil then return "" else return volume end end end -- Italicize if name requires it. function p.italicize(name) local orig = name name = string.gsub(name, "^%s*(.-)%s*$", "%1") local count name, count = string.gsub(name, "\'\'\'?", "") if count > 0 then -- A tracking method used on Wiktionary: [[wikt:Module:debug]]. -- To see the results: -- [[Special:WhatLinksHere/Template:tracking/eFloras/italics or bolding]] local frame = mw.getCurrentFrame() pcall(frame.expandTemplate, frame, { title = 'tracking/eFloras/italics or bolding' }) mw.log("Italics in input to the italicize function in Module:eFloras:", orig) end local rank local lowerName = name:lower() if name == "" or name == nil then return elseif string.find(name, "^%u%l+ae$") then if string.find(name, "eae$") then if string.find(name, "aceae$") then rank = "family" elseif string.find(name, "oideae$") then rank = "subfamily" else rank = "tribe" end elseif string.find(name, "inae$") then rank = "subtribe" end elseif string.find(lowerName, "subsp.", 1, true) then rank = "subspecies" elseif string.find(lowerName, "subg.", 1, true) then rank = "subgenus" elseif string.find(lowerName, "var.", 1, true) then rank = "variety" elseif string.find(lowerName, "sect.", 1, true) then rank = "section" elseif string.find(name, "^%a+%s[%a-]+$") or string.find(name, "^%a+%s×%s[%a-]+$") then rank = "species" elseif string.find(name, "^%u%a+$") -- No one-letter genera, probably. and not string.find(name, ".%u") then -- Uppercase letters can only appear at beginning of taxonomic name. rank = "genus" end if not rank then mw.log("Module:eFloras could not determine a taxonomic rank for the input that it received: " .. name) return orig end if rank == "genus" or rank == "subgenus" or rank == "species" or rank == "subspecies" or rank == "variety" or rank == "section" then name = "<i>" .. name .. "</i>" local hybrid = "×" if name:find(".", 1, true) then local abbreviations = { ["subsp."] = true, ["ssp."] = true, ["var."] = true, ["f."] = true, ["sect."] = true, ["subsect."] = true, ["subg."] = true, } local unrecognized name = name:gsub( "%s+(%S+%.)%s+", function (abbreviation) mw.log(name, abbreviation, abbreviation:lower(), abbreviations[abbreviation:lower()]) if abbreviations[abbreviation:lower()] then return "</i> " .. abbreviation .. " <i>" else unrecognized = unrecognized or {} table.insert(unrecognized, abbreviation) end end) if unrecognized then mw.log(string.format("The abbreviation%s %s %s not recognized.", unrecognized[2] and "s" or "", table.concat( unrecognized, ", "), unrecognized[2] and "are" or "is")) return orig end end name = name:gsub("%s+" .. hybrid .. "%s+", "</i> " .. hybrid .. " <i>") end -- Else do not modify name. return name end function p.name(frame) local name = frame.args[1] return p.italicize(name) end p.get_volume = p.volume return p
Sumaryo:
Sa pagpublikar sa mga pagbabago, nag-uuyon ka sa
Terms of Use
, asin nag-uuyon ka man na mayong bawian na iluwas an mga pagbabago mo sa irarom kan
Lisensiyang CC BY-SA 4.0
asin sa
GFDL
. Nag-uuyon ka man na husto na an sarong hyperlink o URL para sa atribusyon sa irarom kan lisensyang Creative Commons.
Ikansela
Tabang sa pagbago
(mabukas sa bagong window)
Preview page with this template
Mga padron na ginamit sa pahinang ini:
Plantilya:Documentation
(
baguhon
)
Plantilya:Dokumentasyon
(
baguhon
)
Module:Arguments
(
baguhon
)
Module:Documentation
(
baguhon
)
Module:Documentation/config
(
baguhon
)
Module:EFloras
(
baguhon
)
Module:EFloras/doc
(
baguhon
)
Module:No globals
(
baguhon
)
Myembro kan nakatagong kategorya an pahinang ini:
Kategorya:Pages with script errors
Paghanap
Maghanap
Pigbabago an
Module:EFloras
Add languages
Magdagdag nin pag-uulayan