မေႃႇၵျူး:languages: လွင်ႈပႅၵ်ႇပိူင်ႈ ၼႂ်းၵႄႈ လွင်ႈၶူၼ်ႉၶႆႈ
Content deleted Content added
mNo edit summary |
m Reverted edits by Ninjastrikers (talk) to last revision by Saimawnkham |
||
ထႅဝ် 1:
local export = {}
local find = mw.ustring.find
--[=[ This function checks for things that could plausibly be a language code:
Line 21 ⟶ 23:
end
--
lowercase letters; language codes only use ASCII. | Can't use "%l" because that would include all Unicode
lowercase letters; language codes only use ASCII. ]]
local lower = "[a-z]"
if not langCode or langCode == "" then
error("The " .. param .. " (" .. (text or "language code") .. ") is missing.", 2)
elseif
or find(langCode, "^" .. lower .. lower .. lower
.. "%-" .. lower .. lower .. lower .. "$")
or find(langCode, "^" .. lower .. lower .. lower
.. "%-" .. lower .. lower .. lower
.. "%-" .. lower .. lower .. lower .. "$") then
error("The language code \"" .. langCode .. "\" is not valid.", 2)
else
Line 41 ⟶ 50:
function Language:getCanonicalName()
return
end
Line 68 ⟶ 77:
return self._wikimediaLanguageObjects
end
function Language:getWikipediaArticle()
end
function Language:makeWikipediaLink()
Line 87 ⟶ 89:
end
function Language:getScripts()
Line 109 ⟶ 108:
function Language:getFamily()
if self._rawData.family and not self._familyObject then
end
Line 189 ⟶ 183:
function Language:getCategoryName()
local name = self
-- If the name already has "language" in it, don't add it.
Line 195 ⟶ 189:
return name
else
return name .. "
end
end
Line 261 ⟶ 255:
local hyphens_regex = "^[-־ـ*]+(.)"
name = mw.ustring.gsub(name, hyphens_regex, "%1")
-- Remove parentheses, as long as they are either preceded or followed by something▼
name = mw.ustring.gsub(name, "(.)[()]+", "%1")▼
name = mw.ustring.gsub(name, "[()]+(.)", "%1")▼
-- If there are language-specific rules to generate the key, use those
Line 271 ⟶ 269:
name = require("Module:" .. self._rawData.sort_key).makeSortKey(name, self:getCode(), sc and sc:getCode())
end
▲ -- Remove parentheses, as long as they are either preceded or followed by something
▲ name = mw.ustring.gsub(name, "(.)[()]+", "%1")
▲ name = mw.ustring.gsub(name, "[()]+(.)", "%1")
if has_dotted_undotted_i[self:getCode()] then
Line 332 ⟶ 326:
code = self._code,
entryNamePatterns = entryNamePatterns,
family =
otherNames = self:getOtherNames(),
scripts = self._rawData.scripts,
type = self:getType(),
wikimediaLanguages = self._rawData.wikimedia_codes,
}
Line 354 ⟶ 347:
function export.getDataModuleName(code)
if code:find("^
return "languages/data2"
elseif code:find("^
local prefix = code:sub(1, 1)
return "languages/data3/" .. prefix
elseif code:find("^[
return "languages/datax"
else
|