Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Modül:Çokdilli ad bilgi kutusu

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
--TODO: all non-English text wrapped in ? distingush various scripts? Kanji is ja-Hani ... every child infobox should support translit / transcription parameter(s) every child infobox should have a literal meaning parameter revise parameter names to be IETF language code or obvious derivations thereof for error messaging create a separate ibox? else messages are not necessarily visible require('Modül:Küresel değil'); local data = mw.loadData ('Modül:Çokdilli ad bilgi kutusu/veri'); local lang_mod = require ('Modül:Lisan'); -- for various functions and templates provided by Module:Lang local getArgs = require ('Modül:Bağımsız değişkenler').getArgs; ----------------------------< I S _ S E T >------------------------------------------------------------------ Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string. local function is_set( var ) return not (var nil or var ); end ----------------------------< A N Y _ S E T >---------------------------------------------------------------- Returns true if any member of the table is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string. local function any_set (t) for _, v in pairs (t) do if is_set (v) then return true; end end return false; end --showflag= parameter from the template . That template passes the value to which calls this function. This function does not take any frame parameters but it does require a copy of the frame so that it can expand . All arguments used by this function come from the args table in the function call returns a child infobox or an empty string local function showflag (frame, args) local show_flag = args.showflag; if not is_set (show_flag) then return ; -- |showflag= not set so nothing to do; return empty string end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate infobox_args['child'] = 'evet'; -- showflag infoboxen are always children infobox_args['etiketbiçimi'] = 'font-weight:normal'; -- and always have this label style if data.transl_map[show_flag] then local i=1; while (1) do local labeln = 'etiket' .. i; -- make label index that matches |labeln= parameter local datan = 'veri' .. i; -- make data index that matches |datan= parameter if not data.transl_map[show_flag][labeln] then break; -- not found then done end infobox_args[labeln] = data.label_map[data.transl_map[show_flag][labeln]]; -- add |labeln=<label text / wikilink> infobox_args[datan] = args[data.transl_map[show_flag][datan]]; -- add |datan={} i = i + 1; -- bump to next label / data pair end else return ; -- |showflag= value invalid; TODO: return error message? end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ----------------------------< A D D _ L A B E L _ D A T A _ P A I R >---------------------------------------- Adds a label parameter and matching data parameter to infobox arguments table; bumps the enumerator on return local function add_label_data_pair (infobox_args, label, data, i) if is_set (data) then infobox_args['etiket' .. i] = label; -- make an enumerated label parameter infobox_args['veri' .. i] = data; -- make an enumerated data parameter return i + 1; -- return bumped enumerator end return i; -- if here, no data so no need to add label or bump enumerator end --headern=, |labeln=, |datan=; in this application i continually increments; there are no gaps as there are in the original template lang - language code used by - must be valid IETF code returns i for the next time this function is called local function add_transcription (infobox_args, args, idx, show, i, lang) infobox_args['başlık' .. i] = show and data.xscript[idx].header; -- if headers are displayed i = i + 1; -- bump the enumerator for _, v in ipairs (data.xscript[idx].t) do -- each label / data pair in the xscript subtable i = add_label_data_pair (infobox_args, v[1], is_set (args[v[2]]) and lang_mod._transl ({lang, args[v[2]], italic = 'no'}), i); -- enumerator is bumped here end return i; -- and done end ----------------------------< T R A N S C R I P T I O N S _ Z H >-------------------------------------------- transcriptions support for . This function adds headers and label data pairs to infobox_arg table according to which parameters are set returns the enumerator in case it is needed local function transcriptions_zh (infobox_args, args, show, i) if any_set ({args.p, args.bpmf, args.gr, args.w, args.tp, args.myr, args.mps, args.mi}) then i = add_transcription (infobox_args, args, 'standard mandarin', show, i, 'zh'); end if any_set ({args.xej, args['zh-dungan'], args.sic}) then i = add_transcription (infobox_args, args, 'diğer mandarin', show, i, 'zh'); end if any_set ({args.wuu, args.lmz, args.ouji, args.suz}) then -- ???? ouji was not included here in original template; why? i = add_transcription (infobox_args, args, 'wu', show, i, 'wuu'); end if is_set (args.gan) then i = add_transcription (infobox_args, args, 'gan', show, i, 'gan'); end if is_set (args.hsn) then i = add_transcription (infobox_args, args, 'xiang', show, i, 'hsn'); end if any_set ({args.h, args.phfs}) then i = add_transcription (infobox_args, args, 'hakka', show, i, 'hak'); end if any_set ({args.y, args.ci, args.j, args.sl, args.gd, args.hk, args.mo}) then -- ???? sl, hk, mo not here in original; why? i = add_transcription (infobox_args, args, 'yue cantonese', show, i, 'yue'); end if is_set (args.toi) then i = add_transcription (infobox_args, args, 'diğer yue', show, i, 'yue'); end if any_set ({args.poj, args.tl, args.bp, args.teo, args.hain, args.lizu}) then -- ???? bp not here in original; why? i = add_transcription (infobox_args, args, 'güney min', show, i, 'nan'); end if is_set (args.buc) then i = add_transcription (infobox_args, args, 'doğu min', show, i, 'cdo'); end if is_set (args.hhbuc) then i = add_transcription (infobox_args, args, 'pu-xian min', show, i, 'cpx'); end if is_set (args.mblmc) then i = add_transcription (infobox_args, args, 'kuzey min', show, i, 'mnp'); end if is_set (args['phagspa-latin']) then -- phagspa is a script i = add_transcription (infobox_args, args, 'eski mandarin', show, i, 'zh'); end if any_set ({args.mc, args.emc, args.lmc}) then i = add_transcription (infobox_args, args, 'orta çince', show, i, 'ltc'); end if any_set ({args['oc-b92'], args['oc-bs'], args['oc-zz']}) then i = add_transcription (infobox_args, args, 'eski çince', show, i, 'och'); end return i; -- return current state of the enumerator end ----------------------------< T R A N S C R I P T I O N S >-------------------------------------------------- This function handles the transcription infobox called by various . Creates header and label / data pairs according to the presence of certain parameters provided to local function transcriptions (frame, args, lang) if not args then args = frame.args; end local show = 'no' ~= args.hide or nil; -- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header local infobox_args = {}; -- table to hold arguments for frame:expandTemplate local i = 1; -- enumerator used with |headern=, |labeln=, and |datan= parameters if show then infobox_args['altkutu'] = 'evet'; infobox_args['üst'] = 'Transkripsiyon'; else infobox_args['child'] = 'evet'; end infobox_args['gövdesınıfı'] = 'collapsible collapsed'; infobox_args['üstsınıf'] = 'font-size: 100%; text-align: left; background-color: #f9ffbc;'; -- TODO: #define various colors in a common config location; and function? infobox_args['başlıksınıfı'] = 'background-color: #dcffc9;'; -- TODO: #define various colors in a common config location; and function? infobox_args['etiketbiçimi'] = 'font-weight:normal;'; if 'zh' == lang then transcriptions_zh (infobox_args, args, show, i); -- special case because there are various headers etc else add_transcription (infobox_args, args, data.keys[lang], show, i, lang); end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); -- render the infobox and done end --headercolor= is set to its default color in . Better here than there isn't it? less maintenence headache when a default value is set in only one place; override in the highest level appropriate but leave the default here. in the higher-level template(s) remove |headercolor= default values local function ibox_boilerplate (infobox_args, args) infobox_args['child'] = 'evet'; local h_color; if is_set (args.headercolor) then h_color = args.headercolor; else h_color = '#b0c4de' -- TODO: #define various colors in a common config location; and / or function? end infobox_args['başlıkbiçimi'] = 'background-color: ' .. h_color .. ';'; if is_set (args.fontstyle) then -- ???? |fontstyle= not a documented parameter; supported by and infobox_args['etiketbiçimi'] = 'font-weight:' .. fontstyle .. ';'; else infobox_args['etiketbiçimi'] = 'font-weight:normal;'; end end ----------------------------< I B O X _ M L N _ Z H >-------------------------------------------------------- bypasses Module entry point local function ibox_mln_zh (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args) if 'none' ~= args.header and 'none' ~= args.chinese_header then infobox_args['başlık1'] = args.header or args.chinese_header or 'Çince ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Çince', is_set (args.c) and lang_mod._lang ({'zh-Hani', args.c, size = '1rem'}), i) if 'st' args.order then i add_label_data_pair (infobox_args, 'Basitleştirilmiş Çince', is_set (args.s) and lang_mod._lang ({'zh-Hans', args.s, size '1rem'}), i) i add_label_data_pair (infobox_args, 'Geleneksel Çince', is_set (args.t) and lang_mod._lang ({'zh-Hant', args.t, size '1rem'}), i) else i add_label_data_pair (infobox_args, 'Geleneksel Çince', is_set (args.t) and lang_mod._lang ({'zh-Hant', args.t, size '1rem'}), i) i add_label_data_pair (infobox_args, 'Basitleştirilmiş Çince', is_set (args.s) and lang_mod._lang ({'zh-Hans', args.s, size '1rem'}), i) end if is_set (args.phagspa) then -- ???? this parameter isn't passed from to i add_label_data_pair (infobox_args, '\'Phags-pa script', frame:expandTemplate ({title 'Phagspa', args {'h', args.phagspa, args['phagspa-latin'], size 12}}), i) end infobox_args['veri' .. i] showflag (frame, args); -- needs frame so that it can frame:expandTemplate i i + 1; -- ???? why is this transliteration here and not part of the transcription list? i add_label_data_pair (infobox_args, 'Posta', is_set (args.psp) and args.psp or nil, i) i add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.l) and args.l or nil, i) if 'no' args.hide then infobox_args['sırabiçimi' .. i] = 'display:none;'; infobox_args['sırahücrebiçimi' .. i] = 'display:none;'; end if any_set ({args.c, args.t, args.p, args.s, args.phagspa}) then -- ???? phagspa not passed into Why? infobox_args['veri' .. i] = transcriptions (frame, args, 'zh'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ A R >--------------------------------------------------------- implements Module entry point Template:Infobox_Arabic_term/testcases TODO: standardize on lowercase parameter names for transcriptions local function ibox_mln_ar (frame, args) if not args then args = getArgs (frame); --, {removeBlanks = false}? end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.arabic_header then infobox_args['başlık1'] = args.header or args.arabic_header or 'Arapça ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Arapça', is_set (args.arabic) and args.arabic or nil, i) i = add_label_data_pair (infobox_args, 'Romanizasyon', is_set (args.arabic_rom) and args.arabic_rom or nil, i) i = add_label_data_pair (infobox_args, 'IPA', is_set (args.arabic_ipa) and args.arabic_ipa or nil, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.arabic_lit) and args.arabic_lit or nil, i) if any_set ({args.chat, args.Chat, args['ala-lc'], args['ALA-LC'], args.iso, args.ISO, args.din, args.DIN}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'ar'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ B L A N K >--------------------------------------------------- implements Module entry point local function ibox_mln_blank (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); local ietf_tag = lang_mod._is_ietf_tag (args.lang); local name_from_tag = ietf_tag and lang_mod._name_from_tag ({args.lang}) or nil; if 'none' ~= args.lang_hdr and 'none' ~= args.header and 'none' ~= args.blank_header then if is_set (args.lang_hdr) or is_set (args.header) or is_set (args.blank_header) then -- if one of these infobox_args['başlık1'] = args.lang_hdr or args.header or args.blank_header; -- make a header from it elseif ietf_tag then infobox_args['başlık1'] = name_from_tag .. ' name'; -- make a header from the language name else infobox_args['başlık1'] = args.lang .. ' name'; -- not a code so use whatever text is in {} end end local i = 2; local label; local data; if name_from_tag then if is_set (args.lang_article) then label = table.concat ({ -- make a linked label from provided article name , args.lang_label or name_from_tag, }); else label = args.lang_label or lang_mod._name_from_tag ({args.lang, ['bağ'] = 'evet'}) -- let lang module make the correct linked label end data = lang_mod._lang ({args.lang, args.lang_content}); else label = args.lang_label or args.lang; -- fall back data = args.lang_content; end i = add_label_data_pair (infobox_args, label, data, i); if is_set (args.lang_rom) and ietf_tag then i = add_label_data_pair (infobox_args, args.lang_std or 'Romanization', lang_mod._transl ({args.lang, args.lang_rom}), i); end i = add_label_data_pair (infobox_args, 'IPA', args.lang_ipa, i); i = add_label_data_pair (infobox_args, 'Sözlük anlamı', args.lang_lit, i); return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ B O >--------------------------------------------------------- implements Module entry point local function ibox_mln_bo (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.tibetan_header then infobox_args['başlık1'] = args.header or args.tibetan_header or 'Tibetan name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Tibetçe', is_set (args.tib) and frame:expandTemplate ({title='Bo-textonly', args = {lang = 'bo', args.tib}}) or nil, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.literal_tibetan) and args.literal_tibetan or nil, i) if any_set ({args.wylie, args.thdl, args.zwpy, args.lhasa}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'bo'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ D N G >------------------------------------------------------- implements Module entry point local function ibox_mln_dng (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.dunganese_header then infobox_args['başlık1'] = args.header or args.dunganese_header or 'Dunganese name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Dunganca', is_set (args.dungan) and args.dungan or nil, i) i = add_label_data_pair (infobox_args, 'Xiao\'erjing', is_set (args['dungan-xej']) and args['dungan-xej'] or nil, i) i = add_label_data_pair (infobox_args, 'Romanizasyon', is_set (args['dungan-latin']) and args['dungan-latin'] or nil, i) i = add_label_data_pair (infobox_args, 'Hanzi', is_set (args['dungan-han']) and args['dungan-han'] or nil, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ H O K K I E N >----------------------------------------------- implements Module entry point Template:Infobox Hokkien name/testcases local function ibox_mln_hokkien (frame, args) if not args then args = getArgs (frame); --, {removeBlanks = false}? end local show = 'no' ~= args.hide or nil; -- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.hokkien_header then infobox_args['başlık1'] = args.header or args.hokkien_header or 'Hokkien name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Hàn-jī', is_set (args.hanji) and lang_mod._lang ({'nan', args.hanji, size = '115%'}) or nil, i); i = add_label_data_pair (infobox_args, 'Pe̍h-ōe-jī', is_set (args.poj) and lang_mod._lang ({'nan', args.poj, size = '115%'}) or nil, i); i = add_label_data_pair (infobox_args, 'Hàn-lô', is_set (args.hanlo) and lang_mod._lang ({'nan', args.hanlo, size = '115%'}) or nil, i); i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lm) and args.lm or nil, i) if show then if any_set ({args.tl, args.bp, args.hokkienipa}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'hokkien'); -- needs frame so that it can frame:expandTemplate end else i = add_label_data_pair (infobox_args, 'Tâi-lô', is_set (args.tl) and args.tl or nil, i) i = add_label_data_pair (infobox_args, 'Bbánpìng', is_set (args.bp) and args.bp or nil, i) i = add_label_data_pair (infobox_args, 'IPA', is_set (args.hokkienipa) and args.hokkienipa or nil, i) end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ J A >--------------------------------------------------------- implements Module entry point local function ibox_mln_ja (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.japanese_header then infobox_args['başlık1'] = args.header or args.japanese_header or 'Japanese name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Kanji', is_set (args.kanji) and lang_mod._lang ({'ja', args.kanji}) or nil, i) i = add_label_data_pair (infobox_args, 'Kana', is_set (args.kana) and lang_mod._lang ({'ja', args.kana}) or nil, i) i = add_label_data_pair (infobox_args, 'Hiragana', is_set (args.hiragana) and lang_mod._lang ({'ja', args.hiragana}) or nil, i) i = add_label_data_pair (infobox_args, 'Katakana', is_set (args.katakana) and lang_mod._lang ({'ja', args.katakana}) or nil, i) i = add_label_data_pair (infobox_args, 'Kyūjitai', is_set (args.kyujitai) and lang_mod._lang ({'ja', args.kyujitai}) or nil, i) i = add_label_data_pair (infobox_args, 'Shinjitai', is_set (args.shinjitai) and lang_mod._lang ({'ja', args.shinjitai}) or nil, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lja) and lang_mod._lang ({'ja', args.lja}) or nil, i) if any_set ({args.romaji, args.revhep, args.tradhep, args.kunrei, args.nihon}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'ja'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ K O >--------------------------------------------------------- implements Module entry point local function ibox_mln_ko (frame, args) if not args then args = frame.args; end local show = 'no' ~= args.hide or nil; -- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.korean_header then infobox_args['başlık1'] = args.header or args.korean_header or 'Korean name'; end local i = 2; if 'yes' args.northkorea then i add_label_data_pair (infobox_args, 'Chosŏn\'gŭl', is_set (args.hangul) and lang_mod._lang ({'ko', args.hangul, size '1rem'}) or nil, i) elseif 'old' args.northkorea then i = add_label_data_pair (infobox_args, 'Hunmin Congım', is_set (args.hangul) and lang_mod._lang ({'ko', args.hangul, size = '1rem'}) or nil, i) else i = add_label_data_pair (infobox_args, 'Hangıl', is_set (args.hangul) and lang_mod._lang ({'ko', args.hangul, size = '1rem'}) or nil, i) end if 'yes' == args.northkorea then i = add_label_data_pair (infobox_args, 'Hança', is_set (args.hanja) and lang_mod._lang ({'ko', args.hanja, size = '1rem'}) or nil, i) else i = add_label_data_pair (infobox_args, 'Hança', is_set (args.hanja) and lang_mod._lang ({'ko', args.hanja, size = '1rem'}) or nil, i) end i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lk) and args.lk or nil, i) if show then if any_set ({args.mr, args.rr}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'ko'); -- needs frame so that it can frame:expandTemplate end else i = add_label_data_pair (infobox_args, 'Yenilenmiş romanizasyon', is_set (args.rr) and lang_mod._transl ({'ko', 'rr', args.rr}) or nil, i) i = add_label_data_pair (infobox_args, 'McCune-Reischauer', is_set (args.mr) and lang_mod._transl ({'ko', 'mr', args.mr}) or nil, i) i = add_label_data_pair (infobox_args, 'IPA', is_set (args.koreanipa) and args.koreanipa or nil, i) end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ M N >--------------------------------------------------------- implements Module entry point local function ibox_mln_mn (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.mongolian_header then infobox_args['başlık1'] = args.header or args.mongolian_header or 'Mongolian name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Moğol Kiril', is_set (args.mon) and lang_mod._lang ({'mn', args.mon}) or nil, i) -- i = add_label_data_pair (infobox_args, 'Mongolian', -- TODO: weird construct in original template; is this one required? -- is_set (args.mong) and lang_mod._lang ({'mn', frame:expandTemplate ({title='MongolUnicode', args = {args.mong}}) }) or nil, i) i = add_label_data_pair (infobox_args, 'Mongolian script', is_set (args.mong) and lang_mod._lang ({'mn', frame:expandTemplate ({title='MongolUnicode', args = {args.mong}}) }) or nil, i) if is_set (args.monr) then infobox_args['veri' .. i] = transcriptions (frame, args, 'mn'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ M N C >------------------------------------------------------- implements Module entry point local function ibox_mln_mnc (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.manchu_header then infobox_args['başlık1'] = args.header or args.manchu_header or 'Mançuca'; end local i = 2; i = add_label_data_pair (infobox_args, 'Mançu yazısı', is_set (args.mnc) and frame:expandTemplate ({title='ManchuSibeUnicode', args = {lang='mnc', args.mnc}}) or nil, i) i = add_label_data_pair (infobox_args, 'Romanizasyon', is_set (args.mnc_rom) and args.mnc_rom or nil, i) i = add_label_data_pair (infobox_args, 'Abkai', is_set (args.mnc_a) and args.mnc_a or nil, i) i = add_label_data_pair (infobox_args, 'Möllendorff', is_set (args.mnc_v) and args.mnc_v or nil, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ M Y >--------------------------------------------------------- implements Module entry point local function ibox_mln_my (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.burmese_header then infobox_args['başlık1'] = args.header or args.burmese_header or 'Birmanca ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Birmanca', is_set (args.my) and args.my or nil, i) i = add_label_data_pair (infobox_args, 'IPA', is_set (args.bi) and args.bi or nil, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ R U >--------------------------------------------------------- implements Module entry point local function ibox_mln_ru (frame, args) if not args then args = getArgs (frame); end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.russian_header then infobox_args['başlık1'] = args.header or args.russian_header or 'Rusça ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Rusça', is_set (args.rus) and lang_mod._lang ({'ru', args.rus}) or nil, i); i = add_label_data_pair (infobox_args, 'Romanizasyon', is_set (args.rusr) and lang_mod._lang ({'ru-Latn', args.rusr}) or nil, i); --TODO: use transl instead? i = add_label_data_pair (infobox_args, 'IPA', is_set (args.rusipa) and args.rusipa or nil, i); i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.ruslit) and args.ruslit or nil, i); if any_set ({args.scientific, args.Scientific, args.iso, args.ISO, args.gost, args.GOST, args['bgn/pcgn'], args['BGN/PCGN']}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'ru'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ T H >--------------------------------------------------------- implements Module entry point local function ibox_mln_th (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.thai_header then infobox_args['başlık1'] = args.header or args.thai_header or 'Tayca ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Tayca', (is_set (args.th) or is_set (args.tha)) and lang_mod._lang ({'th', args.th or args.tha}) or nil, i) i = add_label_data_pair (infobox_args, 'RTGS', is_set (args.rtgs) and lang_mod._transl ({'th', 'rtgs', args.rtgs}) or nil, i) i = add_label_data_pair (infobox_args, 'Romanizasyon', is_set (args.rom) and lang_mod._transl ({'th', args.rom}) or nil, i) i = add_label_data_pair (infobox_args, 'IPA', is_set (args.ipa) and args.ipa, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lit) and args.lit, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ U G >--------------------------------------------------------- implements Module entry point local function ibox_mln_ug (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.uyghur_header then infobox_args['başlık1'] = args.header or args.uyghur_header or 'Uygurca ad'; end local i = 2; i = add_label_data_pair (infobox_args, 'Uygurca', is_set (args.uig) and frame:expandTemplate ({title='ug-textonly', args = {args.uig}}) or nil, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lu) and args.lu or nil, i) if any_set ({args.uly, args.uyy, args.sgs, args.usy, args.uipa}) then infobox_args['veri' .. i] = transcriptions (frame, args, 'ug'); -- needs frame so that it can frame:expandTemplate end return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ V I >--------------------------------------------------------- implements Module entry point local function ibox_mln_vi (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.vietnamese_header then infobox_args['başlık1'] = args.header or args.vietnamese_header or 'Vietnamese name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Vietnamese', is_set (args.vie) and lang_mod._lang ({'vi', args.vie}) or nil, i) i = add_label_data_pair (infobox_args, 'Vietnamese alphabet', is_set (args.qn) and lang_mod._lang ({'vi', args.qn}) or nil, i) i = add_label_data_pair (infobox_args, 'Hán-Nôm', is_set (args.hn) and lang_mod._lang ({'vi-Hani', args.hn}) or nil, i) i = add_label_data_pair (infobox_args, 'Chữ Hán', is_set (args.chuhan) and lang_mod._lang ({'vi-Hani', args.chuhan}) or nil, i) i = add_label_data_pair (infobox_args, 'Chữ Nôm', is_set (args.chunom) and lang_mod._lang ({'vi-Hani', args.chunom}) or nil, i) i = add_label_data_pair (infobox_args, 'Sözlük anlamı', is_set (args.lqn) and args.lqn or nil, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ Z A >--------------------------------------------------------- implements Module entry point local function ibox_mln_za (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate ibox_boilerplate (infobox_args, args); if 'none' ~= args.header and 'none' ~= args.zhuang_header then infobox_args['başlık1'] = args.header or args.zhuang_header or 'Zhuang name'; end local i = 2; i = add_label_data_pair (infobox_args, 'Zhuang', is_set (args.zha) and or nil, i) i = add_label_data_pair (infobox_args, '1957 orthography', is_set (args.zha57) and args.zha57 or nil, i) i = add_label_data_pair (infobox_args, 'Sawndip', is_set (args.sd) and args.sd or nil, i) return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ H E A D E R >------------------------------------------------- bypasses Module entry point local function ibox_mln_header (frame, args) if not args then args = getArgs (frame); end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate infobox_args['decat'] = 'yes'; infobox_args['child'] = is_set (args.child) and args.child or 'yes'; -- infobox_args['bodystyle'] = is_set (args.float) and 'float: left; clear: left; margin: 0 1em 1em 0;' or nil; -- infobox_args['gövdesınıfı'] = is_set (args.collapse) and ('collapsible' .. ('yes' == args.collapse and ' collapsed' or )) or nil; local h_color; if is_set (args.headercolor) then h_color = args.headercolor; else h_color = '#b0c4de' -- TODO: #define various colors in a common config location; and function? end -- infobox_args['altbaşlıksınıfı'] = 'font-size: 125%; background-color:' .. h_color .. ';'; -- infobox_args['subheader'] = is_set (args.title) and args.title or mw.title.getCurrentTitle.text; infobox_args['image'] = frame:callParserFunction ({name = '#invoke:InfoboxImage', args = { 'InfoboxImage', image = args.pic, sizedefault = 'frameless', size = args.picsize, upright = args.picupright, alt = args.picalt or args.pictooltip } }); infobox_args['caption'] = is_set (args.piccap) and args.piccap or nil; infobox_args['image2'] = frame:callParserFunction ({name = '#invoke:InfoboxImage', args = { 'InfoboxImage', image = args.pic2, sizedefault = 'frameless', size = args.picsize2, upright = args.picupright2, alt = args.picalt2 or args.pictooltip2 } }); infobox_args['caption2'] = is_set (args.piccap2) and args.piccap2 or nil; infobox_args['başlıksınıfı'] = 'background-color:' .. h_color; infobox_args['başlıksınıfı'] = 'width: 50%; white-space: nowrap'; return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ M L N _ F O O T E R >------------------------------------------------- bypasses Module entry point local function ibox_mln_footer (frame, args) if not args then args = frame.args; end local infobox_args = {}; -- table to hold arguments for frame:expandTemplate infobox_args['decat'] = 'yes'; infobox_args['child'] = is_set (args.child) and args.child or 'yes'; infobox_args['bodystyle'] = ; -- present in wikisource template but not assigned a value there infobox_args['below'] = args.footnote; return frame:expandTemplate ({title='Bilgi kutusu', args = infobox_args}); end ---------------------------< I B O X _ Z H Z H _ E N U M _ P A R A M S _ G E T >---------------------------- local function ibox_zhzh_enum_params_get (args, i) local ibox_args = {}; local count = 0; -- counts how many args got added to ibox_args {} for _, v in ipairs (data.ibox_zhzh_enum_params) do -- add enumerated parameters if args[v .. i] then -- only when there is an assigned value ibox_args[v] = args[v .. i]; -- add count = count + 1; -- and tally end end return 0 ~= count and ibox_args or nil; -- if table is empty return nil as a flag end ----------------------------< A R >-------------------------------------------------------------------------- ----< A R A B I C >---- local function ar (frame, args) if is_set ({args.arabic, args.arabic_rom, args.arabic_ipa, args.arabic_lit}) then local ibox_args = { ['arabic_header'] = args['arabic_header'] or 'Arabic name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['arabic'] = args.arabic, ['arabic_rom'] = args.arabic_rom, ['arabic_ipa'] = args.arabic_ipa, ['arabic_lit'] = args.arabic_lit or args['Sözlük anlamı'], -- 'Sözlük anlamı' is from ; itis param name a good idea? TODO: unify parameter names ['chat'] = args.chat or args.Chat, -- TODO: unify parameter names ['ala-lc'] = args['ala-lc'] or args['ALA-LC'], -- TODO: unify parameter names ['iso'] = args.iso or args.ISO, -- TODO: unify parameter names ['din'] = args.din or args.DIN -- TODO: unify parameter names } return ibox_mln_ar (frame, ibox_args); end end ----------------------------< A S >-------------------------------------------------------------------------- ----< A S S A M E S E >---- local function as (frame, args) if args.as or args.asm then local ibox_args = { ['lang_hdr'] = args['as-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'as', ['lang_content'] = args.as or args.asm, ['lang_ipa'] = args['as-ipa'], ['lang_rom'] = args['as-rom'], ['lang_std'] = args['as-std'], ['lang_lit'] = args['as-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< B N >-------------------------------------------------------------------------- ----< B E N G A L I >---- local function bn (frame, args) if args.bn or args.ben then local ibox_args = { ['lang_hdr'] = args['bn-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'bn', ['lang_content'] = args.bn or args.ben, ['lang_ipa'] = args['bn-ipa'], ['lang_rom'] = args['bn-rom'], ['lang_std'] = args['bn-std'], ['lang_lit'] = args['bn-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< B O >-------------------------------------------------------------------------- ----< T I B E T A N >---- local function bo (frame, args) if any_set ({args.tib, args.wylie, args.thdl, args.zwpy, args.lhasa}) then local ibox_args = { ['tibetan_header'] = args['tibetan_header'] or 'Tibetan name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['tib'] = args.tib, ['wylie'] = args.wylie, ['thdl'] = args.thdl, ['zwpy'] = args.zwpy, ['lhasa'] = args.lhasa, } return ibox_mln_bo (frame, ibox_args); end end ----------------------------< D N G >------------------------------------------------------------------------ ----< D U N G A N E S E >---- local function dng (frame, args) if any_set ({args.dungan, args['dungan-xej'], args['dungan-han']}) then local ibox_args = { ['dunganese_header'] = args['dunganese_header'] or 'Dunganese name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['dungan'] = args.dungan, ['dungan-xej'] = args['dungan-xej'], ['dungan-han'] = args['dungan-han'], ['dungan-latin'] = args['dungan-latin'], } return ibox_mln_dng (frame, ibox_args); end end ----------------------------< H I >-------------------------------------------------------------------------- ----< H I N D I >---- local function hi (frame, args) if args.hi or args.hin then local ibox_args = { ['lang_hdr'] = args['hi-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'hi', ['lang_content'] = args.hi or args.hin, ['lang_ipa'] = args['hi-ipa'], ['lang_rom'] = args['hi-rom'], ['lang_std'] = args['hi-std'], ['lang_lit'] = args['hi-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< I D >-------------------------------------------------------------------------- ----< I N D O N E S I A N >---- local function id (frame, args) if args.id or args.ind then local ibox_args = { ['lang_hdr'] = args['id-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'id', ['lang_content'] = args.id or args.ind, ['lang_ipa'] = args['id-ipa'], ['lang_rom'] = args['id-rom'], ['lang_std'] = args['id-std'], ['lang_lit'] = args['id-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< J A >-------------------------------------------------------------------------- ----< J A P A N E S E >---- local function ja (frame, args) local children = {}; if any_set ({args.kanji, args.kana, args.hiragana, args.katakana, args.kyujitai, args.shinjitai, args.lja}) then local ibox_args = { ['japanese_header'] = args['japanese_header'] or 'Japanese name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['kanji'] = args.kanji, ['kyujitai'] = args.kyujitai, ['shinjitai'] = args.shinjitai, ['kana'] = args.kana, ['hiragana'] = args.hiragana, ['katakana'] = args.katakana, ['romaji'] = args.romaji, ['revhep'] = args.revhep, ['tradhep'] = args.tradhep, ['kunrei'] = args.kunrei, ['nihon'] = args.nihon, ['lja'] = args.lja } table.insert (children, ibox_mln_ja (frame, ibox_args)); end for i=2, 6 do if any_set ({args['kanji'..i], args['kana'..i], args['hiragana'..i], args['katakana'..i], args['kyujitai'..i], args['shinjitai'..i], args['lja'..i]}) then local ibox_args = { ['japanese_header'] = args['japanese_header'..i] or 'Alternative Japanese name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['kanji'] = args['kanji'..i], ['kyujitai'] = args['kyujitai'..i], ['shinjitai'] = args['shinjitai'..i], ['kana'] = args['kana'..i], ['hiragana'] = args['hiragana'..i], ['katakana'] = args['katakana'..i], ['romaji'] = args['romaji'..i], ['revhep'] = args['revhep'..i], ['tradhep'] = args['tradhep'..i], ['kunrei'] = args['kunrei'..i], ['nihon'] = args['nihon'..i], ['lja'] = args['lja'..i] } table.insert (children, ibox_mln_ja (frame, ibox_args)); end end return table.concat (children) or ; -- big string of ja infoboxen or an empty string if nothing was done here end ----------------------------< K M >-------------------------------------------------------------------------- ----< K H M E R >---- local function km (frame, args) if args.km or args.khm then local ibox_args = { ['lang_hdr'] = args['km-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'km', ['lang_content'] = args.km or args.khm, ['lang_ipa'] = args['km-ipa'], ['lang_rom'] = args['km-rom'], ['lang_std'] = args['km-std'], ['lang_lit'] = args['km-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< K O 1 >------------------------------------------------------------------------ TODO: handle ko same way as enumerated zh? ----< K O R E A N (1) >---- local function ko1 (frame, args) local children = {}; if any_set ({args.hanja, args.hangul}) then local ibox_args = { ['korean_header'] = args['korean_header'] or 'Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['hangul'] = args.hangul, ['hanja'] = args.hanja, ['rr'] = args.rr, ['mr'] = args.mr, ['northkorea'] = args.northkorea, ['lk'] = args.lk, } table.insert (children, ibox_mln_ko (frame, ibox_args)); end for i=2, 6 do if any_set ({args['hanja'..i], args['hangul'..i]}) then local ibox_args = { ['korean_header'] = args['korean_header'..i] or 'Alternative Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args['hide'], ['hangul'] = args['hangul'..i], ['hanja'] = args['hanja'..i], ['rr'] = args['rr'..i], ['mr'] = args['mr'..i], ['northkorea'] = args['northkorea'..i], ['lk'] = args['lk'..i], } table.insert (children, ibox_mln_ko (frame, ibox_args)); end end return table.concat (children) or ; end ----------------------------< K O 2 >------------------------------------------------------------------------ TODO: handle ko same way as enumerated zh? ----< K O R E A N (2) >---- local function ko2 (frame, args) local children = {}; if any_set ({args.cnhanja, args.cnhangul}) then local ibox_args = { ['korean_header'] = args['cnkorean_header'] or 'Chinese Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['hangul'] = args.cnhangul, ['hanja'] = args.cnhanja, ['rr'] = args.cnrr, ['mr'] = args.cnmr, ['northkorea'] = 'yes', ['lk'] = args.cnlk, } table.insert (children, ibox_mln_ko (frame, ibox_args)); end for i=2, 6 do if any_set ({args['cnhanja'..i], args['cnhangul'..i]}) then local ibox_args = { ['korean_header'] = args['cnkorean_header'..i] or 'Alternatif Çin Korecesi ad', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args['hide'], ['hangul'] = args['cnhangul'..i], ['hanja'] = args['cnhanja'..i], ['rr'] = args['cnrr'..i], ['mr'] = args['cnmr'..i], ['northkorea'] = 'yes', ['lk'] = args['cnlk'..i], } table.insert (children, ibox_mln_ko (frame, ibox_args)); end end return table.concat (children) or ; end ----------------------------< K O 3 >------------------------------------------------------------------------ TODO: handle ko same way as enumerated zh? ----< K O R E A N (3) >---- local function ko3 (frame, args) local children = {}; if any_set ({args.nkhanja, args.nkhangul}) then local ibox_args = { ['korean_header'] = args['nkkorean_header'] or 'North Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['hangul'] = args.nkhangul, ['hanja'] = args.nkhanja, ['rr'] = args.nkrr, ['mr'] = args.nkmr, ['northkorea'] = 'yes', ['lk'] = args.nklk, } table.insert (children, ibox_mln_ko (frame, ibox_args)); end for i=2, 6 do if any_set ({args['nkhanja'..i], args['nkhangul'..i]}) then local ibox_args = { ['korean_header'] = args['nkkorean_header'..i] or 'Alternative North Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args['hide'], ['hangul'] = args['nkhangul'..i], ['hanja'] = args['nkhanja'..i], ['rr'] = args['nkrr'..i], ['mr'] = args['nkmr'..i], ['northkorea'] = 'yes', ['lk'] = args['nklk'..i], } table.insert (children, ibox_mln_ko (frame, ibox_args)); end end return table.concat (children) or ; end ----------------------------< K O 4 >------------------------------------------------------------------------ TODO: handle ko same way as enumerated zh? ----< K O R E A N (4) >---- local function ko4 (frame, args) local children = {}; if any_set ({args.skhanja, args.skhangul}) then local ibox_args = { ['korean_header'] = args['skkorean_header'] or 'South Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['hangul'] = args.skhangul, ['hanja'] = args.skhanja, ['rr'] = args.skrr, ['mr'] = args.skmr, ['northkorea'] = nil, ['lk'] = args.sklk, } table.insert (children, ibox_mln_ko (frame, ibox_args)); end for i=2, 6 do if any_set ({args['skhanja'..i], args['skhangul'..i]}) then local ibox_args = { ['korean_header'] = args['skkorean_header'..i] or 'Alternative South Korean name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args['hide'], ['hangul'] = args['skhangul'..i], ['hanja'] = args['skhanja'..i], ['rr'] = args['skrr'..i], ['mr'] = args['skmr'..i], ['northkorea'] = nil, ['lk'] = args['sklk'..i], } table.insert (children, ibox_mln_ko (frame, ibox_args)); end end return table.concat (children) or ; end ----------------------------< L O >-------------------------------------------------------------------------- ----< L A O >---- local function lo (frame, args) if args.lo or args.lao then local ibox_args = { ['lang_hdr'] = args['lo-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'lo', ['lang_content'] = args.lo or args.lao, ['lang_ipa'] = args['lo-ipa'], ['lang_rom'] = args['lo-rom'], ['lang_std'] = args['lo-std'], ['lang_lit'] = args['lo-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< M N >-------------------------------------------------------------------------- ----< M O N G O L I A N >---- local function mn (frame, args) if any_set ({args.mong, args.mon}) then local ibox_args = { ['mongolian_header'] = args['mongolian_header'] or 'Mongolian name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['mon'] = args.mon, ['mong'] = args.mong, ['monr'] = args.monr, } return ibox_mln_mn (frame, ibox_args); end end ----------------------------< M N C >------------------------------------------------------------------------ ----< M A N C H U >---- local function mnc (frame, args) if any_set ({args.mnc_rom, args.mnc}) then local ibox_args = { ['manchu_header'] = args['manchu_header'] or 'Manchu name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['mnc'] = args.mnc, ['mnc_rom'] = args.mnc_rom, ['mnc_a'] = args.mnc_a, ['mnc_v'] = args.mnc_v, } return ibox_mln_mnc (frame, ibox_args); end end ----------------------------< M S >-------------------------------------------------------------------------- ----< M A L A Y >---- local function ms (frame, args) if args.ms or args.msa then local ibox_args = { ['lang_hdr'] = args['ms-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'ms', ['lang_content'] = args.ms or args.msa, ['lang_ipa'] = args['ms-ipa'], ['lang_rom'] = args['ms-rom'], ['lang_std'] = args['ms-std'], ['lang_lit'] = args['ms-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< M Y >-------------------------------------------------------------------------- ----< B U R M E S E >---- local function my (frame, args) if args.my then local ibox_args = { ['burmese_header'] = args['burmese_header'] or 'Burmese name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['my'] = args.my, ['bi'] = args.bi, } return ibox_mln_my (frame, ibox_args); end end ----------------------------< N E >-------------------------------------------------------------------------- ----< N E P A L I >---- local function ne (frame, args) if args.ne or args.nep then local ibox_args = { ['lang_hdr'] = args['ne-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'ne', ['lang_content'] = args.ne or args.nep, ['lang_ipa'] = args['ne-ipa'], ['lang_rom'] = args['ne-rom'], ['lang_std'] = args['ne-std'], ['lang_lit'] = args['ne-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< P I >-------------------------------------------------------------------------- ----< P A L I >---- local function pi (frame, args) if args.pi or args.pli then local ibox_args = { ['lang_hdr'] = args['pi-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'pi', ['lang_content'] = args.pi or args.pli, ['lang_ipa'] = args['pi-ipa'], ['lang_rom'] = args['pi-rom'], ['lang_std'] = args['pi-std'], ['lang_lit'] = args['pi-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< P T >-------------------------------------------------------------------------- ----< P O R T U G U E S E >---- local function pt (frame, args) if args.pt or args.por then local ibox_args = { ['lang_hdr'] = args['pt-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'pt', ['lang_lbl'] = args['pt-label'], ['lang_content'] = args.pt or args.por, ['lang_ipa'] = args['pt-ipa'], ['lang_rom'] = args['pt-rom'], ['lang_std'] = args['pt-std'], ['lang_lit'] = args['pt-lit'], ['lang_lit'] = args['pt-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< P R A >------------------------------------------------------------------------ ----< P R A K R I T >---- local function pra (frame, args) if args.pra then local ibox_args = { ['lang_hdr'] = args['pra-hdr'], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'pra', ['lang_content'] = args.pra, ['lang_ipa'] = args['pra-ipa'], ['lang_rom'] = args['pra-rom'], ['lang_std'] = args['pra-std'], ['lang_lit'] = args['pra-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< R U >-------------------------------------------------------------------------- ----< R U S S I A N >---- local function ru (frame, args) if any_set ({args.rus, args.russian}) then -- TODO: unify parameter names local ibox_args = { ['russian_header'] = args['russian_header'] or 'Rusça ad', ['başlıkrengi'] = args['child-hdr-color'] or args.headercolor, ['rus'] = args.rus or args.russian, ['rusr'] = args.rusr, ['rusipa'] = args.rusipa or args['native pronunciation'], -- TODO: unify parameter names ['ruslit'] = args.ruslit or args['Sözlük anlamı'], -- TODO: unify parameter names ['scientific'] = args.scientific, ['iso'] = args.iso, ['gost'] = args.gost, ['bgn/pcgn'] = args['bgn/pcgn'], } return ibox_mln_ru (frame, ibox_args); end end ----------------------------< S A >-------------------------------------------------------------------------- ----< S A N S K R I T >---- local function sa (frame, args) if args.sa or args.san then local ibox_args = { ['lang_hdr'] = args['sa-hdr'], ['başlıkrengi'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'sa', ['lang_content'] = args.sa or args.san, ['lang_ipa'] = args['sa-ipa'], ['lang_rom'] = args['sa-rom'], ['lang_std'] = args['sa-std'], ['lang_lit'] = args['sa-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< T A >-------------------------------------------------------------------------- ----< T A M I L >---- local function ta (frame, args) if args.ta or args.tam then local ibox_args = { ['lang_hdr'] = args['ta-hdr'], ['başlıkrengi'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'ta', ['lang_content'] = args.ta or args.tam, ['lang_ipa'] = args['ta-ipa'], ['lang_rom'] = args['ta-rom'], ['lang_std'] = args['ta-std'], ['lang_lit'] = args['ta-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< T E T >------------------------------------------------------------------------ ----< T E T U M >---- local function tet (frame, args) if args.tet then local ibox_args = { ['lang_hdr'] = args['tet-hdr'], ['başlıkrengi'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'tet', ['lang_content'] = args.tet, ['lang_ipa'] = args['tet-ipa'], ['lang_rom'] = args['tet-rom'], ['lang_std'] = args['tet-std'], ['lang_lit'] = args['tet-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< T H >-------------------------------------------------------------------------- ----< T H A I >---- local function th (frame, args) if args.th or args.tha then local ibox_args = { ['taycabaşlık'] = args['thai_header'] or 'Thai name', ['başlıkrengi'] = args['child-hdr-color'] or args.headercolor, ['başlık'] = args['th-hdr'], ['th'] = args.th or args.tha, ['rtgs'] = args.rtgs, ['ipa'] = args['th-ipa'], ['rom'] = args['th-rom'], ['std'] = args['th-std'], ['lit'] = args['th-lit'], } return ibox_mln_th (frame, ibox_args); end end ----------------------------< T L >-------------------------------------------------------------------------- ----< F I L I P I N O >---- local function tl (frame, args) -- if args.tl or args.tgl then if args.tgl then local ibox_args = { -- ['blank_header'] = 'Filipino name', ['lang_hdr'] = args['tl-hdr'] or 'Filipino name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = 'tl', -- ['lang_content'] = args.tl or args.tgl, -- tl is used for Taiwanese Romanization System of Hokkien ['lang_content'] = args.tgl, ['lang_ipa'] = args['tl-ipa'], ['lang_rom'] = args['tl-rom'], ['lang_std'] = args['tl-std'], ['lang_lit'] = args['tl-lit'], } return ibox_mln_blank (frame, ibox_args); end end ----------------------------< U G >-------------------------------------------------------------------------- ----< U Y G H U R >---- local function ug (frame, args) if args.uig then local ibox_args = { ['uyghur_header'] = args['uyghur_header'] or 'Uyghur name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['uig'] = args.uig, ['lu'] = args.lu, ['uly'] = args.uly, ['uyy'] = args.uyy, ['sgs'] = args.sgs, ['usy'] = args.usy, ['uipa'] = args.uipa, } return ibox_mln_ug (frame, ibox_args); end end ----------------------------< V I >-------------------------------------------------------------------------- ----< V I E T N A M E S E >---- local function vi (frame, args) if any_set ({args.qn, args.vie, args.chuhan}) then local ibox_args = { ['vietnamese_header'] = args['vietnamese_header'] or 'Vietnamese name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['vie'] = args.vie, ['qn'] = args.qn, ['hn'] = args.hn, ['chuhan'] = args.chuhan, ['chunom'] = args.chunom, ['lqn'] = args.lqn, } return ibox_mln_vi (frame, ibox_args); end end ----------------------------< Z A >-------------------------------------------------------------------------- ----< Z H U A N G >---- local function za (frame, args) if args.zha then local ibox_args = { ['zhuang_header'] = args['zhuang_header'] or 'Zhuang name', ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['hide'] = args.hide, ['zha'] = args.zha, ['zha57'] = args.zha57, ['sd'] = args.sd, } return ibox_mln_za (frame, ibox_args); end end ----------------------------< Z H >-------------------------------------------------------------------------- ----------< C H I N E S E >---------- local function zh (frame, args) local children = {}; if any_set ({args.c, args.t, args.p, args.s}) then -- first infobox zh/zh local ibox_args = ibox_zhzh_enum_params_get (args, ); -- get the enumerated parameters (here enumerator is empty string) if ibox_args then ibox_args['hide'] = args.hide; ibox_args['showflag'] = args.showflag; ibox_args['order'] = args.order; ibox_args['p'] = args.p or args.hp; -- add special case parameters ibox_args['xej'] = args.xej and lang_mod._lang ({'zh-Arab', args.xej}); if 'yes' == args.child then ibox_args['çincebaşlık'] = args['çincebaşlık'] or args.name1; -- show the header name from parameter or default name from ibox_mln_zh elseif any_set ({ -- when any of these are set there will be other child infoboxen so ... args.hangul, args.hanja, args.kana, args.kanji, args.hiragana, args.katakana, args.kyujitai, args.shinjitai, args.tam, args.hin, args.san, args.pli, args.tgl, args.msa, args.mnc, args.mon, args.mong, args.por, args.rus, args.tha, args.tib, args.qn, args.uig, args.vie, args.chuhan, args.chunom, args.hn, args.zha, args['dungan-xej'], args.dungan, args.lao, args.khm, args.tet, args.lang1, args.lang2, args.lang3, args.lang4, args.lang5, args.lang6, args.lang7, args.lang8, args.lang9, args.lang10, args.lang11, }) then ibox_args['çincebaşlık'] = args['çincebaşlık'] or args.name1; -- ... show the header name from parameter or default name from ibox_mln_zh else ibox_args['çincebaşlık'] = args['çincebaşlık'] or args.name1 or 'none'; -- show the header name from parameter or no header (args.name1 missing or 'empty' - nil) end ibox_args['headercolor'] = args['child-hdr-color'] or args.headercolor; table.insert (children, ibox_mln_zh (frame, ibox_args)); end end for i=2, 6 do if any_set ({args['c'..i], args['t'..i], args['p'..i], args['s'..i]}) then local ibox_args = ibox_zhzh_enum_params_get (args, i); -- get the enumerated parameters if ibox_args then ibox_args['hide'] = args.hide; ibox_args['showflag'] = args.showflag; ibox_args['order'] = args.order; ibox_args['p'] = args['p'..i] or args['hp'..i]; -- add special case parameters ibox_args['xej'] = args['xej'..i] and lang_mod._lang ({'zh-Arab', args['xej'..i]}); if args[data.zh_hdr_names[1]] then ibox_args['çincebaşlık'] = args[data.zh_hdr_names[1]]; -- use value from parameter else ibox_args['çincebaşlık'] = args['çincebaşlık'..i] or data.zh_hdr_names[2]; -- use the default end ibox_args['headercolor'] = args['child-hdr-color'] or args.headercolor; table.insert (children, ibox_mln_zh (frame, ibox_args)); end end end return table.concat (children) or ; -- big string of zh infoboxen or an empty string if nothing was done here end --name1= present with empty string or whitespace as assigned value) local function ibox_mln (frame) local args = getArgs(frame); -- also gets parent frame params (there are no frame params for this function) TODO:, {removeBlanks = false}? local infobox_args = {}; -- table to hold arguments for ibox_mln frame:expandTemplate local children = {}; -- table of returned infoboxen text ----------< H E A D E R I N F O B O X >---------- infobox_args['child'] = args.child; infobox_args['sırabiçimi1'] = 'display:none;'; if 'yes' ~= args.child then local hdr_args = { ['title'] = args.title or mw.title.getCurrentTitle.text:gsub ('%s+%b$', ); -- mimic (template not magic word) ['headercolor'] = args.headercolor, ['float'] = args.float, ['collapse'] = args.collapse, ['pic'] = args.pic or args.image, -- TODO: unify parameter names ['picsize'] = args.picsize or args.imgwidth, -- TODO: unify parameter names ['picupright'] = args.picupright, ['picalt'] = args.picalt, ['pictooltip'] = args.pictooltip, ['piccap'] = args.piccap or args.caption, -- TODO: unify parameter names ['pic2'] = args.pic2, ['picsize2'] = args.picsize2, ['picupright2'] = args.picupright2, ['picalt2'] = args.picalt2, ['pictooltip2'] = args.pictooltip2, ['piccap2'] = args.piccap2, } table.insert (children, ibox_mln_header (frame, hdr_args)); end ----------< L A N G U A G E I N F O B O X E N >---------- local lang_iboxen = { -- table of codes used in |ibox-order= and their matching function pointers ['ar'] = ar, ['as'] = as, ['bn'] = bn, ['bo'] = bo, ['dng'] = dng, ['hi'] = hi, ['id'] = id, ['ja'] = ja, ['km'] = km, ['ko1'] = ko1, ['ko2'] = ko2, ['ko3'] = ko3, ['ko4'] = ko4, ['lo'] = lo, ['mn'] = mn, ['mnc'] = mnc, ['ms'] = ms, ['my'] = my, ['ne'] = ne, ['pi'] = pi, ['pra'] = pra, ['pt'] = pt, ['ru'] = ru, ['sa'] = sa, ['ta'] = ta, ['tet'] = tet, ['th'] = th, ['tl'] = tl, ['ug'] = ug, ['vi'] = vi, ['za'] = za, ['zh'] = zh } local lang_ibox_order = { -- default list of lang ibox calling functions as used by legacy zh, my, bo, dng, vi, th, za, ko1, ko2, ko3, ko4, mn, ja, ms, id, tl, ug, mnc, bn, as, ne, pra, ta, hi, sa, pi, pt, ru, lo, km, tet }; if args['ibox-order'] then -- parameter value is comma-separated list of lang iboxen to render and their order local t = mw.text.split (args['ibox-order'], '%s*,%s*') -- make a table from the list lang_ibox_order = {}; -- reset; don't use default list for _, v in ipairs (t) do -- spin through the lang_ibox_order list in order and if lang_iboxen[v] then -- if there is a matching ibox function table.insert (lang_ibox_order, lang_iboxen[v]); -- add it to the list of functions to call; TODO: error message when specified language does not exist? end end end for _, ibox_func in ipairs (lang_ibox_order) do -- call each function in the list in the list order table.insert (children, ibox_func (frame, args) or ''); -- add ibox string (or empty string when there is no ibox string) end ----------< B L A N K # I N F O B O X E N >---------- local i = 1; -- blank ibox enumerator while args['lang' .. i] and (args['lang-content' .. i] or args['lang' .. i .. '_content']) do -- for as many ibox blank as there are ... local ibox_args = { ['lang_hdr'] = args['lang-hdr' .. i], ['headercolor'] = args['child-hdr-color'] or args.headercolor, ['lang'] = args['lang' .. i], ['lang_label'] = args['lang-lbl' .. i], ['lang_content'] = args['lang-content' .. i] or args['lang' .. i .. '_content'], ['lang_ipa'] = args['lang-ipa' .. i], ['lang_rom'] = args['lang-rom' .. i], ['lang_std'] = args['lang-std' .. i], ['lang_lit'] = args['lang-lit' .. i], } table.insert (children, ibox_mln_blank (frame, ibox_args)); i = i + 1; -- bump the enumerator end ----------< F O O T E R I N F O B O X >---------- if 'yes' ~= args.child then table.insert (children, ibox_mln_footer (frame, {['footnote'] = args.footnote})); end ----------< R E N D E R >---------- return table.concat (children); -- concatenate all of the children together into a ginormous string end ----------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------ these not used outside of old : ibox_mln_dng = ibox_mln_dng, -- ibox_mln_mn = ibox_mln_mn, -- ibox_mln_mnc = ibox_mln_mnc, -- ibox_mln_my = ibox_mln_my, -- ibox_mln_th = ibox_mln_th, -- ibox_mln_ug = ibox_mln_ug, -- ibox_mln_za = ibox_mln_za, -- these templates require parameter-name unification before they can directly use this module (and avoid the subtemplates): uses: uses: return { ibox_mln = ibox_mln, -- ibox_mln_ar = ibox_mln_ar, -- (used in Template:Infobox Arabic term) ibox_mln_blank = ibox_mln_blank, -- ibox_mln_bo = ibox_mln_bo, -- ibox_mln_footer = ibox_mln_footer, -- ibox_mln_header = ibox_mln_header, -- ibox_mln_hokkien = ibox_mln_hokkien, -- (used in Template:Infobox Hokkien name) ibox_mln_ja = ibox_mln_ja, -- ibox_mln_ko = ibox_mln_ko, -- ibox_mln_ru = ibox_mln_ru, -- (used in Template:Infobox Russian term) ibox_mln_vi = ibox_mln_vi, -- (used in Template:Infobox Vietnamese) ibox_mln_zh = ibox_mln_zh, -- }
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri