Module:R:The Bokmål and Nynorsk dictionaries

From Wiktionary, the free dictionary
Jump to navigation Jump to search

This module is used by Template:R:The Bokmål and Nynorsk dictionaries to interface with these two dictionaries. That template is in turn used by Template:R:The_Nynorsk_Dictionary and Template:R:The_Bokmål_Dictionary. See documentation there for usage information. This module should normally NOT be called directly, but be used through those templates.

This module is called like this:

{{#invoke:R:The Bokmål and Nynorsk dictionaries|main}}

Optionally, one of the dictionaries may be chosen, either Nynorsk – nn – or Bokmål – nb, e.g.:

{{#invoke:R:The Bokmål and Nynorsk dictionaries|main|nn}}

local p = {}
 
function p.main(frame)
    local PAGENAME = mw.title.getCurrentTitle().text
    
    local templateLang = frame.args[1]
    local params = {
		[1] = {},
		["lang"] = {},
	}
	local args = require("Module:parameters").process(frame:getParent().args, params)
    
    local lang
    
    if templateLang and templateLang ~= '' then
    	lang = templateLang
    else
	    if args['lang'] then
	        lang = args['lang']
	    else
	        lang = 'no'
	    end
    end
    
    if lang == 'nb' then
        specifier = 'bm'
        specifier2 = "''The Bokmål Dictionary''"
    elseif lang == 'nn'  then
        specifier = 'nn'
        specifier2 = "''The Nynorsk Dictionary''"
    elseif lang == 'no' then
        specifier = 'bm,nn'
        specifier2 = "''The Bokmål Dictionary'' / ''The Nynorsk Dictionary''"
    end
    
    target = args[1] or PAGENAME
        
    template = "[https://ordbokene.no/" .. specifier .. "/search?q=" .. target  ..
    " “" .. target .. "”] in " .. specifier2 .. "."
    return template
end
 
return p