10,731
edits
TheNightAvl (talk | contribs) No edit summary |
TheNightAvl (talk | contribs) No edit summary |
||
Line 69: | Line 69: | ||
ancestors[lang] = {} | ancestors[lang] = {} | ||
if mw.ustring.find(lang, "[%>%_]") then | |||
-- process ad hoc ancestors | |||
local | local ancestor_path = "" | ||
for piece, delim in mw.ustring.gmatch(lang, "([^%>%_]+)([%>%_])") do | |||
ancestor_path = ancestor_path .. piece | |||
table.insert(ancestors[lang], ancestor_path) | |||
ancestor_path = ancestor_path .. delim | |||
end | end | ||
else -- if ad hoc ancestors unspecified, i.e. the code does not contained the path symbols > or _ | |||
if mw.ustring.find(lang, "[0-9]+$") then | if mw.ustring.find(lang, "[0-9]+$") then | ||
Line 87: | Line 86: | ||
if mw.ustring.find(test, "[^0-9]" .. index .. "$") then -- matches existing historical doublets with identical, e.g. rad-o2, if rad2 is present | if mw.ustring.find(test, "[^0-9]" .. index .. "$") then -- matches existing historical doublets with identical, e.g. rad-o2, if rad2 is present | ||
local test_temp = mw.ustring.gsub(test, index .. "$", "") -- get base | local test_temp = mw.ustring.gsub(test, index .. "$", "") -- get base | ||
if m_languages.get_by_code | if m_languages.get_by_code(lang_temp).lineage[test_temp] then | ||
table.insert(ancestors[lang], test) | table.insert(ancestors[lang], test) | ||
end | end | ||
elseif m_languages.get_by_code | elseif m_languages.get_by_code(lang_temp).lineage[test] and not m_table.contains(list, test .. index) then -- if test is still an ancestor to current language, e.g. rad-o, if rad2 is present, and checks if rad-o2 is not present | ||
mismatch_check(lang_temp, test) | mismatch_check(lang_temp, test) | ||
table.insert(ancestors[lang], test) | table.insert(ancestors[lang], test) | ||
Line 97: | Line 96: | ||
else | else | ||
for _, test in ipairs(list) do | for _, test in ipairs(list) do | ||
if m_languages.get_by_code | if m_languages.get_by_code(lang).lineage[test] then | ||
mismatch_check(lang, test) | mismatch_check(lang, test) | ||
table.insert(ancestors[lang], test) | table.insert(ancestors[lang], test) |