Module:User:Sarri.greek/grk-nouns-decl/1
Jump to navigation
Jump to search
- The following documentation is located at Module:User:Sarri.greek/grk-nouns-decl/documentation. [edit]
- Redirected from Module:User:Sarri.greek/grk-nouns-decl/1/documentation (edit).
- Useful links: root page • root page’s subpages • links • transclusions • testcases • user page • user talk page • userspace
User:Sarri.greek (CAT) » Module grk-nouns-decl doc :: param doc » func1 doc ««« instructions
- tests User:Sarri.greek/template3 :: User:Sarri.greek/template4
- Module:User:Sarri.greek/grc-articles (polytonic) - Module:User:Sarri.greek/el-articles (monotonic)
- Template:User:Sarri.greek/lse (link-stem-ending) :: Module:User:Sarri.greek/el-tin (for el feminine accusative)
-- 2024.03.06. [[wikt:en:User:Sarri.greek]]
-- 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['grk-noun'] = function(frame) -- [[User:Sarri.greek/template4]] = [[Template:grk-decl-noun]]
local args = frame:getParent().args -- for Templates
-- local args = frame.args -- invoke
-- lemma
local lemma = args['lemma'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['lemma']
end
-- stems
-- manually
-- languages grc=1, grc-koi=1 gkm=1 el=1
-- /param page
-- compulsory: fix article for gender absence
args['aNS'] = args['aNS'] or ''
--!!TEST
--if args['GS'] then args['GS'] = frame:preprocess(args['GS']) end
args['aGS'] = args['aGS'] or ''
args['aDS'] = args['aDS'] or '' args['aAS'] = args['aAS'] or ''
args['aNP'] = args['aNP'] or '' args['aGP'] = args['aGP'] or ''
args['aDP'] = args['aDP'] or '' args['aAP'] = args['aAP'] or ''
args['aND'] = args['aND'] or '' args['aGD'] = args['aGD'] or ''
return decl(args)
end
-- [[User:Sarri.greek/template4]]
-- ======================= 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 [[Module:User:Sarri.gree/el-articles]]
-- because I have require with if el=1
export['τεστ'] = function(frame) -- Template
local args = frame:getParent().args
args['el'] = '1'
-- lemma
local lemma = args['lemma'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args['lemma']
end
-- stems
-- is default, 2 letters from end
-- args['decl'] = ''
args['m'] = '1'
-- args['cat-decl'] = 'ναός'
-- args['type'] = 'ναός'
args['as in'] = 'ναός'
-- args['subcat01'] = 'oxytone'
-- args['subcat02'] = 'masculine oxytone'
--args['mod-NSstem'] = '' --mw.ustring.sub(args['lemma'],1,-3)
args['mod-NSsuf'] = "ός"
--!!TEST preprocessed template (/main page, function decl) GS= for tlse
-- works with PAGNEMAE
--args['GS'] = '{{Template:User:Sarri.greek/tlse|el|{{Template:User:Sarri.greek/word-minus-2end|lemma={{{lemma|}}}}}|ού}}'
--args['GS'] = frame:preprocess(args['GS'])
args['mod-GSsuf'] = "ού"
-- args['mod-DSsuf'] = "ώ" -- this is non existant
args['mod-ASsuf'] = "ό"
args['mod-VSsuf'] = "έ"
args['mod-NPsuf'] = "οί"
args['mod-GPsuf'] = "ών" -- check also polytonic, see what happens with translit
args['mod-APsuf'] = "ούς"
args['mod-VPsuf'] = args['mod-NPsuf'] -- 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['mod-NSstem'] .. args['mod-NSsuf'] .. '}}</span>'
--translit = frame:preprocess(translit)
--args['mod-NStr'] = frame:preprocess(args['mod-NStr'])
return decl(args)
end
--
-- ======================= gkm2 [[παπάς]] ===================================== --
export['παπάς'] = function(frame)
local args = frame:getParent().args -- for Templates
-- local args = frame.args -- invoke
args['gkm'] = '2'
-- lemma
local lemma = args['lemma'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args['lemma']
end
-- stems
local stem = {}
if args['num'] == "P" or args['num2'] == "P" then
-- παπ-άδες
stem["s"] = mw.ustring.sub(args['lemma'],1,-5) -- stemnumber = 5 (minus 4 letters from end)
else
stem["s"] = mw.ustring.sub(args['lemma'],1,-3) -- stemnumber = 3 (minus 2 letters from end)
end
stem["s0"] = m_stems_grk.word0(stem["s"]) -- remove accent if exists
stem["s1"] = m_stems_grk.word1(stem["s0"]) -- put OKSEIA at the last syllable from end of the unaccented
-- args['decl'] = ''
args['m'] = '1'
-- args['cat-decl'] = 'παπάς'
-- args['type'] = 'παπάς'
args['as in'] = 'παπάς'
-- args['subcat01'] = 'oxytone'
-- args['subcat02'] = 'masculine oxytone'
args['mod-NSstem'] = stem["s"] args['mod-NSsuf'] = "άς"
args['mod-NStr'] = '{{xlit|el|' ..term .. '}}'
args['mod-NS2stem'] = stem["s"] args['mod-NS2suf'] = "ᾶς"
args['mod-NS2tr'] = '{{xlit|el|' .. term .. '}}'
args['mod-GSstem'] = stem["s"] args['mod-GSsuf'] = "ᾶ"
args['mod-ASstem'] = stem["s"] args['mod-ASsuf'] = "ά"
args['mod-AS2stem'] = stem["s"] args['mod-A2Ssuf'] = "άν"
args['mod-VSstem'] = stem["s"] args['mod-VSsuf'] = "ά"
args['mod-NPstem'] = stem["s"] .. "άδ" args['mod-NPsuf'] = "ες"
-- args['mod-NPtr'] = '{{xlit|el|' .. stem["s"] .. "άδες" .. '}}'
args['mod-GPstem'] = stem["s"] .. "άδ" args['mod-GPsuf'] = "ων"
args['mod-GP2stem'] = stem["s1"] .. "ηδ" args['mod-GP2suf'] = "ων"
args['mod-APstem'] = stem["s"] .. "άδ" args['mod-APsuf'] = "ες"
args['mod-AP2stem'] = stem["s"] .. "άδ" args['mod-AP2suf'] = "ας"
args['mod-AP2txt'] = '<br>{{Template:User:Sarri.greek/tlse|el|' .. stem["s"] .. "|άς" .. '|rare=1}}'
args['mod-VPstem'] = args['mod-NPstem'] args['mod-VPsuf'] = args['mod-NPsuf'] -- as in nominative
--args = frame:preprocess(args)
--if args ~= '' and args ~= nil then return frame:preprocess(export['παπάς']) end
--args['mod-AP2txt'] = frame:preprocess(args['mod-AP2txt'])
return frame:preprocess(decl(args))
--return decl(args)
end
--[=[
-- ======================= 1st decl ANCIENT [[στρατιά]] ===================================== --
export['τεστ'] = function(frame) -- [[Πρότυπο:grc-κλίση-'στρατιά']]
local args = frame:getParent().args
args['grc'] = '1'
-- lemma
local lemma = args['lemma'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" ) -- trim empty spaces from beginning and end. Found at all Modules.
else lemma = args['lemma']
end
-- stems
local stem = {}
if args['num'] == "P" or args['num2'] == "P" or args['num'] == "PD" or args['num2'] == "PD" then
stem["s"] = mw.ustring.sub(args['lemma'],1,-3) -- στρατι-ές -- minus 2 letters from end, stemnumber=3
else
stem["s"] = mw.ustring.sub(args['lemma'],1,-2) -- στρατι-ά -- minus 1 letter from end, stemnumber=3
end
-- args['decl'] = '1'
args['m'] = '1'
args['cat-decl'] = 'στρατιά'
-- args['type'] = 'στρατιά'
args['as in'] = 'στρατιά'
-- args['subcat01'] = 'oxytone'
-- args['subcat02'] = 'feminine oxytone'
args['mod-NSstem'] = stem["s"] args['mod-NSsuf'] = "ά" args['mod-NSsuf+'] = "ᾱ́"
args['mod-GSstem'] = stem["s"] args['mod-GSsuf'] = "ᾶς"
args['mod-DSstem'] = stem["s"] args['mod-DSsuf'] = "ᾷ"
args['mod-ASstem'] = stem["s"] args['mod-ASsuf'] = "άν" args['mod-ASsuf+'] = "ᾱ́ν"
args['mod-VSstem'] = stem["s"] args['mod-VSsuf'] = "ά" args['mod-VSsuf+'] = "ᾱ́" -- or, as in nom
args['mod-NPstem'] = stem["s"] args['mod-NPsuf'] = "αί"
args['mod-GPstem'] = stem["s"] args['mod-GPsuf'] = "ῶν"
args['mod-DPstem'] = stem["s"] args['mod-DPsuf'] = "αῖς"
args['mod-APstem'] = stem["s"] args['mod-APsuf'] = "άς" args['mod-APsuf+'] = "ᾱ́ς"
args['mod-VPstem'] = args['mod-NPstem'] args['mod-VPsuf'] = args['mod-NPsuf'] -- as in nominative
args['mod-NDstem'] = stem["s"] args['mod-NDsuf'] = "ά" args['mod-NDsuf+'] = "ᾱ́"
args['mod-GDstem'] = stem["s"] args['mod-GDsuf'] = "αῖν"
return decl(args)
end
]=]--
return export