From Wikipedia, the free encyclopedia

require('strict')



local p = {}

local categoryHandler = require('Module:Category handler').main

local yesno = require('Module:Yesno')

local mArguments = require('Module:Arguments')

local n



-- Define functions

local function cat(category)

	category = string.format('[[Category:%s]]', category)

	n.category = n.category .. category

end



local function RR()

    mw.log('Inside RR function')

    n.variant = 'Revised Romanization of Korean'

    n.transliteration_examples = "''Joseon'', ''Tteokbokki'', ''Pansori''"

    cat('Wikipedia articles that use the Revised Romanization of Korean')

    if n.bid then n.id = n.id .. 'rr' end

end



local function MR()

    mw.log('Inside MR function')

    n.variant = 'McCune-Reischauer romanization of Korean'

    n.extraguide = ' and [[Wikipedia:Naming conventions (Korean)|Korean naming conventions]]'

    cat('Wikipedia articles that use the McCune-Reischauer romanization of Korean')

    n.flag = 'no'

    if n.bid then n.id = n.id .. 'mr' end

end



local function Yale()

    mw.log('Inside Yale function')

    n.variant = 'Yale romanization of Korean'

    n.extraguide = ' and [[Wikipedia:Naming conventions (Korean)|Korean naming conventions]]'

    cat('Wikipedia articles that use the Yale romanization of Korean')

    n.flag = 'no'

    if n.bid then n.id = n.id .. 'yale' end

end



local function modify_text()

    mw.log('Inside modify_text function')

    n.transliteration = ''

    n.extravariant = ''

    n.extraguide = ''

    local bRR = yesno(n.RR)

    local bMR = yesno(n.MR)

    local bYale = yesno(n.Yale)



    if bRR then

        RR()

        return

    elseif bMR then

        MR()

        return

    elseif bYale then

        Yale()

        return

    end



    if n.transliteration_examples then n.transliteration = ', which has its own [[transliteration]] conventions' end

end



