<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALabels</id>
	<title>Module:Labels - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALabels"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Module:Labels&amp;action=history"/>
	<updated>2026-10-25T15:04:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/index.php?title=Module:Labels&amp;diff=373&amp;oldid=prev</id>
		<title>Neb: Sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Module:Labels&amp;diff=373&amp;oldid=prev"/>
		<updated>2026-10-13T04:20:18Z</updated>

		<summary type="html">&lt;p&gt;Sync from dragonminez-wiki repository&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local data = mw.loadData( &amp;#039;Module:Labels/data&amp;#039; )&lt;br /&gt;
local LANGUAGES = { en = true, es = true, pt = true }&lt;br /&gt;
local PLACEHOLDER = &amp;#039;Placeholder.png&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local function pageLanguage( frame )&lt;br /&gt;
	local lang = frame:preprocess( &amp;#039;{{PAGELANGUAGE}}&amp;#039; )&lt;br /&gt;
	if LANGUAGES[ lang ] then&lt;br /&gt;
		return lang&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;en&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function translate( key, lang )&lt;br /&gt;
	local row = data[ key ]&lt;br /&gt;
	if not row then&lt;br /&gt;
		return key&lt;br /&gt;
	end&lt;br /&gt;
	return row[ lang ] or row.en or key&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function baseOf( text )&lt;br /&gt;
	local base, suffix = text:match( &amp;#039;^(.*)/([^/]+)$&amp;#039; )&lt;br /&gt;
	if base and LANGUAGES[ suffix ] then&lt;br /&gt;
		return base&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function fileExists( name )&lt;br /&gt;
	local title = mw.title.new( name, &amp;#039;File&amp;#039; )&lt;br /&gt;
	return title ~= nil and title.file ~= nil and title.file.exists&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.get( frame )&lt;br /&gt;
	local key = mw.text.trim( frame.args[ 1 ] or &amp;#039;&amp;#039; )&lt;br /&gt;
	return translate( key, pageLanguage( frame ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.base( frame )&lt;br /&gt;
	return baseOf( mw.title.getCurrentTitle().text )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.name( frame )&lt;br /&gt;
	local page = mw.text.trim( frame.args[ 1 ] or &amp;#039;&amp;#039; )&lt;br /&gt;
	if page == &amp;#039;&amp;#039; then&lt;br /&gt;
		page = baseOf( mw.title.getCurrentTitle().text )&lt;br /&gt;
	end&lt;br /&gt;
	return translate( page, pageLanguage( frame ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.link( frame )&lt;br /&gt;
	local page = mw.text.trim( frame.args[ 1 ] or &amp;#039;&amp;#039; )&lt;br /&gt;
	local text = mw.text.trim( frame.args[ 2 ] or &amp;#039;&amp;#039; )&lt;br /&gt;
	if text == &amp;#039;&amp;#039; then&lt;br /&gt;
		text = translate( page, pageLanguage( frame ) )&lt;br /&gt;
	end&lt;br /&gt;
	return string.format( &amp;#039;[[Special:MyLanguage/%s|%s]]&amp;#039;, page, text )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.image( frame )&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local given = mw.text.trim( args[ 1 ] or &amp;#039;&amp;#039; )&lt;br /&gt;
	local page = mw.text.trim( args.page or &amp;#039;&amp;#039; )&lt;br /&gt;
	if page == &amp;#039;&amp;#039; then&lt;br /&gt;
		page = baseOf( mw.title.getCurrentTitle().text )&lt;br /&gt;
	end&lt;br /&gt;
	local size = mw.text.trim( args.size or &amp;#039;&amp;#039; )&lt;br /&gt;
	if size == &amp;#039;&amp;#039; then&lt;br /&gt;
		size = &amp;#039;300px&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local candidates = {}&lt;br /&gt;
	if given ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		table.insert( candidates, given )&lt;br /&gt;
	end&lt;br /&gt;
	table.insert( candidates, page .. &amp;#039;.png&amp;#039; )&lt;br /&gt;
	for _, name in ipairs( candidates ) do&lt;br /&gt;
		if fileExists( name ) then&lt;br /&gt;
			return string.format( &amp;#039;[[File:%s|%s|link=|alt=%s]]&amp;#039;, name, size, page )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local placeholder = mw.text.trim( args.placeholder or &amp;#039;&amp;#039; )&lt;br /&gt;
	if placeholder == &amp;#039;&amp;#039; then&lt;br /&gt;
		placeholder = PLACEHOLDER&lt;br /&gt;
	end&lt;br /&gt;
	local label = translate( &amp;#039;Image pending&amp;#039;, pageLanguage( frame ) )&lt;br /&gt;
	return string.format(&lt;br /&gt;
		&amp;#039;&amp;lt;span class=&amp;quot;dmz-placeholder&amp;quot; title=&amp;quot;%s&amp;quot;&amp;gt;[[File:%s|%s|link=|alt=%s]]&amp;lt;/span&amp;gt;&amp;#039;,&lt;br /&gt;
		label, placeholder, size, label&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Neb</name></author>
	</entry>
</feed>