Interested Article - WDLang
seraphina
- 2020-07-12
- 1
Модуль для работы с языками через Викиданные.
Функции
- langEntity — получить элемент Викиданных по коду языка.
- workLangEntity — получить элемент языка работы.
- langCode — получить код языка из элемента языка.
local p = {}
local NS_MODULE = 828 --: https://www.mediawiki.org/wiki/Extension_default_namespaces
local moduleNamespace = mw.site.namespaces[NS_MODULE].name
local wikidata = require(moduleNamespace .. ':WDBase')
p.P_WORK_LANG = 'P407'
p.P_LANG_CODE = 'P218'
p.Q_MULTILANG = 'Q20923490'
function p.langEntity(lang)
-- Список языков langEntities получен с помощью запроса:
-- SELECT ?code ?entity
-- WHERE
-- {
-- ?entity p:P218 ?statement0.
-- ?entity wdt:P218 ?code.
-- ?statement0 (ps:P218) _:anyValueP218.
-- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
-- }
local langEntities = {
el = "Q9129",
ha = "Q56475",
li = "Q102172",
so = "Q13275",
na = "Q13307",
pt = "Q5146",
tk = "Q9267",
se = "Q33947",
ss = "Q34014",
to = "Q34094",
tw = "Q36850",
tr = "Q256",
ms = "Q9237",
hz = "Q33315",
rw = "Q33573",
oj = "Q33875",
ty = "Q34128",
wa = "Q34219",
wo = "Q34257",
za = "Q13216",
nv = "Q13310",
ru = "Q7737",
yi = "Q8641",
nn = "Q25164",
tt = "Q25285",
aa = "Q27811",
ho = "Q33617",
sc = "Q33976",
yo = "Q34311",
nd = "Q35613",
mh = "Q36280",
pi = "Q36727",
pl = "Q809",
sa = "Q11059",
rm = "Q13199",
sw = "Q7838",
uk = "Q8798",
no = "Q9043",
sk = "Q9058",
sl = "Q9063",
my = "Q9228",
ve = "Q32704",
ne = "Q33823",
om = "Q33864",
sg = "Q33954",
su = "Q34002",
tl = "Q34057",
ro = "Q7913",
te = "Q8097",
vi = "Q9199",
sr = "Q9299",
ny = "Q33273",
rn = "Q33583",
ng = "Q33900",
sd = "Q33997",
tn = "Q34137",
ts = "Q34327",
ps = "Q58680",
ur = "Q1617",
qu = "Q5218",
oc = "Q14185",
nl = "Q7411",
uz = "Q9264",
sh = "Q9301",
ae = "Q29572",
-- or = "Q33810",
sm = "Q34011",
st = "Q34340",
kr = "Q36094",
kj = "Q1405077",
zu = "Q10179",
ug = "Q13263",
si = "Q13267",
sv = "Q9027",
os = "Q33968",
sn = "Q34004",
ta = "Q5885",
zh = "Q7850",
sq = "Q8748",
mt = "Q9166",
th = "Q9217",
tg = "Q9260",
xh = "Q13218",
nb = "Q25167",
ti = "Q34124",
lu = "Q36157",
nr = "Q36785",
vo = "Q36986",
bh = "Q135305",
pa = "Q112664216",
en = "Q1860",
hr = "Q6654",
bg = "Q7918",
be = "Q9091",
gl = "Q9307",
fy = "Q27175",
ak = "Q28026",
cu = "Q35499",
fj = "Q33295",
cv = "Q33348",
kn = "Q33673",
ln = "Q36217",
mi = "Q36451",
ja = "Q5287",
mg = "Q7930",
da = "Q9035",
lv = "Q9078",
lt = "Q9083",
ky = "Q9255",
ht = "Q33491",
ii = "Q34235",
gn = "Q35876",
is = "Q294",
mr = "Q1571",
an = "Q8765",
ga = "Q9142",
mn = "Q9246",
kl = "Q25355",
av = "Q29561",
dv = "Q32656",
ig = "Q33578",
kv = "Q36126",
ml = "Q36236",
es = "Q1321",
hy = "Q8785",
lb = "Q9051",
hu = "Q9067",
fa = "Q9168",
id = "Q9240",
kk = "Q9252",
he = "Q9288",
fo = "Q25258",
ik = "Q27183",
as = "Q29401",
ce = "Q33350",
ff = "Q33454",
io = "Q35224",
ay = "Q4627",
br = "Q12107",
ba = "Q13389",
af = "Q14196",
gu = "Q5137",
lo = "Q9211",
gd = "Q9314",
ch = "Q33262",
jv = "Q33549",
bo = "Q34271",
ia = "Q35934",
ku = "Q36368",
hi = "Q1568",
la = "Q397",
eu = "Q8752",
cs = "Q9056",
bs = "Q9303",
cy = "Q9309",
kw = "Q25289",
am = "Q28244",
iu = "Q29921",
kg = "Q33702",
bi = "Q35452",
ie = "Q35850",
fi = "Q1412",
eo = "Q143",
de = "Q188",
ab = "Q5111",
ca = "Q7026",
ar = "Q13955",
ko = "Q9176",
ee = "Q30005",
ks = "Q33552",
fr = "Q150",
it = "Q652",
ka = "Q8108",
et = "Q9072",
km = "Q9205",
az = "Q9292",
mk = "Q9296",
gv = "Q12175",
bn = "Q9610",
dz = "Q33081",
co = "Q33111",
bm = "Q33243",
lg = "Q33368",
cr = "Q33390",
ki = "Q33587"
}
langEntities['or'] = "Q33810"
return langEntities[lang]
end
function p.workLangEntity(entity, lang)
return wikidata.value(entity, p.P_WORK_LANG, lang)
end
function p.langCode(entity)
return wikidata.text(entity, p.P_LANG_CODE)
end
return p
seraphina
- 2020-07-12
- 1