Module:Sandbox/Erutuon/random
< Module:Sandbox | Erutuon
local p = {}
local Out_mt = {}
Out_mt.__index = Out_mt
function Out_mt:add(...)
for i = 1, select('#', ...) do
self.i = self.i + 1
self[self.i] = select(i, ...)
end
end
function Out_mt:__tostring()
return table.concat(self)
end
function Out()
local o = setmetatable({}, Out_mt)
o.i = 0
return o
end
function p.show(frame)
local out = Out()
local language_data = require 'Module:Wikt-lang/data'
local Wiktionary = {
--name_to_code = require 'Module:Language/Wiktionary name to code',
--code_to_name = require 'Module:Language/Wiktionary code to name',
}
for code, data in require 'Module:TableTools'.sortedPairs(language_data.languages) do
if not Wiktionary.code_to_name[code] then
out:add(code)
local Wiktionary_code = data.name and Wiktionary.name_to_code[data.name]
if Wiktionary_code then
out:add(' → ', Wiktionary_code)
local MediaWiki_name = mw.language.fetchLanguageName(Wiktionary_code, 'en')
if MediaWiki_name ~= data.name then
out:add(' (MediaWiki: ',
MediaWiki_name ~= '' and MediaWiki_name or '<none>',
', Wiktionary: ', data.name, ')')
end
end
out:add('\n* ')
elseif data.name and data.name == mw.language.fetchLanguageName(code, 'en') then
out:add(code, ' (', data.name, ')')
out:add('\n* ')
end
end
return out
end
return p