<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.statsape.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ACountryAdjectiveDemonym</id>
	<title>模块:CountryAdjectiveDemonym - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.statsape.com/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ACountryAdjectiveDemonym"/>
	<link rel="alternate" type="text/html" href="https://wiki.statsape.com/index.php?title=%E6%A8%A1%E5%9D%97:CountryAdjectiveDemonym&amp;action=history"/>
	<updated>2026-11-10T16:34:53Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.statsape.com/index.php?title=%E6%A8%A1%E5%9D%97:CountryAdjectiveDemonym&amp;diff=4080&amp;oldid=prev</id>
		<title>Zeroclanzhang：​创建页面，内容为“local CountryAdjectiveDemonym = { }  local CountryAdjectiveDemonymDataLoaded = false  local countryAdjectivesToNounsTable = { } local countryNounsToAdjectivesTable  = { }  local countryDemonymsToNounsTable = { } local countryNounsToDemonymsTable  = { }  local countriesPrefixedByTheTable = { }  function CountryAdjectiveDemonymDoLoadData() 	countriesPrefixedByTheTable = mw.loadData( &#039;Module:CountryAdjectiveDemonym/The&#039; ) 	countryNounsToAdjectivesTable = mw.loadDa…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.statsape.com/index.php?title=%E6%A8%A1%E5%9D%97:CountryAdjectiveDemonym&amp;diff=4080&amp;oldid=prev"/>
		<updated>2024-01-16T03:17:35Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local CountryAdjectiveDemonym = { }  local CountryAdjectiveDemonymDataLoaded = false  local countryAdjectivesToNounsTable = { } local countryNounsToAdjectivesTable  = { }  local countryDemonymsToNounsTable = { } local countryNounsToDemonymsTable  = { }  local countriesPrefixedByTheTable = { }  function CountryAdjectiveDemonymDoLoadData() 	countriesPrefixedByTheTable = mw.loadData( &amp;#039;Module:CountryAdjectiveDemonym/The&amp;#039; ) 	countryNounsToAdjectivesTable = mw.loadDa…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local CountryAdjectiveDemonym = { }&lt;br /&gt;
&lt;br /&gt;
local CountryAdjectiveDemonymDataLoaded = false&lt;br /&gt;
&lt;br /&gt;
local countryAdjectivesToNounsTable = { }&lt;br /&gt;
local countryNounsToAdjectivesTable  = { }&lt;br /&gt;
&lt;br /&gt;
local countryDemonymsToNounsTable = { }&lt;br /&gt;
local countryNounsToDemonymsTable  = { }&lt;br /&gt;
&lt;br /&gt;
local countriesPrefixedByTheTable = { }&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	countriesPrefixedByTheTable = mw.loadData( &amp;#039;Module:CountryAdjectiveDemonym/The&amp;#039; )&lt;br /&gt;
	countryNounsToAdjectivesTable = mw.loadData( &amp;#039;Module:CountryAdjectiveDemonym/Adjectives&amp;#039; )&lt;br /&gt;
	countryNounsToDemonymsTable = mw.loadData( &amp;#039;Module:CountryAdjectiveDemonym/Demonyms&amp;#039; )&lt;br /&gt;
	local myNoun, myAdjective&lt;br /&gt;
	&lt;br /&gt;
	-- first, load the adjectives table&lt;br /&gt;
	for myNoun, myAdjective in pairs(countryNounsToAdjectivesTable) do&lt;br /&gt;
		countryAdjectivesToNounsTable[myAdjective] = myNoun&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Now load the denomyms table&lt;br /&gt;
	local myDemonym&lt;br /&gt;
	for myNoun, myDemonym in pairs(countryNounsToDemonymsTable) do&lt;br /&gt;
		countryDemonymsToNounsTable[myDemonym] = myNoun&lt;br /&gt;
	end&lt;br /&gt;
	CountryAdjectiveDemonymDataLoaded = true&lt;br /&gt;
	return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- ############### Publicly accesible functions #######################&lt;br /&gt;
&lt;br /&gt;
-- if the country name is prefixed by &amp;quot;the&amp;quot; in running text,&lt;br /&gt;
-- then return that prefix&lt;br /&gt;
-- Otherwise just return an empty string&lt;br /&gt;
function CountryAdjectiveDemonym.countryPrefixThe(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	if (countriesPrefixedByTheTable[s] == true) then&lt;br /&gt;
		return &amp;quot;the &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.getCountryFromAdjective(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	local retval = countryAdjectivesToNounsTable[s]&lt;br /&gt;
	if retval == nil then&lt;br /&gt;
		if s == &amp;quot;Georgia (country)&amp;quot; then&lt;br /&gt;
			return s&lt;br /&gt;
		end&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.getCountryFromString(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local similarLongerNouns = mw.loadData( &amp;#039;Module:CountryAdjectiveDemonym/LongerNouns&amp;#039; )&lt;br /&gt;
	for adjective, noun in pairs(countryAdjectivesToNounsTable) do&lt;br /&gt;
		if string.find(s, adjective) or string.find(s, noun) then&lt;br /&gt;
			for longerNoun, nameToUse in pairs(similarLongerNouns) do&lt;br /&gt;
				if string.find(s, longerNoun) then&lt;br /&gt;
					return nameToUse&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return noun&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.getCountryFromDemonym(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	local retval = countryDemonymsToNounsTable[s]&lt;br /&gt;
	if retval == nil then &lt;br /&gt;
		retval = countryAdjectivesToNounsTable[s]&lt;br /&gt;
	end&lt;br /&gt;
	if retval == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.getAdjectiveFromCountry(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	local retval = countryNounsToAdjectivesTable[s]&lt;br /&gt;
	if retval == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.getDemonymFromCountry(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if not CountryAdjectiveDemonymDataLoaded then&lt;br /&gt;
		CountryAdjectiveDemonymDoLoadData()&lt;br /&gt;
	end&lt;br /&gt;
	local retval&lt;br /&gt;
	retval = countryNounsToDemonymsTable[s]&lt;br /&gt;
	if retval == nil then&lt;br /&gt;
		retval = countryNounsToAdjectivesTable[s]&lt;br /&gt;
	end&lt;br /&gt;
	if retval == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CountryAdjectiveDemonym.stripThe(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	if s == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.match( s, &amp;quot;^[T]he Gambia$&amp;quot;) ~= nil then&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
	local stripped = mw.ustring.gsub(s, &amp;quot;^[tT]he &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	return stripped&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return CountryAdjectiveDemonym&lt;/div&gt;</summary>
		<author><name>Zeroclanzhang</name></author>
	</entry>
</feed>