User:Sarri.greek (CAT) » Module grk-nouns-decl doc :: param doc » func1 doc ««« instructions
-- 2024.03.06. ]
-- tests of Greek nouns Ancient-Koine-Medieval-Modern
export = {}
local function translit(frame)
-- local args = frame:getParent().args -- for Templates
local args = frame.args -- invoke
-- it says it needs 'local'
local x = ''
return '<br><span style="white-space:nowrap; font-size:83%; letter-spacing:4px; line-height:100%; color:#777777;">{{xlit|' .. lang_iso .. '|' .. term .. '}}</span>'
-- return '<div style="white-space:nowrap; font-size:83%; letter-spacing:4px; line-height:100%; color:#777777;">{{xlit|' .. 'el' .. '|' .. term .. '}}</div>'
-- x = '<div style="white-space:nowrap; font-size:83%; letter-spacing:4px; line-height:100%; color:#777777;">{{xlit|' .. lang_iso .. '|' .. term .. '}}</div>'
-- ?? where do i write translit = frame:preprocess(translit)
end
--================================== Empty table (for grc, etc)
export = function(frame) -- ] = ]
local args = frame:getParent().args -- for Templates
-- local args = frame.args -- invoke
-- lemma
local lemma = args or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args
end
-- stems
-- manually
-- languages grc=1, grc-koi=1 gkm=1 el=1
-- /param page
-- compulsory: fix article for gender absence
args = args or ''
--!!TEST
--if args then args = frame:preprocess(args) end
args = args or ''
args = args or '' args = args or ''
args = args or '' args = args or ''
args = args or '' args = args or ''
args = args or '' args = args or ''
return decl(args)
end
-- ]
-- ======================= TEST el articles ] ===================================== --
--Lua error in Module:User:Sarri.greek/grk-nouns-decl at line 709: attempt to concatenate field 'aNS' (a nil value)
-- it cannot see ]
-- because I have require with if el=1
export = function(frame) -- Template
local args = frame:getParent().args
args = '1'
-- lemma
local lemma = args or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args
end
-- stems
-- is default, 2 letters from end
-- args = ''
args = '1'
-- args = 'ναός'
-- args = 'ναός'
args = 'ναός'
-- args = 'oxytone'
-- args = 'masculine oxytone'
--args = '' --mw.ustring.sub(args,1,-3)
args = "ός"
--!!TEST preprocessed template (/main page, function decl) GS= for tlse
-- works with PAGNEMAE
--args = '{{Template:User:Sarri.greek/tlse|el|{{Template:User:Sarri.greek/word-minus-2end|lemma={{{lemma|}}}}}|ού}}'
--args = frame:preprocess(args)
args = "ού"
-- args = "ώ" -- this is non existant
args = "ό"
args = "έ"
args = "οί"
args = "ών" -- check also polytonic, see what happens with translit
args = "ούς"
args = args -- as in nominative
--transliteration = transliteration or ''
--transliteration = '<br><span style="white-space:nowrap; font-size:83%; letter-spacing:4px; line-height:100%; color:#777777;">{{xlit|el|' .. args .. args .. '}}</span>'
--translit = frame:preprocess(translit)
--args = frame:preprocess(args)
return decl(args)
end
--
-- ======================= gkm2 ] ===================================== --
export = function(frame)
local args = frame:getParent().args -- for Templates
-- local args = frame.args -- invoke
args = '2'
-- lemma
local lemma = args or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args
end
-- stems
local stem = {}
if args == "P" or args == "P" then
-- παπ-άδες
stem = mw.ustring.sub(args,1,-5) -- stemnumber = 5 (minus 4 letters from end)
else
stem = mw.ustring.sub(args,1,-3) -- stemnumber = 3 (minus 2 letters from end)
end
stem = m_stems_grk.word0(stem) -- remove accent if exists
stem = m_stems_grk.word1(stem) -- put OKSEIA at the last syllable from end of the unaccented
-- args = ''
args = '1'
-- args = 'παπάς'
-- args = 'παπάς'
args = 'παπάς'
-- args = 'oxytone'
-- args = 'masculine oxytone'
args = stem args = "άς"
args = '{{xlit|el|' ..term .. '}}'
args = stem args = "ᾶς"
args = '{{xlit|el|' .. term .. '}}'
args = stem args = "ᾶ"
args = stem args = "ά"
args = stem args = "άν"
args = stem args = "ά"
args = stem .. "άδ" args = "ες"
-- args = '{{xlit|el|' .. stem .. "άδες" .. '}}'
args = stem .. "άδ" args = "ων"
args = stem .. "ηδ" args = "ων"
args = stem .. "άδ" args = "ες"
args = stem .. "άδ" args = "ας"
args = '<br>{{Template:User:Sarri.greek/tlse|el|' .. stem .. "|άς" .. '|rare=1}}'
args = args args = args -- as in nominative
--args = frame:preprocess(args)
--if args ~= '' and args ~= nil then return frame:preprocess(export) end
--args = frame:preprocess(args)
return frame:preprocess(decl(args))
--return decl(args)
end
--[=[
-- ======================= 1st decl ANCIENT ] ===================================== --
export = function(frame) -- ]
local args = frame:getParent().args
args = '1'
-- lemma
local lemma = args or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args
end
-- stems
local stem = {}
if args == "P" or args == "P" or args == "PD" or args == "PD" then
stem = mw.ustring.sub(args,1,-3) -- στρατι-ές -- minus 2 letters from end, stemnumber=3
else
stem = mw.ustring.sub(args,1,-2) -- στρατι-ά -- minus 1 letter from end, stemnumber=3
end
-- args = '1'
args = '1'
args = 'στρατιά'
-- args = 'στρατιά'
args = 'στρατιά'
-- args = 'oxytone'
-- args = 'feminine oxytone'
args = stem args = "ά" args = "ᾱ́"
args = stem args = "ᾶς"
args = stem args = "ᾷ"
args = stem args = "άν" args = "ᾱ́ν"
args = stem args = "ά" args = "ᾱ́" -- or, as in nom
args = stem args = "αί"
args = stem args = "ῶν"
args = stem args = "αῖς"
args = stem args = "άς" args = "ᾱ́ς"
args = args args = args -- as in nominative
args = stem args = "ά" args = "ᾱ́"
args = stem args = "αῖν"
return decl(args)
end
]=]--
return export