<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInLang</id>
	<title>Modul:InLang - Revizia istoricului</title>
	<link rel="self" type="application/atom+xml" href="https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInLang"/>
	<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:InLang&amp;action=history"/>
	<updated>2026-04-23T16:56:30Z</updated>
	<subtitle>Istoricul versiunilor pentru această pagină din wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://enciclopedia.md/index.php?title=Modul:InLang&amp;diff=409&amp;oldid=prev</id>
		<title>Admin: Pagină nouă: local getArgs = require(&#039;Modul:Arguments&#039;).getArgs local illWd = require(&#039;Modul:Ill-wd&#039;) local StringUtils = require(&#039;Modul:StringUtils&#039;) local wikidata = require(&#039;Modul:Wikidata&#039;) local lang = require(&#039;Modul:Lang&#039;) local p = {}  p.getLangLink = function(q) 	return illWd.fromArgs(q, StringUtils._removeStart({StringUtils._removeStart({wikidata.findLabel(q), &#039;Limba &#039;}), &#039;limba &#039;}), nil) end  local function getAlphabetCode(alphabetQID) 	return wikidata.findOneValueNoRef(&#039;P506&#039;,...</title>
		<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:InLang&amp;diff=409&amp;oldid=prev"/>
		<updated>2024-07-18T18:28:11Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs local illWd = require(&amp;#039;Modul:Ill-wd&amp;#039;) local StringUtils = require(&amp;#039;Modul:StringUtils&amp;#039;) local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;) local lang = require(&amp;#039;Modul:Lang&amp;#039;) local p = {}  p.getLangLink = function(q) 	return illWd.fromArgs(q, StringUtils._removeStart({StringUtils._removeStart({wikidata.findLabel(q), &amp;#039;Limba &amp;#039;}), &amp;#039;limba &amp;#039;}), nil) end  local function getAlphabetCode(alphabetQID) 	return wikidata.findOneValueNoRef(&amp;#039;P506&amp;#039;,...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pagină nouă&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs&lt;br /&gt;
local illWd = require(&amp;#039;Modul:Ill-wd&amp;#039;)&lt;br /&gt;
local StringUtils = require(&amp;#039;Modul:StringUtils&amp;#039;)&lt;br /&gt;
local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;)&lt;br /&gt;
local lang = require(&amp;#039;Modul:Lang&amp;#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
p.getLangLink = function(q)&lt;br /&gt;
	return illWd.fromArgs(q, StringUtils._removeStart({StringUtils._removeStart({wikidata.findLabel(q), &amp;#039;Limba &amp;#039;}), &amp;#039;limba &amp;#039;}), nil)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getAlphabetCode(alphabetQID)&lt;br /&gt;
	return wikidata.findOneValueNoRef(&amp;#039;P506&amp;#039;, alphabetQID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getLanguageDir(alphabetQID)&lt;br /&gt;
	local languageDirectionalities = wikidata.getBestEntityIdsList(alphabetQID, &amp;#039;P1406&amp;#039;)&lt;br /&gt;
	local languageDir&lt;br /&gt;
	if languageDirectionalities and languageDirectionalities[1] then&lt;br /&gt;
		languageDir = (languageDirectionalities[1] == 7333457) and &amp;#039;rtl&amp;#039; or nil&lt;br /&gt;
	end&lt;br /&gt;
	return languageDir&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.fromArgs = function(langId, langText, alternateSpellings, defaultAlphabet, italics)&lt;br /&gt;
	local languageLink&lt;br /&gt;
	if mw.ustring.match(langId, &amp;#039;Q?%d+&amp;#039;) then&lt;br /&gt;
		languageLink = p.getLangLink(langId)&lt;br /&gt;
		local langISOcode = wikidata.findOneValueNoRef(&amp;#039;P218&amp;#039;, langId) or wikidata.findOneValueNoRef(&amp;#039;P219&amp;#039;, langId) or wikidata.findOneValueNoRef(&amp;#039;P305&amp;#039;, langId)&lt;br /&gt;
		local languageDir = nil&lt;br /&gt;
		local defaultAlphabetCode&lt;br /&gt;
		if not defaultAlphabet then&lt;br /&gt;
			languageAlphabets = wikidata.getBestEntityIdsList(langId, &amp;#039;P282&amp;#039;)&lt;br /&gt;
			if languageAlphabets and languageAlphabets[1] then&lt;br /&gt;
				defaultAlphabet = languageAlphabets[1]&lt;br /&gt;
			end&lt;br /&gt;
		elseif mw.ustring.match(defaultAlphabet, &amp;#039;Q%d+&amp;#039;) then -- must be on an &amp;#039;else&amp;#039; here because we need an explicit alphabet code only if more are possible (so only if a default is specified)&lt;br /&gt;
			defaultAlphabetCode = getAlphabetCode(defaultAlphabet)&lt;br /&gt;
		end&lt;br /&gt;
		if defaultAlphabet then&lt;br /&gt;
			languageDir = getLanguageDir(defaultAlphabet)&lt;br /&gt;
		end&lt;br /&gt;
		local out = languageLink .. &amp;#039; &amp;#039;&lt;br /&gt;
		if langText then&lt;br /&gt;
			if langISOcode then&lt;br /&gt;
				local htmlText = lang.fromArgs(defaultAlphabetCode and (langISOcode .. &amp;#039;-&amp;#039; .. defaultAlphabetCode) or langISOcode, languageDir, langText, italics)&lt;br /&gt;
				out = out .. htmlText&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;\&amp;#039;\&amp;#039;&amp;#039; .. langText .. &amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if alternateSpellings then&lt;br /&gt;
			local spellingsTexts = {}&lt;br /&gt;
			for _,eachSpelling in ipairs(alternateSpellings) do&lt;br /&gt;
				local crtAlphabet = eachSpelling.alphabet&lt;br /&gt;
				local crtAlphabetDir = nil&lt;br /&gt;
				local crtSpellingText = &amp;#039;&amp;#039;&lt;br /&gt;
				local crtAlphabetCode = &amp;#039;Latn&amp;#039;&lt;br /&gt;
&lt;br /&gt;
				if mw.ustring.match(crtAlphabet, &amp;#039;Q%d+&amp;#039;) then&lt;br /&gt;
					crtAlphabetDir = getLanguageDir(crtAlphabet)&lt;br /&gt;
					crtAlphabetCode = getAlphabetCode(crtAlphabet)&lt;br /&gt;
					crtSpellingText = &amp;#039;cu &amp;#039; .. wikidata.findLinkToItem(crtAlphabet)&lt;br /&gt;
				else&lt;br /&gt;
					crtSpellingText = crtAlphabet&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				if langISOcode then&lt;br /&gt;
					local htmlText = lang.fromArgs(crtAlphabetCode and (langISOcode .. &amp;#039;-&amp;#039; .. crtAlphabetCode) or langISOcode, crtAlphabetDir, eachSpelling.spelling, italics)&lt;br /&gt;
					crtSpellingText = crtSpellingText .. &amp;#039;: &amp;#039; .. htmlText&lt;br /&gt;
				else&lt;br /&gt;
					crtSpellingText = crtSpellingText .. &amp;#039;: \&amp;#039;\&amp;#039;&amp;#039; .. eachSpelling.spelling .. &amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
				table.insert(spellingsTexts, crtSpellingText)&lt;br /&gt;
			end&lt;br /&gt;
			if #spellingsTexts &amp;gt; 0 then&lt;br /&gt;
				out = out .. &amp;#039;, &amp;#039; .. table.concat(spellingsTexts, &amp;#039;, &amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
			return out&lt;br /&gt;
		end&lt;br /&gt;
	else &lt;br /&gt;
		languageLink = &amp;#039;[[Limba &amp;#039; .. langId .. &amp;#039;|&amp;#039; .. langId .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		return languageLink .. &amp;#039; &amp;#039; .. (langText and ((italics and &amp;#039;\&amp;#039;\&amp;#039;&amp;#039; or &amp;#039;&amp;#039;) .. langText .. (italics and &amp;#039;\&amp;#039;\&amp;#039;&amp;#039; or &amp;#039;&amp;#039;)) or &amp;#039;&amp;#039;) .. (langTranslit and (&amp;#039;, &amp;#039; .. latinVariantName .. &amp;#039; &amp;#039; .. &amp;#039;\&amp;#039;\&amp;#039;&amp;#039; .. langTranslit .. &amp;#039;\&amp;#039;\&amp;#039;&amp;#039;) or &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.fromArray = function(args)&lt;br /&gt;
	local languageId = args[1]&lt;br /&gt;
	local languageText = args[2]&lt;br /&gt;
	local languageTranslit = args[3]&lt;br /&gt;
	local latinVariantName = args[4] or &amp;#039;transliterat&amp;#039;&lt;br /&gt;
	local defaultAlphabet = args[&amp;#039;default_alphabet&amp;#039;]&lt;br /&gt;
	local alternateSpellings = {}&lt;br /&gt;
	if languageTranslit then&lt;br /&gt;
		table.insert(alternateSpellings, {spelling = languageTranslit, alphabet = latinVariantName})&lt;br /&gt;
	end&lt;br /&gt;
	local crtArgIndex = 5&lt;br /&gt;
	while args[crtArgIndex + 1] do&lt;br /&gt;
		if args[crtArgIndex] then&lt;br /&gt;
			table.insert(alternateSpellings, {spelling = args[crtArgIndex], alphabet = args[crtArgIndex + 1]})&lt;br /&gt;
		end&lt;br /&gt;
		crtArgIndex = crtArgIndex + 2&lt;br /&gt;
	end&lt;br /&gt;
	local italics = (args[&amp;#039;italics&amp;#039;] ~= &amp;#039;no&amp;#039;)&lt;br /&gt;
	return p.fromArgs(languageId, languageText, alternateSpellings, defaultAlphabet, italics)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.fromFrame = function(frame)&lt;br /&gt;
	argsOptions = {frameOnly = false, parentOnly = false}&lt;br /&gt;
	if frame.args[&amp;#039;args&amp;#039;] then&lt;br /&gt;
		argsOptions.frameOnly = (frame.args[&amp;#039;args&amp;#039;] == &amp;#039;frameOnly&amp;#039;)&lt;br /&gt;
		argsOptions.parentOnly = (frame.args[&amp;#039;args&amp;#039;] == &amp;#039;parentOnly&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local args = getArgs(frame, argsOptions)&lt;br /&gt;
	return p.fromArray(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>