יחידה:שפת קישור

תבנית לציון שפת קישור

דוגמאות

דוגמה
{{#invoke:שפת קישור|שפת קישור|en}}
תוצאה
(באנגלית)
דוגמה
{{#invoke:שפת קישור|שפת קישור|en|es}}
תוצאה
(באנגלית ובספרדית)
דוגמה
{{#invoke:שפת קישור|שפת קישור|en|fr|es}}
תוצאה
(באנגלית, בצרפתית ובספרדית)

local Arguments = require( "Module:Arguments" )

local function getLocalLangNameWithPrefix(langCodeOrLocalName)
	local localName = langCodeOrLocalName

	if not mw.ustring.match(langCodeOrLocalName, '[א-ת]+') then
		-- tanslate
		if langCodeOrLocalName == 'iw' then -- legacy code for modern hebrew
			localName = 'עברית'
		else
			localName = mw.language.fetchLanguageName(langCodeOrLocalName, 'he')
		end
	end
	
	-- add prefix
	if  mw.ustring.match(localName, '[א-ת]+') then
		return 'ב' .. localName
	else
		return 'ב־' .. localName
	end
end


local function render(frame)
		local args = Arguments.getArgs(frame, { ['trim'] = true, ['removeBlanks'] = true })
		local langs = {}
		for _, v in pairs(args) do
			table.insert(langs, getLocalLangNameWithPrefix(v))
		end
		
		if #langs == 0 then
			table.insert(langs, 'ב{{{שפה}}}')
		end
		
		local templatestyles = frame:extensionTag{
			name = 'templatestyles', args = { src = 'יחידה:שפת קישור/styles.css' }
		}
		
		local res = '<span dir="rtl" class="languageicon">('.. mw.text.listToText( langs, ', ', ' ו' )  .. ')</span>' .. templatestyles
		return res
end

return 	{
	['שפת קישור']=render
}