Modul:tili/andozalar
Ushbu modul uchun foydalanish imkonini beradi Module:tili andozalari, shunday qilib ular u erda saqlangan maʼlumot foydalanish mumkin.
Foydalanish
tahrirlashAgar bir tilni kodi bilish (masalan, "uz" uchun) va uning kanonik nomini bilib boʻlsangiz, siz bu foydalanishingiz mumkin:
- {{#invoke:tili/andozalar|getByCode|uz|getCanonicalName}} (qaytadi "Oʻzbek")
Agar bir tilni, uning kanonik nom (masalan, "Oʻzbek tili") bilish va uning kodini topish boʻlsangiz, bu foydalaning:
- {{#invoke:tili/andozalar|getByCanonicalName|Oʻzbek|getCode}} (qaytadi "uz")
Bu funktsiyalarni ikkalasi ham subst bor: ega (type {{subst:#invoke:...).
eksport vazifalari
tahrirlashmavjud
tahrirlash{{#invoke:tili/andozalar|exists|(language code)}}
A til kodi mavjud va tegishli yoki yoʻqligini tekshiring. U yoʻq boʻlsa, u til kodi mavjud boʻlsa, "1" qaytib, va boʻsh string "" qiladi.
Kimdir haqiqiy emas kodni foydalanadi qachon bir skript xato sabab boʻladi, chunki, bu kamdan-kam hollarda, zarur, shuning uchun siz faqat xatolar uchun nazorat qilish, bu shart emas. Shu bilan birga, ishda maʼlum bir oʻlchov bir til kodi yoki boshqa biror narsa yoki yoʻqligini asosida turli harakatlar qaror qabul qilish kerak, bu funktsiya foydali boʻlishi mumkin.
getByCode
tahrirlash{{#invoke:tili/andozalar|getByCode|(language code)|(item to look up)|(index)}}
A til kodi haqida maʼlumot surishtiruv.
- Tillar maʼlumotlar: til kodi moduli Module:tili belgilangan kodlar biri boʻlishi kerak. U yoʻqolgan yoki boʻlmasa, natija bir skript xato boʻladi.
- Tovar bunday
getCanonicalName
yokigetScripts
kabi til obʼekt funktsiyalari, biri nomidir. No xabar berilgan boʻlsa, natija bir skript xato boʻladi. - Indeks ixtiyoriy boʻlib, bunday
getOtherNames
yokigetScripts
sifatida roʻyxati bor obʼektlar uchun ishlatiladi. Bu qaytish uchun roʻyxatda qaysi yangilik tanlaydi.getFamily
kabi yagona satrlari bor obʼektlar, kuni u hech qanday taʼsiri yoʻq. Bir indeks roʻyxatida obʼektlar sonidan yuqori ekanligini berilgan boʻlsa, natija boʻsh tor boʻladi.
Misol uchun, kod tilining kanonik nomini talab qilish uz
:
{{#invoke:tili/andozalar|getByCode|uz|getCanonicalName}}
- Natija:
Oʻzbek
Agar mavjud boʻlsa, uning ikkinchi nomi soʻrash uchun:
{{#invoke:tili/andozalar|getByCode|uz|getOtherNames|1}}
- Natija:
Hozirgi oʻzbek
Uning oilasini soʻrash uchun:
{{#invoke:tili/andozalar|getByCode|uz|getFamily}}
- Natija:
hzg-uzb
getByCanonicalName
tahrirlashShuningdek qarang
tahrirlash- Module:JSON data — bir vaqtning oʻzida barcha maʼlumotlarni eksport uchun
local concat = table.concat
local insert = table.insert
local sort = table.sort
local export = {}
function export.exists(frame)
return require("Module:tili").getByCode(
require("Module:parameters").process(frame.args, {
[1] = {required = true}
})[1]
) and "1" or ""
end
do
local function getByCode(frame, allow_etym)
local plain = {}
local args = require("Module:parameters").process(frame.args, {
[1] = {required = true, type = allow_etym and "language" or "full language"},
[2] = {required = true},
[3] = plain,
[4] = {type = "script"},
[5] = plain,
})
return require("Module:language-like").templateGetByCode(args,
function(itemname)
local list
if itemname == "getWikimediaLanguages" then
list = args[1]:getWikimediaLanguages()
elseif itemname == "getScripts" then
list = args[1]:getScriptCodes()
elseif itemname == "getAncestors" then
list = args[1]:getAncestors()
end
if list then
local retval = list[tonumber(args[3]) or error("Please specify the numeric index of the desired item.")]
if retval then
if type(retval) == "string" then
return retval
else
return retval:getCode()
end
else
return ""
end
end
if itemname == "transliterate" then
return (args[1]:transliterate(args[3], args[4], args[5])) or ""
elseif itemname == "makeDisplayText" then
return (args[1]:makeDisplayText(args[3], args[4])) or ""
elseif itemname == "makeEntryName" then
return (args[1]:makeEntryName(args[3], args[4])) or ""
elseif itemname == "makeSortKey" then
return (args[1]:makeSortKey(args[3], args[4])) or ""
elseif itemname == "countCharacters" then
return args[4]:countCharacters(args[3] or "")
elseif itemname == "findBestScript" then
return args[1]:findBestScript(args[3] or ""):getCode()
end
end
)
end
-- Used by the following JS:
-- * [[WT:ACCEL]]
-- * [[WT:EDIT]]
-- * [[WT:NEC]]
function export.getByCode(frame)
return getByCode(frame, false)
end
function export.getByCodeAllowEtym(frame)
return getByCode(frame, true)
end
end
function export.getByCanonicalName(frame)
local lang = require("Module:tili").getByCanonicalName(
require("Module:parameters").process(frame.args, {
[1] = {required = true}
})[1],
nil,
true
)
return lang and lang:getCode() or ""
end
function export.getCanonicalName(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true},
["return_if_invalid"] = {type = "boolean"},
}
)
local lang = require("Module:tili").getByCode(args[1], nil, true)
return lang and lang:getCanonicalName() or not args.return_if_invalid and "" or args[1]
end
function export.getFull(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true, type = "language"},
}
)
return args[1]:getFullCode()
end
function export.getChildren(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true, type = "language"},
}
)
local children = args[1]:getChildren()
sort(children, function(a, b)
return a:getCanonicalName() < b:getCanonicalName()
end)
local list = {}
for _, child in ipairs(children) do
insert(list, "* " .. child:makeWikipediaLink() .. ": " .. "<code>" .. child:getCode() .. "</code>")
end
return concat(list, "\n")
end
return export