<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Fdata%2FISO_639-3%2Fmake</id>
	<title>Module:Language/data/ISO 639-3/make - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Fdata%2FISO_639-3%2Fmake"/>
	<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:Language/data/ISO_639-3/make&amp;action=history"/>
	<updated>2026-04-07T22:46:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://moasspedia.org/w/index.php?title=Module:Language/data/ISO_639-3/make&amp;diff=2238&amp;oldid=prev</id>
		<title>Wikipedia&gt;Gonnym: update doc</title>
		<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:Language/data/ISO_639-3/make&amp;diff=2238&amp;oldid=prev"/>
		<updated>2020-08-30T13:57:30Z</updated>

		<summary type="html">&lt;p&gt;update doc&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;Module:No globals&amp;#039;);&lt;br /&gt;
local p = {};&lt;br /&gt;
&lt;br /&gt;
--[=[------------------------&amp;lt; I S O _ 6 3 9 _ 3 _ E X T R A C T &amp;gt;---------------------------------------------&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Language/data/ISO 639-3/make|ISO_639_3_extract|file-date=20170217}}&lt;br /&gt;
&lt;br /&gt;
Reads a local copy of iso-639-3_Name_Index_YYYYMMDD.tab where (YYYYMMDD is the release date).  Download that file&lt;br /&gt;
in zip form from http://www-01.sil.org/iso639-3/download.asp (use the UTF-8 zip)&lt;br /&gt;
&lt;br /&gt;
useful lines in the file have the form:&lt;br /&gt;
	&amp;lt;id&amp;gt;\t&amp;lt;name&amp;gt;\t&amp;lt;inverted name&amp;gt;\n&lt;br /&gt;
where:&lt;br /&gt;
	&amp;lt;id&amp;gt; is the three-character ISO 639-3 language code&lt;br /&gt;
	&amp;lt;name&amp;gt; is the language &amp;#039;name&amp;#039;&lt;br /&gt;
	&amp;lt;inverted name&amp;gt; is the language in  &amp;#039;last-name, first-name(s)&amp;#039; form; this part ignored&lt;br /&gt;
	&lt;br /&gt;
	like this:&lt;br /&gt;
		aaq	Eastern Abnaki	Abnaki, Eastern&lt;br /&gt;
&lt;br /&gt;
when a language code has more than one name, the code is repeated for each additional name:&lt;br /&gt;
	rar	Cook Islands Maori	Maori, Cook Islands&lt;br /&gt;
	rar	Rarotongan	Rarotongan&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
function p.ISO_639_3_extract (frame)&lt;br /&gt;
	local page = mw.title.getCurrentTitle();									-- get a page object for this page&lt;br /&gt;
	local content = page:getContent();											-- get unparsed content&lt;br /&gt;
	local lang_table = {};														-- languages go here&lt;br /&gt;
&lt;br /&gt;
	local code;&lt;br /&gt;
	local names;&lt;br /&gt;
&lt;br /&gt;
	local file_date = &amp;#039;File-Date: &amp;#039; .. frame.args[&amp;quot;file-date&amp;quot;];									-- set the file date line from |file-date=&lt;br /&gt;
&lt;br /&gt;
	for code, name in mw.ustring.gmatch (content, &amp;#039;%f[%a](%a%a%a)\t([^\t]+)\t[^\n]+\n&amp;#039;) do		-- get code and &amp;#039;forward&amp;#039; name&lt;br /&gt;
		if code then&lt;br /&gt;
			if string.find (lang_table[#lang_table] or &amp;#039;&amp;#039;, &amp;#039;^%[\&amp;quot;&amp;#039; .. code) then				-- if this is an additional name for code (&amp;#039;or&amp;#039; empty string for first time when lang_table[#lang_table] is nil)&lt;br /&gt;
				lang_table[#lang_table] = mw.ustring.gsub (lang_table[#lang_table], &amp;#039;}$&amp;#039;, &amp;#039;&amp;#039;);	-- remove trailing brace from previous name&lt;br /&gt;
				lang_table[#lang_table] = lang_table[#lang_table] .. &amp;#039;, \&amp;quot;&amp;#039; .. name .. &amp;#039;\&amp;quot;}&amp;#039;;	-- add this name with new brace &lt;br /&gt;
			else&lt;br /&gt;
				table.insert (lang_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {\&amp;quot;&amp;quot; .. name .. &amp;quot;\&amp;quot;}&amp;quot;);		-- make new table entry&lt;br /&gt;
			end&lt;br /&gt;
		elseif not code then&lt;br /&gt;
			table.insert (lang_table, &amp;quot;[\&amp;quot;error\&amp;quot;] = {&amp;quot; .. record .. &amp;quot;}&amp;quot;);						-- code should never be nil, but inserting an error entry in the final output can be helpful&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
																				-- make pretty output&lt;br /&gt;
	return &amp;quot;&amp;lt;br /&amp;gt;&amp;lt;pre&amp;gt;-- &amp;quot; .. file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (lang_table, &amp;#039;,&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;#039;) .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;quot; .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Gonnym</name></author>
	</entry>
</feed>