Modul:wikimedia languages
Tillarni topish va qabul[tahrirlash]
Moduli tillarni topish uchun ishlatiladi vazifalari bir qator eksport qilmoqda.
getByCode[tahrirlash]
getByCode(code)
Kimning kodi taqdim birini pas Vikipediya tilini topadi. U mavjud boʻlsa, u til vakili boʻlgan WikimediaLanguage
obyekti qaytaradi. Aks holda, u nil
qaytaradi.
Qiyoslash[tahrirlash]
Qabul tillarda turli yoʻllar oʻrtasidagi farqlar ayrim misollar yordamida, bu erda koʻrish mumkin.
Kode | Module:tili.getByCode
|
Module:tili.getByCode():getWikimediaLanguages()
|
Module:wikimedia tili.getByCode
|
Module:wikimedia tili.getByCodeWithFallback
|
Eslatma |
---|---|---|---|---|---|
fr
|
fr /Fransuzchada
|
fr /Fransuzchada
|
fr /Fransuzchada
|
fr /Fransuzchada
|
Code used by both Wikimedia and Wiktionary. |
bs
|
nil
|
(error) | bs /Bosnian
|
bs /Bosnian
|
Code used only by Wikimedia, not Wiktionary. |
sh
|
sh /Serb-xorvatchada
|
sh /Serb-xorvatchadabs /Bosnianhr /Croatiansr /Serbian
|
sh /Serb-xorvatchada
|
sh /Serb-xorvatchada
|
Code used by both Wikimedia and Wiktionary. Module:wikimedia languages returns sh as that is a valid Wikimedia code.:getWikimediaLanguages() maps the code to multiple possible Wikimedia codes.
|
cmn
|
cmn /Mandarin
|
zh /Xitoychada
|
nil
|
zh /Xitoychada
|
Code is used only by Wiktionary, not Wikimedia. The code is mapped by :getWikimediaLanguages() to the equivalent Wikimedia code zh .
|
wym
|
wym /Vilamovian
|
nil
|
nil
|
nil
|
Code is used only by Wiktionary, not Wikimedia. The code is not mapped onto another by :getWikimediaLanguages() , so nil is returned.
|
WikimediaLanguage objects[tahrirlash]
A WikimediaLanguage
obʼekt ustida vazifalari biri qaytarilur. Bu Vikipediya tili Lua vakillik va u bilan bogʻliq boʻlgan maʼlumotdir. :
Bu foydalanib, unga daʼvat mumkin usullari bir qator bor. Masalan:
local m_wmlanguages = require("Module:wikimedia languages")
local tili = m_wmlanguages.getByCode("bs")
local name = tili:getCanonicalName()
-- "name" will now be "Bosnian"
Language:getCode[tahrirlash]
:getCode()
Tilining til kodi qaytaradi. Misol: frantsuz uchun "fr"
.
Language:getCanonicalName[tahrirlash]
:getCanonicalName()
Tilning kanonik nomini qaytaradi. Bu Vikilugʻat bu tilni vakillik qilish uchun ishlatiladi nomidir. Misol: frantsuz uchun "French"
.
Language:getAllNames[tahrirlash]
:getAllNames()
Kanonik nomi, shu jumladan til bilan tanilgan barcha nomlari, bir stol qaytaradi. Nomlari baʼzan bir necha til bir xil nom bilan tanilgan, noyob boʻlishi kafolat boʻlmaydi. Misol: frantsuz uchun {"French", "Modern French"}
.
Language:getType[tahrirlash]
:getType()
"Vikimediya" qaytaradi.
Language:getWiktionaryLanguage[tahrirlash]
:getWiktionaryLanguage()
Bu Wikimedia Language
teng Vikilugʼat-ona tilini ifodalaydi: a Til obʼekt (Module:tili qarang) qaytaradi. Koʻp hollarda, bu original Vikimediya til sifatida bir xil kod va nomi boʻladi, lekin ulardan bir necha xil.
Til obʼektlari boʻyicha getWikimediaLanguages
usul ham, bu faqat bir obʼekt qaytaradi: farqli oʻlaroq unutmang. Teglar va skript formatlash qoʻllash aniq ekanligini, shuning uchun bu amalga oshiriladi.
Language:getRawData[tahrirlash]
:getRawData()
- Ushbu funktsiya yozuvlari yoki boshqa tarkib sahifalarida foydalanish uchun emas.
Til haqida maʼlumotlar bir tomchi qaytaradi. Bu BLOB formati hujjatsiz va ehtimol beqaror boʻladi; u bor moduli bilan "yaqin do'st" va hozirgi format oʻzgarishlar sifatida qoʻyiladi moduli oʻz birlik-test, kabi ishlar uchun moʻljallangan ekan.
local export = {}
local WikimediaLanguage = {}
function WikimediaLanguage:getCode()
return self._code
end
function WikimediaLanguage:getCanonicalName()
return self._rawData.canonicalName
end
--function WikimediaLanguage:getAllNames()
-- return self._rawData.names
--end
function WikimediaLanguage:getType()
return "Vikimediya"
end
function WikimediaLanguage:getWiktionaryLanguage()
if not self._wiktionaryLanguageObject then
self._wiktionaryLanguageObject = require("Module:tili").getByCode(self._rawData.wiktionary_code)
end
return self._wiktionaryLanguageObject
end
-- Do NOT use this method!
-- All uses should be pre-approved on the talk page!
function WikimediaLanguage:getRawData()
return self._rawData
end
WikimediaLanguage.__index = WikimediaLanguage
function export.getByCode(code)
-- Only accept codes the software recognises
if not mw.language.isKnownLanguageTag(code) then
return nil
end
local rawData = mw.loadData("Module:wikimedia languages/data")[code]
-- If there is no specific Wikimedia code, then "borrow" the information
-- from the general Wiktionary language code
if not rawData then
local tili = require("Module:tili").getByCode(code)
if not tili then
return nil
end
rawData = {canonicalName = tili:getCanonicalName(), wiktionary_code = code}
elseif not rawData.canonicalName then
rawData = {canonicalName = require("Module:tili").getByCode(rawData.wiktionary_code):getCanonicalName(), wiktionary_code = rawData.wiktionary_code}
end
return setmetatable({ _rawData = rawData, _code = code }, WikimediaLanguage)
end
function export.getByCodeWithFallback(code)
local object = export.getByCode(code)
if object then
return object
end
local tili = require("Module:tili").getByCode(code)
if not tili then
return nil
end
return tili:getWikimediaLanguages()[1]
end
return export