Modul:Uživatel:Xoristzatziki/jazyky
Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:Uživatel:Xoristzatziki/jazyky
export = {}
local Ld = {}
local Lf = {}
Ld['prototype1'] = [=[copy-paste to [[ΛΛΛΛ1]]
<pre>
== řečtina ==
=== etymologie ===
Z [[ΛΛΛΛ2]].
=== podstatné jméno ===
* ''rod střední''
* ''pomnožné''
==== skloňování ====
{{Substantivum (el)
| snom = -
| sgen = -
| sacc = -
| svoc = -
| pnom = ΛΛΛΛ1
| pgen = ΛΛΛΛ3
| pacc = ΛΛΛΛ1
| pvoc = ΛΛΛΛ1
}}
==== význam ====
# [[ΛΛΛΛ4]]
==== související ====
# [[ΛΛΛΛ7]]
=== přídavné jméno ===
* ''tvrdé''
==== význam ====
# ''nominativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''akuzativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''vokativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
[[Kategorie:Řecká substantiva]]
[[Kategorie:Tvary řeckých adjektiv]]
</pre>
]=]
Ld['prototype2'] = [=[copy-paste to [[ΛΛΛΛ1]]
<pre>
== řečtina ==
=== etymologie ===
Z [[ΛΛΛΛ2]].
=== podstatné jméno ===
* ''rod střední''
* ''pomnožné''
==== skloňování ====
{{Substantivum (el)
| snom = -
| sgen = -
| sacc = -
| svoc = -
| pnom = ΛΛΛΛ1
| pgen = ΛΛΛΛ3
| pacc = ΛΛΛΛ1
| pvoc = ΛΛΛΛ1
}}
==== význam ====
# [[ΛΛΛΛ4]]
==== synonyma ====
# [[ΛΛΛΛ5]]
==== související ====
# [[ΛΛΛΛ7]]
=== přídavné jméno ===
* ''tvrdé''
==== význam ====
# ''nominativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''akuzativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''vokativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
[[Kategorie:Řecká substantiva]]
[[Kategorie:Tvary řeckých adjektiv]]
</pre>
]=]
Ld['prototype3'] = [=[copy-paste to [[ΛΛΛΛ1]]
<pre>
== řečtina ==
=== etymologie ===
Z [[ΛΛΛΛ2]].
==== varianty ====
* [[ΛΛΛΛ6]]
=== podstatné jméno ===
* ''rod střední''
* ''pomnožné''
==== skloňování ====
{{Substantivum (el)
| snom = -
| sgen = -
| sacc = -
| svoc = -
| pnom = ΛΛΛΛ1
| pgen = ΛΛΛΛ3
| pacc = ΛΛΛΛ1
| pvoc = ΛΛΛΛ1
}}
==== význam ====
# [[ΛΛΛΛ4]]
==== související ====
# [[ΛΛΛΛ7]]
=== přídavné jméno ===
* ''tvrdé''
==== význam ====
# ''nominativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''akuzativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
# ''vokativ plurálu středního rodu adjektiva [[ΛΛΛΛ2]]''
[[Kategorie:Řecká substantiva]]
[[Kategorie:Tvary řeckých adjektiv]]
</pre>
]=]
export['framepreview'] = function(frame)
lc = {}
lc['args'] = frame.args
lc['jazyky'] = mw.title.new('Uživatel:Xoristzatziki/jazyky')
lc['wikitext'] = lc['jazyky']:getContent()
lc['splitted lines'] = export.usplit(lc['wikitext'], '\n')
lc['lines'] ={}
lc['dummy'] = ''
lc['splitted line'] = {}
lc['řečtina'] = lc['args'][1] or ''
lc['čeština'] = lc['args'][2] or ''
lc['varianty'] = lc['args'][3] or ''
lc['synonyma'] = lc['args'][4] or ''
lc['související'] = lc['args'][5] or ''
--lc['řečtina'] = 'ουγγρικά'
--lc['čeština'] = 'τσεχ'
--lc['varianty'] = ''
--lc['synonyma'] = 'ουγγαρέζικα'
lc['prototype'] = Ld['prototype1']
if lc['varianty'] ~= '' then
lc['prototype'] = Ld['prototype3']
end
if lc['synonyma'] ~= '' then
lc['prototype'] = Ld['prototype2']
end
for k,v in ipairs(lc['splitted lines']) do
lc['dummy'] = v
lc['splitted line'] = export.usplit(lc['dummy'], '|')
if mw.ustring.sub( lc['splitted line'][2], 1, -2 ) == lc['řečtina'] then
--local a = mw.ustring.sub( lc['splitted line'][2], 1, -1 )
--mw.addWarning("LL" .. lc['splitted line'][6] .. 'LL')
lc['thetext'] = mw.ustring.gsub(lc['prototype'] , 'ΛΛΛΛ1', lc['řečtina'] )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ2', mw.ustring.sub( lc['splitted line'][3], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ3', mw.ustring.sub( lc['splitted line'][4], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ4', lc['čeština'] )
lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ5', lc['synonyma'] )
lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ6', lc['varianty'] )
lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ7', lc['související'] )
return frame:preprocess(lc['thetext'])
end
end
return 'nic'
end
export['framepreviewold'] = function(frame)
lc = {}
--lc['παράμετροι λήμματος'] = frame:getParent().args
lc['παράμετροι λήμματος'] = frame.args
--mw.log(lc['παράμετροι λήμματος'][1])
lc['aa'] = lc['παράμετροι λήμματος'][1] or ''
mw.addWarning('#' .. lc['aa'] .. '#')
return frame:preprocess(export['consolepreview'](lc['aa']))
end
export['thefirstknown'] = function(frame)
lc = {}
lc['args'] = frame.args
lc['jazyky'] = mw.title.new('Uživatel:Xoristzatziki/jazyky')
lc['wikitext'] = lc['jazyky']:getContent()
lc['splitted lines'] = export.usplit(lc['wikitext'], '\n')
lc['lines'] ={}
lc['dummy'] = ''
lc['splitted line'] = {}
for k,v in ipairs(lc['splitted lines']) do
lc['dummy'] = v
lc['splitted line'] = export.usplit(lc['dummy'], '|')
lc['čeština'] = lc['splitted line'][6] or ''
lc['čeština'] = mw.ustring.gsub(lc['čeština'], '^%s*(.-)%s*$', '%1')
if lc['čeština'] ~= "" then
--local a = mw.ustring.sub( lc['splitted line'][2], 1, -1 )
mw.addWarning("LL" .. lc['splitted line'][6] .. 'LL')
lc['thetext'] = mw.ustring.gsub(Ld['prototype1'] , 'ΛΛΛΛ1', mw.ustring.sub( lc['splitted line'][2], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ2', mw.ustring.sub( lc['splitted line'][3], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ3', mw.ustring.sub( lc['splitted line'][4], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ4', mw.ustring.sub( lc['splitted line'][6], 1, -2 ) )
return frame:preprocess(lc['thetext'])
--return lc['thetext'] --lc['splitted line'][3]
end
--lc['lines']
end
return 'None found'
end
export['consolepreview'] = function(astring)
local lc = {}
lc['jazyky'] = mw.title.new('Uživatel:Xoristzatziki/jazyky')
lc['wikitext'] = lc['jazyky']:getContent()
--lc['splitted lines'] = Lf['χωρισμός σε γραμμές'](lc['wikitext'])
lc['splitted lines'] = export.usplit(lc['wikitext'], '\n')
lc['lines'] ={}
lc['dummy'] = ''
lc['splitted line'] = {}
for k,v in ipairs(lc['splitted lines']) do
lc['dummy'] = v
lc['splitted line'] = export.usplit(lc['dummy'], '|')
if lc['splitted line'][2] == astring .. "|" then
--local a = mw.ustring.sub( lc['splitted line'][2], 1, -1 )
lc['thetext'] = mw.ustring.gsub(Ld['prototype1'] , 'ΛΛΛΛ1', mw.ustring.sub( lc['splitted line'][2], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ2', mw.ustring.sub( lc['splitted line'][3], 1, -2 ) )
lc['thetext'] = mw.ustring.gsub(lc['thetext'] , 'ΛΛΛΛ3', mw.ustring.sub( lc['splitted line'][4], 1, -2 ) )
--lc['thetext'] = mw.ustring.gsub(lc['thetext'], 'ΛΛΛΛ4', mw.ustring.sub( lc['splitted line'][5], 1, -1 ) )
return lc['thetext'] --lc['splitted line'][3]
end
--lc['lines']
end
--return lc['dummy']
return lc['splitted line'][1] .. '#' .. lc['splitted line'][2] .. '#'
end
--en:Module:User:Wikitiki89/split
function export.split(text, pattern, plain)
local len = text:len()
local result = {}
local start = 1
if pattern == "" or (not plain and string.match("", pattern)) then -- special case
while start <= len do
result[#result + 1] = text:sub(start, start)
end
else
while true do
local i, j = text:find(pattern, start, plain)
if i == nil then
result[#result + 1] = text:sub(start)
break
end
if j < start then
error("Infinite split (position: " .. start .. ")")
end
result[#result + 1] = text:sub(start, i)
start = j + 1
end
end
return result
end
--en:Module:User:Wikitiki89/split
function export.usplit(text, pattern, plain) -- naive implementation
if plain then -- proper unicode handling is unnecessary for plain patterns
return export.split(text, pattern, plain)
end
local len = mw.ustring.len(text)
local result = {}
local start = 1
if mw.ustring.match("", pattern) then -- special case
while start <= len do
result[#result + 1] = mw.ustring.sub(text, start, start)
end
else
while true do
local i, j = mw.ustring.find(text, pattern, start)
if i == nil then
result[#result + 1] = mw.ustring.sub(text, start)
break
end
if j < start then
error("Infinite split (position: " .. start .. ")")
end
result[#result + 1] = mw.ustring.sub(text, start, i)
start = j + 1
end
end
return result
end
Lf['χωρισμός σε γραμμές'] = function(theUtext)
local lc = {}
lc['γραμμές'] = {}
lc['μήκος'] = mw.ustring.len(theUtext)
lc['αρχή'] = 1
while true do
lc['από'], lc['μέχρι'] = mw.ustring.find(theUtext, '\n', lc['αρχή'])
if lc['από'] == nil then
lc['γραμμές'][#lc['γραμμές'] + 1] = mw.ustring.sub(theUtext, lc['αρχή'])
break
end
if lc['μέχρι'] < lc['αρχή'] then
error("Infinite split (position: " .. lc['αρχή'] .. ")")
end
lc['γραμμές'][#lc['γραμμές'] + 1] = mw.ustring.sub(theUtext, lc['αρχή'], lc['από'])
lc['αρχή'] = lc['μέχρι'] + 1
end
return lc['γραμμές']
end
return export