Modul:tili/andozalar

Vikilug‘atdan olingan

Ushbu modul uchun foydalanish imkonini beradi Module:tili andozalari, shunday qilib ular u erda saqlangan maʼlumot foydalanish mumkin.

Foydalanish[tahrirlash]

Agar 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[tahrirlash]

mavjud[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 yoki getScripts kabi til obʼekt funktsiyalari, biri nomidir. No xabar berilgan boʻlsa, natija bir skript xato boʻladi.
  • Indeks ixtiyoriy boʻlib, bunday getOtherNames yoki getScripts 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ʻzbekchada

Agar mavjud boʻlsa, uning ikkinchi nomi soʻrash uchun:

{{#invoke:tili/andozalar|getByCode|uz|getOtherNames|1}}
  • Natija: Northern Uzbek

Uning oilasini soʻrash uchun:

{{#invoke:tili/andozalar|getByCode|uz|getFamily}}
  • Natija: trk

getByCanonicalName[tahrirlash]

Ushbu template hujjatiga kerak.
Hujjatlar sahifasida uning maqsadi va foydalanish tasvirlab, bu shablonni hujjatlarni qiling.

Shuningdek qarang[tahrirlash]


local export = {}

function export.exists(frame)
	local args = frame.args
	local tili = args[1] or error("Til kodi belgilangan emas. moduli iltijo parametr 1 o'tib, iltimos.")
	
	tili = require("Module:tili").getByCode(tili)
	
	if tili then
		return "1"
	else
		return ""
	end
end

-- Used by the following JS:
-- * [[WT:ACCEL]]
-- * [[WT:EDIT]]
-- * [[WT:NEC]]
function export.getByCode(frame)
	local args = frame.args
	local langcode = args[1] or error("Til kodi belgilangan emas. moduli iltijo parametr 1 o'tib, iltimos.")
	local itemname = args[2] or error("Qarash uchun ma'lumotlar turi belgilangan emas. moduli iltijo parametr 2 o'tib, iltimos.")
	
	local tili = require("Module:tili").getByCode(langcode)
	
	if not tili then
		error("The language code '" .. langcode[1] .. "' is not valid.")
	end
	
	-- The item that the caller wanted to look up
	if itemname == "getOtherNames" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Kerakli nomi, soni indeks koʻrsating."))
		return tili:getOtherNames()[index] or ""
	elseif itemname == "getFamily" then
		return tili:getFamily():getCode()
	elseif itemname == "getWikimediaLanguages" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Kerakli til, ularning soni indeks koʻrsating."))
		local tillar = tili:getWikimediaLanguages()
		
		if tillar[index] then
			return tillar[index]:getCode()
		else
			return ""
		end
	elseif itemname == "getScripts" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Kerakli Ssenariy raqamli indeks koʻrsating."))
		local scripts = tili:getScripts()
		
		if scripts[index] then
			return scripts[index]:getCode()
		else
			return ""
		end
	elseif itemname == "getAncestors" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Please specify the numeric index of the desired ancestor."))
		local ancestors = tili:getAncestors()
		
		if ancestors[index] then
			return ancestors[index]:getCode()
		else
			return ""
		end
	elseif itemname == "transliterate" then
		local text = args[3]; if text == "" then text = nil end
		local sc = args[4]; if sc == "" then sc = nil end
		local module_override = args[5]; if module_override == "" then module_override = nil end
		sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil)
		return tili:transliterate(text, sc, module_override) or ""
	elseif itemname == "makeEntryName" then
		local text = args[3]; if text == "" then text = nil end
		return tili:makeEntryName(text) or ""
	elseif tili[itemname] then
		local ret = tili[itemname](tili)
		
		if type(ret) == "string" then
			return ret
		else
			error("The function \"" .. itemname .. "\" did not return a string value.")
		end
	else
		error("Requested invalid item name \"" .. itemname .. "\".")
	end
end

function export.getByCanonicalName(frame)
	local args = frame.args
	local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.")
	
	local tili = require("Module:tili").getByCanonicalName(langname)
	
	if tili then
		return tili:getCode()
	else
		return ""
	end
end

return export