پودمان:الگو:زبانهای ویکیپدیا/تمرین
ظاهر
![]() | اینجا صفحهٔ تمرین پودمان برای پودمان:الگو:زبانهای ویکیپدیا (تفاوت) است. |
![]() | این پودمان آمادهٔ استفادهٔ عمومی ارزیابی شدهاست. این پودمان به مرحلهای رسیدهاست که حفره و اشکال در آن وجود ندارد و امکان استفاده از آن هرکجا که لازم است وجود دارد. بهتر است از ویکیپدیا:تمرین و نمونههای آزمایشی الگو جای آزمون و خطا استفاده شود. |
استفاده
[ویرایش]{{#invoke:الگو:زبانهای ویکیپدیا|main}}
نتیجه:
۱٬۰۰۰٬۰۰۰+ نوشتار
- English (انگلیسی)
- Deutsch (آلمانی)
- Français (فرانسوی)
- Svenska (سوئدی)
- Nederlands (هلندی)
- Русский (روسی)
- Español (اسپانیایی)
- Italiano (ایتالیایی)
- Polski (لهستانی)
- مصرى (عربی مصری)
- 中文 (چینی)
- 日本語 (ژاپنی)
- Українська (اوکراینی)
- Tiếng Việt (ویتنامی)
- العربية (عربی)
- Português (پرتغالی)
۲۵۰٬۰۰۰+ نوشتار
- Català (کاتالان)
- Bahasa Indonesia (اندونزیایی)
- Српски / srpski (صربی)
- 한국어 (کرهای)
- Norsk (نروژی)
- Türkçe (ترکی استانبولی)
- Нохчийн (چچنی)
- Suomi (فنلاندی)
- Čeština (چکی)
- Magyar (مجاری)
- Română (رومانیایی)
- Татарча / tatarça (تاتاری)
- Srpskohrvatski / српскохрватски (صرب و کرواتی)
- Euskara (باسکی)
- 閩南語 / Bân-lâm-gú (مین نان)
- Bahasa Melayu (مالایی)
- עברית (عبری)
- Esperanto (اسپرانتو)
- Հայերեն (ارمنی)
- Dansk (دانمارکی)
- Български (بلغاری)
- Oʻzbekcha / ўзбекча (ازبکی)
- Cymraeg (ولزی)
- Simple English (انگلیسی ساده)
- Slovenčina (اسلواکی)
- Беларуская (بلاروسی)
- Eesti (استونیایی)
۱۰۰٬۰۰۰+ نوشتار
- Ελληνικά (یونانی)
- تۆرکجه (ترکی آذربایجانی)
- Қазақша (قزاقی)
- Minangkabau (مینانگکابویی)
- Hrvatski (کروات)
- Lietuvių (لیتوانیایی)
- Galego (گالیسیایی)
- اردو (اردو)
- Azərbaycanca (ترکی آذربایجانی)
- Slovenščina (اسلوونیایی)
- Ladin (لادینو)
- Ქართული (گرجی)
- Norsk nynorsk (نروژی نینُشک)
- தமிழ் (تامیلی)
- ไทย (تایلندی)
- हिन्दी (هندی)
- বাংলা (بنگالی)
- Македонски (مقدونی)
- 粵語 (کانتونی)
- Latina (لاتین)
- Asturianu (آستوری)
- Latviešu (لتونیایی)
- Afrikaans (آفریکانس)
- Тоҷикӣ (تاجیکی)
- မြန်မာဘာသာ (برمهای)
- తెలుగు (تلوگویی)
- Shqip (آلبانیایی)
local p = {}
local function getWikipediaArticlesCount()
local result = {}
-- https://commons.wikimedia.org/wiki/Data:Wikipedia_statistics/data.tab
local statistics = mw.ext.data.get('Wikipedia statistics/data.tab')
local fields = {}
for i, v in ipairs(statistics.schema.fields) do fields[v.name] = i end
for i, v in ipairs(statistics.data) do
if v[fields.site]:find('.wikipedia$') and not v[fields.site]:find('^total') then
table.insert(result, { string.gsub(v[fields.site], '.wikipedia', ''), v[fields.articles] })
end
end
table.sort(result, function (k1, k2) return k1[2] > k2[2] end)
return result
end
local function firstToUpper(str) -- https://stackoverflow.com/a/2421746
return mw.ustring.gsub(str, '^%l', mw.ustring.upper)
end
function p.main()
local articlesCount = getWikipediaArticlesCount()
local result = '<div class="wikipedia-languages nourlexpansion"> <ul class="plainlinks">'
local index = 1
local contentLanguage = mw.getContentLanguage()
for i, v in ipairs({ 1000000, 500000, 250000 }) do
local count = contentLanguage:formatNum(v)
result = result .. [[
<li>
<div class="wikipedia-languages-count-container">
<div class="wikipedia-languages-prettybars"></div>
<div role="heading" aria-level="3" class="wikipedia-languages-count">]] .. count .. [[+ نوشتار</div>
<div class="wikipedia-languages-prettybars"></div>
</div>
<div class="hlist wikipedia-languages-langs inline">
<ul>
]]
while articlesCount[index] and articlesCount[index][2] >= v do
local lang = articlesCount[index][1]
-- as enwiki, seems only macrolanguages on the top section and let's skip Persian
if lang ~= 'ceb' and lang ~= 'war' and lang ~= 'arz' and lang ~= 'fa' then
local persianName = mw.language.fetchLanguageName(lang, 'fa')
if lang == 'azb' then persianName = 'ترکی آذربایجانی' end
if lang == 'lld' then persianName = 'لادینو' end
if lang == 'be-tarask' then persianName = 'بلاروسی کلاسیک' end
if lang == 'vec' then persianName = 'ونیزی' end
local nativeName = firstToUpper(mw.language.fetchLanguageName(lang))
if lang == 'sh' then nativeName = 'Srpskohrvatski' end
local languageLink = 'زبان ' .. persianName
if lang == 'simple' then
lang = 'en'; persianName = 'انگلیسی ساده'
languageLink = 'ویکیپدیای ' .. persianName
end
result = result .. '<li title="ویکیپدیای ' .. persianName ..
' با ' .. contentLanguage:formatNum(articlesCount[index][2]) ..
' نوشتار"><span lang="' .. lang .. '">[[:' .. lang .. ':|' ..
nativeName .. ']]</span> ([[' .. languageLink ..
'|' .. persianName .. ']])</li>'
end
index = index + 1
end
result = result .. '</ul></div></li>'
end
return result .. '</ul></div>'
end
return p