Модуль:Участник:NickTheRed37/Babel

Материал из Playzone Minecraft Wiki
Версия от 01:27, 18 января 2017; Softer (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Для документации этого модуля может быть создана страница Модуль:Участник:NickTheRed37/Babel/doc

-- База данных цветов
local idColor = {
	['0'] 	= '#ffb3b3',
	['1'] 	= '#c0c8ff',
	['2'] 	= '#77e0e8',
	['3'] 	= '#99b3ff',
	['4'] 	= '#ffcf4d',
	['5'] 	= '#f99c99',
	['N']	= '#6ef7a7',
	['WL']	= '#db7819'
}
local borderColor = {
	['0'] 	= '#ffeeee',
	['1'] 	= '#f3e0f3',
	['2'] 	= '#e9e5f9',
	['3'] 	= '#e0e8ff',
	['4'] 	= '#d0f8ff',
	['5'] 	= '#f9cbc9',
	['N']	= '#c5fcdc',
	['WL']	= '#db7819'
}
local infoColor = {
	['0'] 	= '#ffe0e8',
	['1'] 	= '#f0f8ff',
	['2'] 	= '#d0f8ff',
	['3'] 	= '#e0e8ff',
	['4'] 	= '#ffefa6',
	['5'] 	= '#f9cbc9',
	['N']	= '#c5fcdc',
	['WL']	= '#f6aa53'
}

-- База данных описаний
local infoTexts = {
	['N'] = {
	['ar'] = "ґ .هذا المستخدم يمتلك معرفة كلغة أم بالعربية",
	['cs'] = "Tento uživatel je rodilý mluvčí češtiny.",
	['da'] = "Denne bruger har dansk som modersmål.",
	['de'] = "Dieser Benutzer spricht Deutsch als Muttersprache.",
	['es'] = "Este usuario tiene una comprensión nativa del español.",
	['en'] = "This user has a native understanding of English.",
	['fi'] = "Tämä käyttäjä puhuu suomea äidinkielenään.",
	['fr'] = "Cet utilisateur a pour langue maternelle le français.",
	['hu'] = "Ennek a szerkesztőnek magyar az anyanyelve.",
	['it'] = "Questo utente può contribuire con un livello madrelingua in italiano.",
	['ja'] = "この利用者は日本語を母語としています。",
	['ko'] = "이 사용자는 한국어가 모국어입니다.",
	['no'] = "Denne brukeren har norsk som morsmål og behersker bokmål.",
	['nl'] = "Deze gebruiker heeft het Nederlands als moedertaal.",
	['pl'] = "Polski jest językiem ojczystym tego użytkownika.",
	['pr'] = "Aye, this corsair be havin' a nati'e understandin' o' Pirate.",
	['pt'] = "Este utilizador tem como língua materna o português.",
	['pt-br'] = "Este usuário tem como língua materna o português brasileiro.",
	['ro'] = "Acest utilizator este un vorbitor nativ al limbii române.",
	['ru'] = "Для этого участника русский язык является родным.",
	['sk'] = "Tento redaktor má slovenčinu ako materinský jazyk.",
	['sv'] = "Den här användaren har svenska som modersmål.",
	['tr'] = "Bu kullanıcının anadili Türkçe'dir.",
	['zh-hans'] = "简体中文是这位用户的母语。",
	['zh-hant'] = "這位用戶明白以母語為主的傳統中文字。"},
	['0'] = {
	['ar'] = "ґ .(هذا المستخدم ليس لديه معرفة بالعربية (أو يفهمها بصعوبة شديدة",
	['cs'] = "Tento uživatel nerozumí česky (nebo rozumí se značnými problémy).",
	['da'] = "Denne bruger har intet kendskab til dansk (eller forstår det kun med stor vanskelighed).",
	['de'] = "Dieser Benutzer beherrscht Deutsch nicht (oder versteht es nur mit beträchtlichen Schwierigkeiten).",
	['es'] = "Este usuario desconoce el español (o lo entiende con considerable dificultad).",
	['en'] = "This user has no knowledge of English (or understands it with considerable difficulty).",
	['fi'] = "Tämä käyttäjä osaa hyvin vähän tai ei lainkaan suomea.",
	['fr'] = "Cet utilisateur n’a aucune connaissance en français (ou le comprend avec de grandes difficultés).",
	['hu'] = "Ez a szerkesztő nem beszéli a magyar nyelvet (vagy csak nagy nagyon nehezen érti meg).",
	['it'] = "Questo utente non è in grado di comunicare in italiano (o lo capisce solo con notevole difficoltà).",
	['ja'] = "この利用者は日本語がわかりません(または理解するのがかなり困難です)。",
	['ko'] = "이 사용자는 한국어를 모르거나, 이해하는 데 어려움이 있습니다.",
	['no'] = "Denne brukeren kan ikke skrive eller lese norsk (eller forstår det kun med store vanskeligheter).",
	['nl'] = "Deze gebruiker heeft geen kennis van het Nederlands (of begrijpt het met grote moeite).",
	['pl'] = "Ten użytkownik nie rozumie języka polskiego (albo ma z nim olbrzymie trudności).",
	['pr'] = "Arrr, this bilge rat be havin' nay a bit o' knowledge o' Pirate (or understands it wit' considerable difficulty).",
	['pt'] = "Este utilizador não compreende português (ou compreende com dificuldades consideráveis).",
	['pt-br'] = "Este utilizador não compreende português do Brasil (ou compreende com dificuldades consideráveis).",
	['ro'] = "Acest utilizator nu are cunoștințe de română (sau înțelege cu mare dificultate).",
	['ru'] = "Этот участник не владеет русским языком (или с трудом его понимает).",
	['sk'] = "Tento redaktor nemá žiadne znalosti slovenčiny.",
	['sv'] = "Den här användaren har inga kunskaper i svenska (eller förstår det med en betydande svårighet).",
	['tr'] = "Bu kullanıcı hiç Türkçe bilmiyor (ya da bir hayli zor anlıyor).",
	['zh-hans'] = "这位用户不懂或很难理解简体中文。",
	['zh-hant'] = "這位用戶無傳統中文字的知識(或很難地去明白它)。"},
	['1'] = {
	['ar'] = "ґ .هذا المستخدم يمتلك المعرفة الأساسية للغة العربية",
	['cs'] = "Tento uživatel má základní znalosti češtiny.",
	['da'] = "Denne bruger har grundlæggende kendskab til dansk.",
	['de'] = "Dieser Benutzer beherrscht Deutsch auf grundlegendem Niveau.",
	['es'] = "Este usuario tiene un conocimiento básico del español.",
	['en'] = "This user has basic knowledge of English.",
	['fi'] = "Tämä käyttäjä puhuu suomea vähän.",
	['fr'] = "Cet utilisateur dispose de connaissances de base en français.",
	['hu'] = "Ez a szerkesztő alapszinten beszéli a magyar nyelvet.",
	['it'] = "Questo utente può contribuire con un livello elementare in italiano.",
	['ja'] = "この利用者は初級の日本語ができます。",
	['ko'] = "이 사용자는 한국어를 조금 할 수 있습니다.",
	['no'] = "Denne brukeren kan litt norsk (bokmål).",
	['nl'] = "Deze gebruiker heeft elementaire kennis van het Nederlands.",
	['pl'] = "Ten użytkownik posługuje się językiem polskim na poziomie podstawowym.",
	['pr'] = "Ahoy, this landlubber be havin' a basic knowledge o' Pirate",
	['pt'] = "Este utilizador pode contribuir com um nível básico de português.",
	['pt-br'] = "Este utilizador pode contribuir com um nível básico de português do Brasil.",
	['ro'] = "Acest utilizator poate contribui cu un nivel de bază de română.",
	['ru'] = "Этот участник владеет русским языком на начальном уровне.",
	['sk'] = "Tento redaktor má základné znalosti slovenčiny.",
	['sv'] = "Den här användaren har grundläggande kunskaper i svenska.",
	['tr'] = "Bu kullanıcı temel düzeyde Türkçe bilir.",
	['zh-hans'] = "这位用户的简体中文达到初级水平。",
	['zh-hant'] = "這位用戶有基本的傳統中文字知識。"},
	['2'] = {
	['ar'] = "ґ .هذا المستخدم لديه معرفة وسيطة اللغة العربية",
	['cs'] = "Tento uživatel má střední znalosti češtiny.",
	['da'] = "Denne bruger har et godt kendskab til dansk.",
	['de'] = "Dieser Benutzer beherrscht Deutsch auf fortgeschrittenem Niveau.",
	['es'] = "Este usuario tiene un conocimiento intermedio del español.",
	['en'] = "This user has intermediate knowledge of English.",
	['fi'] = "Tämä käyttäjä osaa suomea kohtalaisesti.",
	['fr'] = "Cet utilisateur dispose d’un niveau intermédiaire de connaissance en français.",
	['hu'] = "Ez a szerkesztő középszinten beszéli a magyar nyelvet.",
	['it'] = "Questo utente può contribuire con un livello intermedio in italiano.",
	['ja'] = "この利用者は中級の日本語ができます。",
	['ko'] = "이 사용자는 한국어를 어느 정도 할 수 있습니다.",
	['no'] = "Denne brukeren har god kjennskap til norsk (bokmål).",
	['nl'] = "Deze gebruiker heeft een basiskennis van het Nederlands.",
	['pl'] = "Ten użytkownik posługuje się językiem polskim na poziomie średnio zaawansowanym.",
	['pr'] = "Yarr, this carouser be havin' an intermediate knowledge o' Pirate.",
	['pt'] = "Este utilizador pode contribuir com um nível médio de português.",
	['pt-br'] = "Este utilizador pode contribuir com um nível médio de português do Brasil.",
	['ro'] = "Acest utilizator poate contribui cu un nivel intermediar de română.",
	['ru'] = "Этот участник владеет русским языком на среднем уровне.",
	['sk'] = "Tento redaktor má stredné znalosti slovenčiny.",
	['sv'] = "Den här användaren har medelgoda kunskaper i svenska.",
	['tr'] = "Bu kullanıcı orta düzeyde Türkçe bilir.",
	['zh-hans'] = "这位用户的简体中文达到中级水平。",
	['zh-hant'] = "這位用戶有中等的傳統中文字知識。"},
	['3'] = {
	['ar'] = "ґ .هذا المستخدم لديه معرفة متقدمة في اللغة العربية",
	['cs'] = "Tento uživatel má pokročilé znalosti češtiny.",
	['da'] = "Denne bruger har et avanceret kendskab til dansk.",
	['de'] = "Dieser Benutzer beherrscht Deutsch auf hohem Niveau.",
	['es'] = "Este usuario tiene un conocimiento avanzado del español.",
	['en'] = "This user has advanced knowledge of English.",
	['fi'] = "Tämä käyttäjä osaa suomea erinomaisesti.",
	['fr'] = "Cet utilisateur dispose de connaissances avancées en français.",
	['hu'] = "Ez a szerkesztő haladó szinten beszéli a magyar nyelvet.",
	['it'] = "Questo utente può contribuire con un livello avanzato in italiano.",
	['ja'] = "この利用者は上級の日本語ができます。",
	['ko'] = "이 사용자는 한국어를 고급 수준으로 할 수 있습니다.",
	['no'] = "Denne brukeren behersker norsk (bokmål) flytende.",
	['nl'] = "De gebruiker heeft een gevorderde kennis van het Nederlands.",
	['pl'] = "Ten użytkownik posługuje się językiem polskim na poziomie zaawansowanym.",
	['pr'] = "Aye, this buccaneer be havin' an ad'anced knowledge o' Pirate .",
	['pt'] = "Este utilizador pode contribuir com um nível avançado de português.",
	['pt-br'] = "Este utilizador pode contribuir com um nível avançado de português do Brasil.",
	['ro'] = "Acest utilizator poate contribui cu un nivel avansat de română.",
	['ru'] = "Этот участник '''свободно''' владеет '''русским языком'''.",
	['sk'] = "Tento redaktor má pokročilé znalosti slovenčiny.",
	['sv'] = "Den här användaren har avancerade kunskaper i svenska.",
	['tr'] = "Bu kullanıcı ileri seviyede Türkçe bilir.",
	['zh-hans'] = "这位用户的简体中文达到高级水平。",
	['zh-hant'] = "這位用戶有高等的傳統中文字知識。"},
	['4'] = {
	['ar'] = "ґ .هذا المستخدم لديه المعرفة بالقرب من اللغة الأصلية للغة العربية",
	['cs'] = "Tento uživatel má znalosti češtiny téměř na úrovni rodilého mluvčího.",
	['da'] = "Denne bruger kan dansk næsten på modersmålsniveau.",
	['de'] = "Dieser Benutzer beherrscht Deutsch auf muttersprachlichem Niveau.",
	['es'] = "Este usuario tiene un conocimiento casi nativo del español.",
	['en'] = "This user has '''near native''' speaker knowledge of '''English'''.",
	['fi'] = "Tämä käyttäjä osaa suomea melkein äidinkielen tavoin.",
	['fr'] = "Cet utilisateur dispose de connaissances proches de la langue maternelle en français.",
	['hu'] = "Ez a szerkesztő közel anyanyelvi szinten beszéli a magyar nyelvet.",
	['it'] = "Questo utente può contribuire con un livello quasi madrelingua in italiano.",
	['ja'] = "この利用者は母語話者に近い日本語の知識を有しています。",
	['ko'] = "이 사용자는 한국어를 모국어에 준하는 수준으로 할 수 있습니다.",
	['no'] = "Denne brukeren snakker og skriver norsk (bokmål) på morsmålsnivå.",
	['nl'] = "Deze gebruiker beheerst het Nederlands als ware het zijn moedertaal.",
	['pl'] = "Ten użytkownik posługuje się językiem polskim prawie tak samo biegle, jak językiem ojczystym.",
	['pr'] = "Avast! This swashbuckler be havin' a '''near nati'e''' speaker knowledge o' '''Pirate'''",
	['pt'] = "Este utilizador pode contribuir com um nível quase nativo de português.",
	['pt-br'] = "Este utilizador pode contribuir com um nível quase nativo de português do Brasil.",
	['ro'] = "Acest utilizator poate contribui cu un nivel aproape nativ de română.",
	['ru'] = "Этот участник владеет '''русским языком почти как родным'''.",
	['sk'] = "Tento redaktor má znalosti slovenčiny takmer na úrovni materinského jazyka.",
	['sv'] = "Den här användaren talar nästan svenska som en modersmålstalare.",
	['tr'] = "Bu kullanıcı anadili gibi Türkçe konuşabilir.",
	['zh-hans'] = "这位用户的简体中文达到接近母语水平。",
	['zh-hant'] = "這位用戶有接近母語講者的傳統中文字知識。"},
	['5'] = {
	['ar'] = "ґ .هذا المستخدم لديه المعرفة المهنية العربية",
	['cs'] = "Tento uživatel má '''profesionální''' znalosti '''češtiny'''.",
	['da'] = "Denne bruger har '''professionelt''' kendskab til '''dansk'''.",
	['de'] = "Dieser Benutzer beherrscht '''Deutsch''' auf '''professionellem''' Niveau.",
	['es'] = "Este usuario tiene un conocimiento '''profesional''' del '''Español'''.",
	['en'] = "This user has '''professional''' knowledge of '''English'''.",
	['fi'] = "Tämä käyttäjä käyttää suomea ammattimaisesti.",
	['fr'] = "Cet utilisateur dispose d’un niveau de connaissances '''professionnel''' du '''français'''.",
	['hu'] = "Ez a szerkesztő ''durván'' vágja a magyartost.",
	['it'] = "Questo utente può contribuire con un livello '''professionale''' in '''italiano'''.",
	['ja'] = "この利用者は専門的な日本語の知識を有しています。",
	['ko'] = "이 사용자는 한국어를 전문가 수준으로 할 수 있습니다.",
	['no'] = "Denne brukeren bruker '''norsk''' (bokmål) '''profesjonelt'''.",
	['nl'] = "Deze gebruiker heeft een '''professionele''' kennis van '''het Nederlands'''.",
	['pl'] = "Ten użytkownik posługuje się '''językiem polskim''' na równi z '''językiem ojczystym'''.",
	['pr'] = "Yarrrg, this scurvy dog be havin' a '''professional''' knowledge o' '''Pirate'''. Ye'll ne'er get me buried booty!",
	['pt'] = "Este utilizador pode contribuir com um nível '''profissional''' de '''português'''.",
	['pt-br'] = "Este utilizador pode contribuir com um nível '''profissional''' de '''português do Brasil'''.",
	['ro'] = "Acest utilizator contribuie folosind un nivel '''profesional''' de '''română'''.",
	['ru'] = "Этот участник '''профессионально''' владеет '''русским языком'''.",
	['sk'] = "Tento redaktor má '''profesionálne''' znalosti '''slovenčiny'''.",
	['sv'] = "Den här användaren har '''professionella''' kunskaper i '''svenska'''.",
	['tr'] = "Bu kullanıcı '''profesyonel Türkçe bilgisine''' sahiptir.",
	['zh-hans'] = "这位用户的简体中文达到专业水平。",
	['zh-hant'] = "這位用戶有專業的傳統中文字知識。"
	},
	['WL'] = {
	['en'] = "This user would like to learn English.",
	['ru'] = "Этот участник хочет выучить русский язык."
	}
}

local p = {}

function p.userbox(f)
	local args = f:getParent().args or f.args or f
	--[[if f == mw.getCurrentFrame() and args[1] == nil and args[2] == nil then
		args = f:getParent().args
	end]]
	
	local lang = mw.text.trim(tostring(args[1]) or '')
	local level = mw.text.trim(tostring(args[2]) or '')
	
	local info = infoTexts[level][lang] or string.format("<small class=error>Ошибка: Не найдено описание для %s-%s<br>Error: Couldn’t find text for %s-%s</small>", lang, level, lang, level)
	if lang == 'zh-hans' or lang == 'zh-hant' or (lang == 'pt-br' and level ~= 'N' and level ~= 'WL') then
		info = string.format('<span style="font-size:55%%; line-height:1.5em;">%s</span>', info)
	end
	
	return f:expandTemplate{title = 'Userbox2', args = {
		["style"]    = (lang == 'ar' and "direction: rtl;"),
		["border-c"] = borderColor[level] or borderColor['0'],
		["id-c"]     = idColor[level] or idColor['0'],
		["info-c"]   = infoColor[level] or infoColor['0'],
		["id"]       = lang:lower() .. '-' .. level,
		["info"]     = info
	} }
end

return p