मोड्युल:ISO 639/data/make
स्वरूप
< मोड्युल:ISO 639 • data
After this please update Module:ISO 639/data/altnames using Module: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 Module:ISO 639/data)
You can use this sandbox Module 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;