<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3APinyin</id>
	<title>Module:Pinyin - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3APinyin"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Pinyin&amp;action=history"/>
	<updated>2026-05-27T10:36:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Pinyin&amp;diff=144304&amp;oldid=prev</id>
		<title>imported&gt;Underbar dk at 09:29, 12 March 2014</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Pinyin&amp;diff=144304&amp;oldid=prev"/>
		<updated>2014-03-12T09:29:05Z</updated>

		<summary type="html">&lt;p&gt;&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;
function attachTone(a, n)&lt;br /&gt;
    n = tonumber(n)&lt;br /&gt;
	if a == &amp;quot;a&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;ā&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;á&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ǎ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;à&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;A&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;Ā&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;Á&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;Ǎ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;À&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;e&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;ē&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;é&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ě&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;è&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;E&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;Ē&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;É&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;Ě&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;È&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;i&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;ī&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;í&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ǐ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ì&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;O&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;Ō&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;Ó&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;Ŏ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;Ò&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;o&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;ō&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;ó&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ǒ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ò&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;u&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;ū&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;ú&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ǔ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ù&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (a == &amp;quot;v&amp;quot;) or (a == &amp;quot;ü&amp;quot;) then&lt;br /&gt;
		if n == 1 then return &amp;quot;ǖ&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;ǘ&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ǚ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ǜ&amp;quot; end&lt;br /&gt;
		return &amp;quot;ü&amp;quot;&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;Ê&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;E&amp;amp;#770;&amp;amp;#772;&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;Ế&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;E&amp;amp;#770;&amp;amp;#780;&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;Ề&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;ê&amp;quot; then&lt;br /&gt;
		if n == 1 then return &amp;quot;e&amp;amp;#770;&amp;amp;#772;&amp;quot; end&lt;br /&gt;
		if n == 2 then return &amp;quot;ế&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;e&amp;amp;#770;&amp;amp;#780;&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ề&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;N&amp;quot; then&lt;br /&gt;
		if n == 2 then return &amp;quot;Ń&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;Ň&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;Ǹ&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	if a == &amp;quot;n&amp;quot; then&lt;br /&gt;
		if n == 2 then return &amp;quot;ń&amp;quot; end&lt;br /&gt;
		if n == 3 then return &amp;quot;ň&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;ǹ&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a == &amp;quot;M&amp;quot; then&lt;br /&gt;
		if n == 2 then return &amp;quot;Ḿ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;M&amp;amp;#x300;&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
	end&lt;br /&gt;
	if a == &amp;quot;m&amp;quot; then&lt;br /&gt;
		if n == 2 then return &amp;quot;ḿ&amp;quot; end&lt;br /&gt;
		if n == 4 then return &amp;quot;m&amp;amp;#x300;&amp;quot; end&lt;br /&gt;
		return a&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return a&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function selectVowel(chara, n)&lt;br /&gt;
	&lt;br /&gt;
	if not chara then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if chara:find(&amp;#039;^.*A&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;A&amp;quot;, attachTone(&amp;quot;A&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*a&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;a&amp;quot;, attachTone(&amp;quot;a&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if chara:find(&amp;#039;^.*E&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;E&amp;quot;, attachTone(&amp;quot;E&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*e&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;e&amp;quot;, attachTone(&amp;quot;e&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if chara:find(&amp;#039;^.*Ê&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;Ê&amp;quot;, attachTone(&amp;quot;Ê&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*ê&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;ê&amp;quot;, attachTone(&amp;quot;ê&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if chara:find(&amp;#039;^.*iu&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;iu&amp;quot;, &amp;quot;i&amp;quot;..attachTone(&amp;quot;u&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*i&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;i&amp;quot;, attachTone(&amp;quot;i&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if chara:find(&amp;#039;^.*O&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;O&amp;quot;, attachTone(&amp;quot;O&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*o&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;o&amp;quot;, attachTone(&amp;quot;o&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if chara:find(&amp;#039;^.*u&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;u&amp;quot;, attachTone(&amp;quot;u&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if chara:find(&amp;#039;^.*v&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;v&amp;quot;, attachTone(&amp;quot;v&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*ü&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;ü&amp;quot;, attachTone(&amp;quot;ü&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if chara:find(&amp;#039;^.*N&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;N&amp;quot;, attachTone(&amp;quot;N&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*n&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;n&amp;quot;, attachTone(&amp;quot;n&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if chara:find(&amp;#039;^.*M&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;M&amp;quot;, attachTone(&amp;quot;M&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
	if chara:find(&amp;#039;^.*m&amp;#039;) then&lt;br /&gt;
		return chara:gsub(&amp;quot;m&amp;quot;, attachTone(&amp;quot;m&amp;quot;, n))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.pinyin(frame)&lt;br /&gt;
	local input = frame.args[1]&lt;br /&gt;
	if not input then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	local ve = input:gsub(&amp;quot;nue&amp;quot;, &amp;quot;nve&amp;quot;):gsub(&amp;quot;lue&amp;quot;, &amp;quot;lve&amp;quot;)&lt;br /&gt;
	local out = ve:gsub(&amp;quot;([%aüÊê]+)(%d)&amp;quot;, selectVowel)&lt;br /&gt;
	return (out:gsub(&amp;quot;v&amp;quot;, &amp;quot;ü&amp;quot;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Underbar dk</name></author>
	</entry>
</feed>