Module:languages: Difference between revisions

no edit summary
No edit summary
Tag: Reverted
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 396: Line 396:
end
end
    if sc:getCode() == "Mong" then m = "Mong-translit" end
return require("Module:" .. (module_override or m)).tr(text, self:getCode(), sc and sc:getCode() or nil)
return require("Module:" .. (module_override or m)).tr(text, self:getCode(), sc and sc:getCode() or nil)
end
end
Line 599: Line 601:
end
end


--[==[If the language is an etymology language, this iterates through parents until a regular language or family is found, and the corresponding object is returned. If the language is a regular language, then it simply returns the language.]==]
--[[ If language is an etymology language, iterates through parent languages
function export.getNonEtymological()
until it finds a non-etymology language. ]]
if not self._nonEtymologicalObject then
function export.getNonEtymological(lang)
local nonEtymologicalCode = self:getNonEtymologicalCode()
while lang:getType() == "etymology language" do
if nonEtymologicalCode ~= self:getCode() then
local parentCode = lang:getParentCode()
self._nonEtymologicalObject = export.getByCode(nonEtymologicalCode, nil, nil, nil, useRequire)
lang = export.getByCode(parentCode)
else
or require("Module:etymology languages").getByCode(parentCode)
self._nonEtymologicalObject = self
or require("Module:families").getByCode(parentCode)
end
end
end
return self._nonEtymologicalObject
end
function export.getNonEtymologicalCode()
return lang
return self._nonEtymologicalCode or self:getCode()
end
 
function export.getNonEtymologicalName()
if self._nonEtymologicalName == nil then
local nonEtymological = self:getNonEtymological()
if nonEtymological then
self._nonEtymologicalName = nonEtymological:getCanonicalName()
else
self._nonEtymologicalName = false
end
end
return self._nonEtymologicalName or nil
end
end


return export
return export