Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Pumunta sa nilalaman
Pangunahing pagpipilian
Pangunahing pagpipilian
ilipat sa gilid
itago
Maglibot
Unang pahina
Mga nilalaman
Napiling nilalaman
Alinmang artikulo
Patungkol sa Wikipedia
Mga kaganapan
Pakikihalubilo
Pamayanan
Kapihan
Mga huling binago
Makipag-ugnayan
Tulong
Hanapin
Hanapin
Itsura
Donasyon
Gumawa ng account
Mag-login
Mga pansariling kagamitan
Donasyon
Mag-ambag
Gumawa ng account
Mag-login
Mga pahina para sa naka-logout na mga patnugot o editor
alamin pa
Usapan
Binabago:
Module:Greek
Magdagdag ng wika
Modyul
Usapan
English
Basahin
Baguhin ang wikitext
Tingnan ang kasaysayan
Mga kagamitan
Mga kagamitan
ilipat sa gilid
itago
Mga aksyon
Basahin
Baguhin ang wikitext
Tingnan ang kasaysayan
Pangkalahatan
Mga nakaturo rito
Kaugnay na pagbabago
Mag-upload ng file
Natatanging pahina
Impormasyon ng pahina
Kumuha ng pinaikling URL
I-download ang QR code
Sa iba pang proyekto
Itsura
ilipat sa gilid
itago
Babala
: Hindi ka naka-login. Ang iyong IP address ay maitatala sa kasaysayan ng pagbabago ng pahinang ito.
Pagtingin ng panlaban spam.
HUWAG
punuan ito!
-- Convert standard numbers to greek numerals, and vice versa -- Gts-tg@el wiki, Aug. 2017 local p = {} local greek_numerals = { ["α"] = 1, -- ἄλφα / alpha ["β"] = 2, -- βῆτα / beta ["γ"] = 3, -- γάμμα / gamma ["δ"] = 4, -- δέλτα / delta ["ε"] = 5, -- ἔψιλον / epsilon ["Ϛ"] = 6, -- δίγαμμα / digamma ["ζ"] = 7, -- ζῆτα / zeta ["η"] = 8, -- ῆτα / heta ["θ"] = 9, -- θῆτα / theta ["ι"] = 10, -- ιῶτα / iota ["κ"] = 20, -- κάππα / kappa ["λ"] = 30, -- λάμδα / lamda ["μ"] = 40, -- μῦ / mu ["ν"] = 50, -- νῦ / nua ["ξ"] = 60, -- ξί / xi ["ο"] = 70, -- ὄμικρον / omikron ["π"] = 80, -- πί / pi ["ϟ"] = 90, -- κόππα / koppa ["ρ"] = 100, -- ρό / rho ["σ"] = 200, -- σίγμα / sigma ["ς"] = 200, -- σίγμα / sigma (final variation) ["τ"] = 300, -- ταῦ / ταυ ["υ"] = 400, -- ύψιλον / ypsilon ["φ"] = 500, -- φί / phi ["χ"] = 600, -- χί / chi ["ψ"] = 700, -- ψί / psi ["ω"] = 800, -- ὠμέγα / omega ["ϡ"] = 900, -- σαμπί / sampi } -- used for math graph template local numeral_latin_transliteration = { ["α"] = 'alpha', ["β"] = 'beta', ["γ"] = 'gamma', ["δ"] = 'delta', ["ε"] = 'epsilon', ["Ϛ"] = 'digamma', ["ζ"] = 'zeta', ["η"] = 'eta', ["θ"] = 'theta', ["ι"] = 'iota', ["κ"] = 'kappa', ["λ"] = 'lambda', ["μ"] = 'mu', ["ν"] = 'nu', ["ξ"] = 'xi', ["ο"] = 'omicron', ["π"] = 'pi', ["ϟ"] = 'koppa', ["ρ"] = 'rho', ["σ"] = 'sigma', ["ς"] = 'sigma', --(final variation) ["τ"] = 'tau', ["υ"] = 'upsilon', ["φ"] = 'phi', ["χ"] = 'chi', ["ψ"] = 'psi', ["ω"] = 'omega', ["ϡ"] = 'sampi', } -- return number corresponding to letter -- params: letter (string) -- return: number local function value(letter) if letter ~= 'Ϛ' and letter ~= 'ϟ' and letter ~= 'ϡ' then letter = mw.ustring.lower(letter) end return greek_numerals[letter] end -- letter value * 1000 -- params: letter (string), total (number) -- return: number local function thousandth(letter, total) if letter ~= false then total = total - value(letter) -- remove previous addition as simple number total = total + ( value(letter) * 1000 ) end return total end -- reverse table (index to values, values to index) -- params: tbl (table) -- return: table local function reverse_table(tbl) local reversedTable = {} for letter, value in pairs(tbl) do reversedTable[value] = letter end return reversedTable end -- special notation for numbers > 9999 local function mu_notation(greek_number, digits) local result = '' local postfix = '' -- digits greater than 9999 for index, digit in pairs(digits) do -- mw.log(digit) result = result .. '\\' .. numeral_latin_transliteration[digit] greek_number = greek_number:gsub(digit, "", 1) end if greek_number ~= '' then -- if not all digits are multiples of myriad postfix = "͵" .. greek_number .. "´" end result = '<math>\\stackrel{' .. result .. '}{\\Mu}</math>' .. postfix return result end -- convert standard number to greek -- params: frame (obj) -- return: string function p.to_greek(frame) local number = frame.args[1] local tbl = null local result = '' local big_values = {} local m_notation = false if tonumber(number) > 9999 then m_notation = true end tbl = reverse_table(greek_numerals) -- reverse to [<number>] = '<letter>' if tbl[number] ~= null then result = tbl[number] -- direct hit else local str_number = tostring(number) local highest_numeric_position = #str_number local i = 0 local index = '' for digit in str_number:gmatch"." do -- break up number digits highest_numeric_position = highest_numeric_position - 1 if tonumber(digit) > 0 then index = tonumber(digit .. mw.ustring.rep('0', highest_numeric_position)) if highest_numeric_position >= 3 then match = false while match == false do if index < 1 then index = index * 10 end if tbl[index] == nil then index = index / 10000 else result = result .. tostring(tbl[tonumber(index)]) match = true end end if highest_numeric_position > 3 then table.insert(big_values, tbl[tonumber(index)]) end else result = result .. tostring(tbl[tonumber(index)]) end end end --local d = require "Module:Debugging" --mw.log(result) --mw.log(d.dump(big_values)) end if m_notation == true then --special notation result = mu_notation(result, big_values) local frame = mw.getCurrentFrame() result = frame:preprocess(result) else if tonumber(number) >= 1000 then result = ',' .. result end result = mw.ustring.upper(result) .. "´" end return result end -- convert greek number to standard -- greek number sample for testing: αωκα´ = 1821 -- params: frame (obj) -- return: number function p.to_standard(frame) local greek_number = frame.args[1] local total = 0 local thousand_flag = false local prev_letter = false greek_number = greek_number:gsub("´", "") if type(greek_number) ~= 'string' then return 'Error: value ' .. greek_number .. ' is ' .. type(greek_number) .. ' instead of expected string' end -- iterate through letters for letter in mw.ustring.gmatch(greek_number, ".") do -- check if thousand marker exists if letter == "," then thousand_flag = true else if thousand_flag == true then total = thousandth(letter, total) thousand_flag = false end total = total + value(letter) prev_letter = letter end end if thousand_flag == true then total = thousandth(prev_letter, total) end return total end return p
Buod ng pagbabago:
(Maikling isalarawan ang pagbabagong ginawa mo.)
Sa pag-save sa mga pagbabago, sumasang-ayon ka sa
Kasunduan sa Paggamit
, at sumasang-ayon ka rin na ilalabas mo nang walang atrasan ang ambag mo sa ilalim ng
Lisensiyang CC BY-SA 4.0
at sa
GFDL
. Sumasang-ayon ka rin na sapat na ang isang hyperlink o URL bilang atribusyon sa ilalim ng lisensiyang Creative Commons.
Balewalain
Tulong sa pagbabago
(magbubukas ng panibagong bintana)
Preview page with this template
Mga padron na ginamit sa pahinang ito:
Padron:Documentation
(
tingnan ang wikitext
) (medyo-nakaprotekta)
Module:Arguments
(
baguhin
)
Module:Documentation
(
baguhin
)
Module:Documentation/config
(
baguhin
)
Module:Documentation/styles.css
(
baguhin
)
Module:Greek
(
baguhin
)
Module:Greek/doc
(
baguhin
)