Modul:Lang

De la MediaWiki
Versiunea din 14 iulie 2024 20:30, autor: Sergiu (discuție | contribuții) (Pagină nouă: local p = {} local getArgs = require('Modul:Arguments').getArgs local wikidata = require('Modul:Wikidata') p.fromArgs = function(langISOcode, languageDir, langText, italic) local span = mw.html.create('span') span:attr('lang', langISOcode) span:attr('translate', 'no') if languageDir then span:attr('dir', languageDir) end if italic then span:css('font-style', 'italic') end span:wikitext(langText) return tostring(span) end p.fromFrame = function(frame) local args = ge...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare

Documentația acestui modul poate fi creată la Modul:Lang/doc

Eroare în script: Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

local p = {}
local getArgs = require('Modul:Arguments').getArgs
local wikidata = require('Modul:Wikidata')

p.fromArgs = function(langISOcode, languageDir, langText, italic)
	local span = mw.html.create('span')
	span:attr('lang', langISOcode)
	span:attr('translate', 'no')
	if languageDir then span:attr('dir', languageDir) end
	if italic then span:css('font-style', 'italic') end
	span:wikitext(langText)
	return tostring(span)
end

p.fromFrame = function(frame)
	local args = getArgs(frame)
	local langId = args[1]
	local langISOCode = langId
	local languageRTL = args['rtl']
	local italic = true
	if mw.ustring.match(langId, 'Q?%d+') then
		langISOCode = wikidata.findOneValue('P218', langId) or wikidata.findOneValue('P219', langId) or wikidata.findOneValue('P305', langId)
		if languageAlphabets and languageAlphabets[1] then
			languageDirectionalities = wikidata.getBestEntityIdsList(languageAlphabets[1], 'P1406')
			if languageDirectionalities and languageDirectionalities[1] then
				languageRTL = (languageDirectionalities[1] == 7333457)
			end
		end
	end
	local italicarg = args.italic or args.i
	if italicarg == 'no' or italicarg == 'false' or italicarg == 'nu' or italicarg == 'n' then
		italic = false
	end
	
	return p.fromArgs(langISOCode, languageRTL and 'rtl', args[2], italic)
end

return p