local function base_text(frame)

    mw.log('Inside base_text function')

    n.subjectspace = require('Module:Pagetype').main()

    n.transliteration_examples = n.transliteration_examples and string.format(' (e.g., %s)', n.transliteration_examples) or ''

    n.terms = n1 or n.terms

    n.terms = n.terms and string.format(' (including %s)', n.terms) or ''

    n.compare = n.compare and (n.compare .. ' ') or ''

    n.text = string.format([=[This %s '''uses the [[%s]]%s'''%s%s and some terms that are used in it%s may be different or absent from %sor other [[Romanization of Korean|romanizations of Korean]]. According to the [[MOS:KO|relevant Korean style guide]]%s, this should not be changed without [[Wikipedia:Consensus#Levels of consensus|broad consensus]]. Per [[WP:COMMONNAME]], use words commonly established in English over any transliteration if they exist.]=],

        n.subjectspace, n.variant, n.extravariant, n.transliteration, n.transliteration_examples, n.terms, n.compare, n.extraguide)

end



local function style(frame)

    mw.log('Inside style function')

    local size

    if yesno(n.small) then size = '30px'

    elseif n.size then size = n.size

    else size = '50px'

    end

    if n.image then

        n.image = string.format('[[File:%s|%s]]', n.image, size)

    end

    if n.form == 'editnotice' then

        if n.bid then n.id = n.id .. 'editnotice' end

        n.expiry = n.expiry or 'indefinite'

        if yesno(n.editnotice_cat) then

            cat(string.format('Pages with the %s editnotice', n.variant))

        end

        return frame:expandTemplate{title = 'editnotice', args = n}

    else

        local message_box = require('Module:Message box').main

        if not n.image then n.image = 'none' end

        n'type' = 'style'

        return message_box('tmbox', n)

    end

end



local function getBasePageName()

    mw.log('Inside getBasePageName function')

    local title = mw.title.getCurrentTitle()

    local basePageName = title.text



    -- Handle specific cases

    if basePageName:find("McCune-Reischauer romanization of Korean") then

        basePageName = "McCune-Reischauer"

    elseif basePageName:find("Yale romanization of Korean") then

        basePageName = "Yale romanization"

    elseif basePageName:find("Revised Romanization of Korean") then

        basePageName = "Revised Romanization"

    else

        basePageName = basePageName:gsub(" romanization of Korean", "")

        basePageName = basePageName:gsub(" of Korean", "")

    end



    return basePageName

end

p.getBasePageName = getBasePageName



local function _main(frame, templatetitle)

    mw.log('Inside _main function')

    n = mArguments.getArgs(frame, {parentFirst = true})

    n.variant = n.variant or templatetitle -- automatically use title generated from template name

    n.category = ''

    n.transliteration_examples = n.transliteration_examples or n'transliteration examples'

    n.bid = not not n.id



    if not n.text then

        modify_text()

        base_text(frame)

    end

    cat('Wikipedia articles that use the ' .. n.variant)

    return style(frame) .. (n.category or '')

end

p._main = _main



-- Main function

function p.main(frame)

    mw.log('Inside main function')

    local fulltitle = frame:getParent():getTitle()

    local templatetitle = string.sub(fulltitle, 10)

    local title = mw.title.getCurrentTitle()

    if mw.title.equals(title, mw.title.makeTitle('Template', title.rootText)) then -- if it is on the main template page, load doc

        n = mArguments.getArgs(frame, {parentFirst = true})

        n.variant = n.variant or templatetitle -- automatically use title generated from template name

        if n.doc ~= 'no' then

            return frame:expandTemplate {title = 'Korean transliteration notice/documentation', args = n}

        end

    end

    return _main(frame, templatetitle)

end



return p
From Wikipedia, the free encyclopedia

require('strict')



local p = {}

local categoryHandler = require('Module:Category handler').main

local yesno = require('Module:Yesno')

local mArguments = require('Module:Arguments')

local n



-- Define functions

local function cat(category)

	category = string.format('[[Category:%s]]', category)

	n.category = n.category .. category

end



local function RR()

    mw.log('Inside RR function')

    n.variant = 'Revised Romanization of Korean'

    n.transliteration_examples = "''Joseon'', ''Tteokbokki'', ''Pansori''"

    cat('Wikipedia articles that use the Revised Romanization of Korean')

    if n.bid then n.id = n.id .. 'rr' end

end



local function MR()

    mw.log('Inside MR function')

    n.variant = 'McCune-Reischauer romanization of Korean'

    n.extraguide = ' and [[Wikipedia:Naming conventions (Korean)|Korean naming conventions]]'

    cat('Wikipedia articles that use the McCune-Reischauer romanization of Korean')

    n.flag = 'no'

    if n.bid then n.id = n.id .. 'mr' end

end



local function Yale()

    mw.log('Inside Yale function')

    n.variant = 'Yale romanization of Korean'

    n.extraguide = ' and [[Wikipedia:Naming conventions (Korean)|Korean naming conventions]]'

    cat('Wikipedia articles that use the Yale romanization of Korean')

    n.flag = 'no'

    if n.bid then n.id = n.id .. 'yale' end

end



local function modify_text()

    mw.log('Inside modify_text function')

    n.transliteration = ''

    n.extravariant = ''

    n.extraguide = ''

    local bRR = yesno(n.RR)

    local bMR = yesno(n.MR)

    local bYale = yesno(n.Yale)



    if bRR then

        RR()

        return

    elseif bMR then

        MR()

        return

    elseif bYale then

        Yale()

        return

    end



    if n.transliteration_examples then n.transliteration = ', which has its own [[transliteration]] conventions' end

end



local function base_text(frame)

    mw.log('Inside base_text function')

    n.subjectspace = require('Module:Pagetype').main()

    n.transliteration_examples = n.transliteration_examples and string.format(' (e.g., %s)', n.transliteration_examples) or ''

    n.terms = n1 or n.terms

    n.terms = n.terms and string.format(' (including %s)', n.terms) or ''

    n.compare = n.compare and (n.compare .. ' ') or ''

    n.text = string.format([=[This %s '''uses the [[%s]]%s'''%s%s and some terms that are used in it%s may be different or absent from %sor other [[Romanization of Korean|romanizations of Korean]]. According to the [[MOS:KO|relevant Korean style guide]]%s, this should not be changed without [[Wikipedia:Consensus#Levels of consensus|broad consensus]]. Per [[WP:COMMONNAME]], use words commonly established in English over any transliteration if they exist.]=],

        n.subjectspace, n.variant, n.extravariant, n.transliteration, n.transliteration_examples, n.terms, n.compare, n.extraguide)

end



local function style(frame)

    mw.log('Inside style function')

    local size

    if yesno(n.small) then size = '30px'

    elseif n.size then size = n.size

    else size = '50px'

    end

    if n.image then

        n.image = string.format('[[File:%s|%s]]', n.image, size)

    end

    if n.form == 'editnotice' then

        if n.bid then n.id = n.id .. 'editnotice' end

        n.expiry = n.expiry or 'indefinite'

        if yesno(n.editnotice_cat) then

            cat(string.format('Pages with the %s editnotice', n.variant))

        end

        return frame:expandTemplate{title = 'editnotice', args = n}

    else

        local message_box = require('Module:Message box').main

        if not n.image then n.image = 'none' end

        n'type' = 'style'

        return message_box('tmbox', n)

    end

end



local function getBasePageName()

    mw.log('Inside getBasePageName function')

    local title = mw.title.getCurrentTitle()

    local basePageName = title.text



    -- Handle specific cases

    if basePageName:find("McCune-Reischauer romanization of Korean") then

        basePageName = "McCune-Reischauer"

    elseif basePageName:find("Yale romanization of Korean") then

        basePageName = "Yale romanization"

    elseif basePageName:find("Revised Romanization of Korean") then

        basePageName = "Revised Romanization"

    else

        basePageName = basePageName:gsub(" romanization of Korean", "")

        basePageName = basePageName:gsub(" of Korean", "")

    end



    return basePageName

end

p.getBasePageName = getBasePageName



local function _main(frame, templatetitle)

    mw.log('Inside _main function')

    n = mArguments.getArgs(frame, {parentFirst = true})

    n.variant = n.variant or templatetitle -- automatically use title generated from template name

    n.category = ''

    n.transliteration_examples = n.transliteration_examples or n'transliteration examples'

    n.bid = not not n.id



    if not n.text then

        modify_text()

        base_text(frame)

    end

    cat('Wikipedia articles that use the ' .. n.variant)

    return style(frame) .. (n.category or '')

end

p._main = _main



-- Main function

function p.main(frame)

    mw.log('Inside main function')

    local fulltitle = frame:getParent():getTitle()

    local templatetitle = string.sub(fulltitle, 10)

    local title = mw.title.getCurrentTitle()

    if mw.title.equals(title, mw.title.makeTitle('Template', title.rootText)) then -- if it is on the main template page, load doc

        n = mArguments.getArgs(frame, {parentFirst = true})

        n.variant = n.variant or templatetitle -- automatically use title generated from template name

        if n.doc ~= 'no' then

            return frame:expandTemplate {title = 'Korean transliteration notice/documentation', args = n}

        end

    end

    return _main(frame, templatetitle)

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook