<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://sls.wiki/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ASpecialConversion</id>
	<title>模块:SpecialConversion - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://sls.wiki/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ASpecialConversion"/>
	<link rel="alternate" type="text/html" href="https://sls.wiki/index.php?title=%E6%A8%A1%E5%9D%97:SpecialConversion&amp;action=history"/>
	<updated>2026-05-03T21:03:24Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://sls.wiki/index.php?title=%E6%A8%A1%E5%9D%97:SpecialConversion&amp;diff=922&amp;oldid=prev</id>
		<title>Kesager：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://sls.wiki/index.php?title=%E6%A8%A1%E5%9D%97:SpecialConversion&amp;diff=922&amp;oldid=prev"/>
		<updated>2022-10-03T03:09:39Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年10月3日 (一) 11:09的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;zh-Hans-CN&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-921:rev-922 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kesager</name></author>
	</entry>
	<entry>
		<id>https://sls.wiki/index.php?title=%E6%A8%A1%E5%9D%97:SpecialConversion&amp;diff=921&amp;oldid=prev</id>
		<title>BGMW&gt;487789834：​机器人：更新页面</title>
		<link rel="alternate" type="text/html" href="https://sls.wiki/index.php?title=%E6%A8%A1%E5%9D%97:SpecialConversion&amp;diff=921&amp;oldid=prev"/>
		<updated>2022-08-17T06:27:36Z</updated>

		<summary type="html">&lt;p&gt;机器人：更新页面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
--X zh-cn&lt;br /&gt;
--Y zh-tw&lt;br /&gt;
--Z zh-hk&lt;br /&gt;
local all = mw.loadData(&amp;#039;Module:SpecialConversion/All&amp;#039;)&lt;br /&gt;
local snap = mw.loadData(&amp;#039;Module:SpecialConversion/Snapshot&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p.all(type)&lt;br /&gt;
	if type == &amp;#039;advdesc&amp;#039; then&lt;br /&gt;
		type = &amp;#039;advancements&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if type ~= &amp;#039;all&amp;#039; then&lt;br /&gt;
		return p.insertAll(type)&lt;br /&gt;
	else&lt;br /&gt;
		return p.insertAll(&amp;#039;advancements&amp;#039;, &amp;#039;stats&amp;#039;, &amp;#039;subtitles&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.insertAll(...)&lt;br /&gt;
	local t = {}&lt;br /&gt;
	for k in pairs(all) do&lt;br /&gt;
		for _, name in ipairs {...} do&lt;br /&gt;
			if k:find(&amp;#039;^&amp;#039; .. name .. &amp;#039;.&amp;#039;) then&lt;br /&gt;
				table.insert(t, &amp;#039;-{H|zh-cn:&amp;#039; .. all[k][1] .. &amp;#039;;zh-tw:&amp;#039; .. all[k][2] ..&amp;#039;;zh-hk:&amp;#039;..all[k][3].. &amp;#039;}-&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(t)&lt;br /&gt;
	return table.concat(t)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.one(t, key, mode, argX, argY, argZ)&lt;br /&gt;
	local resultX = &amp;#039;&amp;#039;--X zh-cn&lt;br /&gt;
	local resultY = &amp;#039;&amp;#039;--Y zh-tw&lt;br /&gt;
	local resultZ = &amp;#039;&amp;#039;--Z zh-hk&lt;br /&gt;
	mode = mode ~= &amp;#039;&amp;#039; and mode .. &amp;#039;|&amp;#039; or mode&lt;br /&gt;
	if t[key] then&lt;br /&gt;
		resultX = t[key][1] --zh-cn&lt;br /&gt;
		resultY = t[key][2] --zh-tw&lt;br /&gt;
		resultZ = t[key][3] --zh-hk&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	argX = padArg(argX, resultX)&lt;br /&gt;
	argY = padArg(argY, resultY)&lt;br /&gt;
	argZ = padArg(argZ, resultZ)&lt;br /&gt;
	if resultX ~= &amp;#039;&amp;#039; and resultY ~= &amp;#039;&amp;#039; and resultZ ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		return table.concat {&lt;br /&gt;
			&amp;#039;-{&amp;#039;,&lt;br /&gt;
			mode,&lt;br /&gt;
			&amp;#039;zh-cn:&amp;#039;,&lt;br /&gt;
			resultX:format(unpack(argX)),&lt;br /&gt;
			&amp;#039;;zh-tw:&amp;#039;,&lt;br /&gt;
			resultY:format(unpack(argY)),&lt;br /&gt;
			&amp;#039;;zh-hk:&amp;#039;,&lt;br /&gt;
			resultZ:format(unpack(argZ)),&lt;br /&gt;
			&amp;#039;}-&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	if resultX ~= &amp;#039;&amp;#039; and resultY == &amp;#039;&amp;#039; then&lt;br /&gt;
		return resultX:format(unpack(argX)) .. &amp;#039;[[Category:缺少zh-tw翻译]]&amp;#039;&lt;br /&gt;
	elseif resultX ~= &amp;#039;&amp;#039; and resultZ == &amp;#039;&amp;#039; then&lt;br /&gt;
		return resultX:format(unpack(argX)) .. &amp;#039;[[Category:缺少zh-hk翻译]]&amp;#039;&lt;br /&gt;
		else return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function padArg(arg, pattern)&lt;br /&gt;
	local t = arg or {}&lt;br /&gt;
	local i = 1&lt;br /&gt;
	for _ in pattern:gmatch(&amp;#039;%%s&amp;#039;) do&lt;br /&gt;
		t[i] = t[i] or &amp;#039;%s&amp;#039;&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	return t&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getPrefixedArgs(args, prefix)&lt;br /&gt;
	local t = {}&lt;br /&gt;
	local n&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &amp;#039;string&amp;#039; and k:match(&amp;#039;^&amp;#039; .. prefix .. &amp;#039;%d+$&amp;#039;) then&lt;br /&gt;
			n = tonumber(k:match(&amp;#039;^&amp;#039; .. prefix .. &amp;#039;(%d+)$&amp;#039;))&lt;br /&gt;
			t[n] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return #t ~= 0 and t or nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.convert(f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then&lt;br /&gt;
		args = f:getParent().args&lt;br /&gt;
	end&lt;br /&gt;
	local type = args.type -- advancements (advdesc), stat, subtitles&lt;br /&gt;
	local mode = args.mode or &amp;#039;&amp;#039; -- H&lt;br /&gt;
	local argX = getPrefixedArgs(args, &amp;#039;s&amp;#039;)&lt;br /&gt;
	local argY = getPrefixedArgs(args, &amp;#039;t&amp;#039;) or argX&lt;br /&gt;
	local argZ = getPrefixedArgs(args, &amp;#039;h&amp;#039;) or argY&lt;br /&gt;
	local key = mw.text.trim(args[1])&lt;br /&gt;
	local cat = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args[1] == &amp;#039;all&amp;#039; then&lt;br /&gt;
		return p.all(type)&lt;br /&gt;
	else&lt;br /&gt;
		local conv = p.one(all, key, mode, argX, argY, argZ)&lt;br /&gt;
		local convsnap = p.one(snap, key, mode, argX, argY, argZ)&lt;br /&gt;
		local convresult = convsnap or conv &lt;br /&gt;
		if conv ~= convsnap and (convsnap ~= &amp;#039;&amp;#039; and convsnap ~= nil)then&lt;br /&gt;
			cat = &amp;#039;[[Category:快照转换内容]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if convresult ~= &amp;#039;&amp;#039; and convresult ~= nil then&lt;br /&gt;
			return convresult..cat&lt;br /&gt;
		else&lt;br /&gt;
			cat = &amp;#039;[[Category:未知的本地化键名]]&amp;#039;&lt;br /&gt;
			return &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. key .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. cat&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.list(f)&lt;br /&gt;
	local args = f&lt;br /&gt;
	if f == mw.getCurrentFrame() then&lt;br /&gt;
		args = f:getParent().args&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local p1=args[1] &lt;br /&gt;
	local p2=args[2]&lt;br /&gt;
	local p3=args[3]&lt;br /&gt;
	local title=args[&amp;#039;title&amp;#039;] or &amp;#039;类别&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local body ={&amp;#039;{| class=&amp;quot;wikitable&amp;quot;\n|-\n!本地化键名 !! 游戏内字符串 &amp;#039;}&lt;br /&gt;
	local find = false&lt;br /&gt;
	&lt;br /&gt;
	local look =&amp;#039;&amp;#039;&lt;br /&gt;
	if (p1 or p2 or p3 or false) == false then &lt;br /&gt;
		return &amp;quot;&amp;#039;&amp;#039;&amp;#039;空参数&amp;#039;&amp;#039;&amp;#039;[[Category:未知的本地化键名]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if p1 then &lt;br /&gt;
		look = look ..p1..&amp;#039;%.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if p2 then &lt;br /&gt;
		look = look ..p2..&amp;#039;%.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if p3 then &lt;br /&gt;
		look = look ..p3..&amp;#039;%.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for k in pairs(all) do&lt;br /&gt;
			if string.find(k,look) == 1 then&lt;br /&gt;
				find = find or true&lt;br /&gt;
				table.insert(&lt;br /&gt;
					body,&lt;br /&gt;
					table.concat(&lt;br /&gt;
						{&lt;br /&gt;
							&amp;#039;|-\n&amp;#039;,&lt;br /&gt;
							&amp;#039;| &amp;#039;,&lt;br /&gt;
							&amp;#039;&amp;lt;code&amp;gt;&amp;#039;..k..&amp;#039;&amp;lt;/code&amp;gt;&amp;#039;,&lt;br /&gt;
							&amp;#039;|| &amp;#039;,&lt;br /&gt;
							table.concat(&lt;br /&gt;
									{&lt;br /&gt;
										&amp;#039;-{zh-cn:&amp;#039;,&lt;br /&gt;
										all[k][1],&lt;br /&gt;
										&amp;#039;;zh-tw:&amp;#039;,&lt;br /&gt;
										all[k][2],&lt;br /&gt;
										&amp;#039;;zh-hk:&amp;#039;,&lt;br /&gt;
										all[k][3],&lt;br /&gt;
										&amp;#039;}-&amp;#039;&lt;br /&gt;
									}&lt;br /&gt;
								)&lt;br /&gt;
						}&lt;br /&gt;
						)&lt;br /&gt;
					)&lt;br /&gt;
			end&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(&lt;br /&gt;
				body,&lt;br /&gt;
				&amp;#039;|}&amp;#039;&lt;br /&gt;
				)&lt;br /&gt;
	if find then&lt;br /&gt;
		table.sort(body)&lt;br /&gt;
		return table.concat(body, &amp;#039;\n&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;#039;&amp;#039;&amp;#039;未知的本地化键名前缀[[Category:未知的本地化键名]]&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>BGMW&gt;487789834</name></author>
	</entry>
</feed>