Mòideal:ISO 639/data/make
< Mòideal:ISO 639 | data
(deasbaireachd⧼tpt-languages-separator⧽ ⧼tpt-languages-separator⧽eachdraidh⧼tpt-languages-separator⧽ceanglaichean⧼tpt-languages-separator⧽doc⧼tpt-languages-separator⧽bogsa-gainmhich⧼tpt-languages-separator⧽cùisean deuchainn)
This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
After this please update Mòideal:ISO 639/data/altnames using Mòideal:ISO 639/data/altnames/make
- Open a blank sandbox page and paste
{{#invoke:ISO 639/data/make|extract|file-date=YYYYMMDD}}
into it at the top line. - Where YYYYMMDD is year, month, day from the .tab filename
- Go to sil.org (ISO 639-3) and download the Complete Code Tables Set UTF-8 version zip file
- Unzip the zip file and open iso-639-3_YYYYMMDD.tab with a plain-text editor (such as notepad or notepad++)
- Copy the data from the editor and paste it into the sandbox page below the
{{#invoke:ISO 639/data/make|extract|file-date=YYYYMMDD}}
- Click Show preview or Publish changes
- Wait
- Get result (If needed copy them to Mòideal:ISO 639/data)
You can use this sandbox Mòideal talk:ISO 639/data/sandbox
local p = {}
function p.extract (frame)
local page = mw.title.getCurrentTitle();
local content = page:getContent();
local lang_table = {};
local file_date = 'File-Date: ' .. frame.args["file-date"];
content = mw.ustring.gsub (content,"-","DASH")
content = mw.ustring.gsub (content," ","SPACE")
content = mw.ustring.gsub (content,"%(","BRAKCETOPEN")
content = mw.ustring.gsub (content,"%)","BRACKETCLOSE")
content = mw.ustring.gsub (content,"'","APOSTROPHE")
content = mw.ustring.gsub (content,"’","APOSTROPHE2")
for part3, part2, part1, name in mw.ustring.gmatch (content, '\n(%w%w%w)\t(%w*)\t%a*\t(%w*)\t%a*\t%w*\t(%w*)') do
name = mw.ustring.gsub (name,"DASH","-")
name = mw.ustring.gsub (name,"SPACE"," ")
name = mw.ustring.gsub (name,"BRAKCETOPEN","(")
name = mw.ustring.gsub (name,"BRACKETCLOSE",")")
name = mw.ustring.gsub (name,"APOSTROPHE","'")
name = mw.ustring.gsub (name,"APOSTROPHE2","’")
if part3 then
if string.find (lang_table[#lang_table] or '', '^%[\"' .. part3) then
lang_table[#lang_table] = mw.ustring.gsub (lang_table[#lang_table], '}$', '');
lang_table[#lang_table] = lang_table[#lang_table] .. ', \"' .. "name" .. '\"}';
else
table.insert (lang_table,
"[\"" .. part3 .. "\"] = {part2=\"" .. part2 .."\",part1 = \"" .. part1 .."\",name = \"" .. name .."\"}");
end
else
table.insert (lang_table, "[\"ERROR\"] = {" .. "ERROR" .. "}");
end
end
return "<br /><pre>-- " .. file_date .. "<br>-- ["Part 3"] = {part2="Part 2",part1="Part 1",name="Name"} <br>-- You can update the code using [[Module:ISO 639/data/make]]<br>-- For more information about ISO 639 see [[ISO 639]]<br><br>return {<br />	" .. table.concat (lang_table, ',<br />	') .. "<br />	}<br />" .. "</pre>";
end
return p;