local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local langSwitch = require('Module:Fallback')._langSwitch local userbox = require('Module:Userbox').userbox function is_wikimania_number_prefix(prefix) local function is_prefix(wm) return mw.ustring.sub(prefix, 1, mw.ustring.len(wm)) and mw.ustring.len(prefix) > mw.ustring.len(wm) and tonumber(mw.ustring.sub(prefix, mw.ustring.len(wm) + 1, -1)) end return is_prefix('wm') or is_prefix('wikimania') end function project_name(prefix) if is_wikimania_number_prefix(prefix) then return 'Wikimania ' .. mw.ustring.sub(prefix, -4, -1) end local names = { ['b'] = 'Wikibooks', ['wikibooks'] = 'Wikibooks', ['c'] = 'Wikimedia Commons', ['commons'] = 'Wikimedia Commons', ['d'] = 'Wikidata', ['wikidata'] = 'Wikidata', ['f'] = 'Wikifunctions', ['wikifunctions'] = 'Wikifunctions', ['incubator'] = 'Incubator', ['m'] = 'Wikimedia MetaWiki', ['metawiki'] = 'Wikimedia MetaWiki', ['metawikimedia'] = 'Wikimedia MetaWiki', ['metawikipedia'] = 'Wikimedia MetaWiki', ['mw'] = 'MediaWiki', ['n'] = 'Wikinews', ['wikinews'] = 'Wikinews', ['q'] = 'Wikiquote', ['wikiquote'] = 'Wikiquote', ['s'] = 'Wikisource', ['wikisource'] = 'Wikisource', ['species'] = 'Wikispecies', ['wikispecies'] = 'Wikispecies', ['v'] = 'Wikiversity', ['wikiversity'] = 'Wikiversity', ['voy'] = 'Wikivoyage', ['wikivoyage'] = 'Wikivoyage', ['w'] = 'Wikipedia', ['wikipedia'] = 'Wikipedia', ['wikt'] = 'Wiktionary', ['wiktionary'] = 'Wiktionary', ['outreach'] = 'Wikimedia Outreach', ['wikitech'] = 'Wikitech', ['wm'] = 'Wikimania', ['wikimania'] = 'Wikimania' } return names[prefix] or prefix end function project_has_lang(prefix) local no_lang_projects = { ['Wikimedia Commons'] = true, ['Incubator'] = true, ['Wikimedia MetaWiki'] = true, ['MediaWiki'] = true, ['Wikispecies'] = true, ['Wikimedia Outreach'] = true, ['Wikitech'] = true, ['Wikimania'] = true, ['Wikidata'] = true, ['Wikifunctions'] = true } return no_lang_projects[project_name(prefix)] ~= true and not is_wikimania_number_prefix(prefix) end function localized_project_name(prefix, lang_code, display_lang) local name = project_name(prefix) local project_names = { ['ang'] = { ['Wikipedia'] = 'Wicipædie' }, ['ar'] = { ['Wikidata'] = 'ويكي بيانات', ['Wikimedia Commons'] = 'ويكيميديا كومنز', ['Wikimedia MetaWiki'] = 'ميتاويكي', ['Wikiquote'] = 'ويكي اقتباس', ['Wikipedia'] = 'ويكيبيديا', ['Wikisource'] = 'ويكي مصدر', ['Wikispecies'] = 'ويكي أنواع', ['Wikiversity'] = 'ويكي جامعة', ['Wikivoyage'] = 'ويكي رحلات', ['Wiktionary'] = 'ويكاموس' }, ['eo'] = { ['Wikipedia'] = 'Vikipedio' }, ['es'] = { ['Incubator'] = 'la Incubadora de Wikimedia', ['Wikibooks'] = 'Wikilibros', ['Wikimania'] = 'Wikimanía', ['Wikinews'] = 'Wikinoticias', ['Wikispecies'] = 'Wikiespecies', ['Wikiversity'] = 'la Wikiversidad', ['Wikivoyage'] = 'Wikiviajes', ['Wiktionary'] = 'Wikcionario' }, ['fa'] = { ['Wikisource'] = 'ویکینبشته ' }, ['fi'] = { ['Wikidata'] = 'Wikidatassa', ['Wikiquote'] = 'Wikisitaateissa', ['Wikipedia'] = 'Wikipediassa' }, ['fr'] = { ['Wikipedia'] = 'Wikipédia', ['Wiktionary'] = 'Wiktionnaire' }, ['he'] = { ['Wikidata'] = 'ראשי', ['Wikimedia Commons'] = 'עמוד ראשי', ['Wikimedia MetaWiki'] = 'במטא-ויקי', ['Wikisource'] = 'וויקיטקסט', ['Wiktionary'] = 'וויקימילון' }, ['hr'] = { ['Wikipedia'] = 'Wikipediji' }, ['hu'] = { ['Wikipedia'] = 'Wikipédián' }, ['it'] = { ['Wikinews'] = 'Wikinotizie', ['Wikiversity'] = 'Wikiversità', ['Wiktionary'] = 'Wikizionario' }, ['ja'] = { ['Wikidata'] = 'ウィキデータ', ['Wikimedia Commons'] = 'ウィキメディア・コモンズ', ['Wikimedia MetaWiki'] = 'メタウィキ', ['Wikiquote'] = 'ウィキクオート', ['Wikipedia'] = 'ウィキペディア', ['Wikisource'] = 'ウィキソース', ['Wikispecies'] = 'ウィキスピーシーズ', ['Wikiversity'] = 'ウィキバーシティ', ['Wikivoyage'] = 'ウィキボヤージュ', ['Wiktionary'] = 'ウィクショナリー' }, ['ko'] = { ['Wikimedia Commons'] = '위키미디어 공용', ['Wikimedia MetaWiki'] = '위키미디어 메타', ['Wikiversity'] = '위키배움터' }, ['pa'] = { ['Wikidata'] = 'ਵਿਕੀਡਾਟਾ', ['Wikimedia Commons'] = 'ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼', ['Wikimedia MetaWiki'] = 'ਵਿਕੀਮੀਡੀਆ ਮੈਟਾ-ਵਿਕੀ', ['Wikipedia'] = 'ਵਿਕੀਪੀਡੀਆ', ['Wikisource'] = 'ਵਿਕੀਸਰੋਤ' }, ['pt'] = { ['Incubator'] = 'Incubadora da Wikimédia', ['Wikibooks'] = 'Wikilivros', ['Wikimania'] = 'Wikimédia', ['Wikipedia'] = 'Wikipédia', ['Wikinews'] = 'Wikinotícias', ['Wikispecies'] = 'Wikiespécies', ['Wikiversity'] = 'Wikiversidade', ['Wiktionary'] = 'Wikcionário' }, ['ru'] = { ['Incubator'] = 'Инкубатор', ['Wikibooks'] = 'Викиучебник', ['Wikidata'] = 'Викиданные', ['Wikimedia Commons'] = 'Викисклад', ['Wikimedia MetaWiki'] = 'Мета-вики', ['Wikinews'] = 'Викиновости', ['Wikiquote'] = 'Викицитатник', ['Wikipedia'] = 'Википедия', ['Wikisource'] = 'Викитека', ['Wikispecies'] = 'Викивиды', ['Wikiversity'] = 'Викиверситет', ['Wikivoyage'] = 'Викигид', ['Wiktionary'] = 'Викисловарь' }, ['syl'] = { ['MediaWiki'] = 'ꠝꠤꠒꠤꠀꠃꠁꠇꠤ' }, ['ta'] = { ['Wikipedia'] = 'விக்கிப்பீடியாது', }, ['tr'] = { ['Wikidata'] = 'Vikiveri', ['Wikimedia MetaWiki'] = 'Wikimedia Meta Viki', ['Wikispecies'] = 'Vikitür', ['Wiktionary'] = 'Vikisözlük' }, ['uk'] = { ['Incubator'] = 'Інкубаторі', ['Wikibooks'] = 'Вікіпідручнику', ['Wikidata'] = 'Вікіданих', ['Wikifunctions'] = 'Вікіфункціях', ['Wikimedia Commons'] = 'Вікісховищі', ['Wikimedia MetaWiki'] = 'Мета-вікі', ['Wikimedia Outreach'] = 'Вікімедіа Аутріч', ['Wikinews'] = 'Вікіновинах', ['Wikiquote'] = 'Вікіцитатах', ['Wikipedia'] = 'Вікіпедії', ['Wikisource'] = 'Вікіджерелах', ['Wikispecies'] = 'Віківидах', ['Wikiversity'] = 'Віківерситеті', ['Wikivoyage'] = 'Вікімандрах', ['Wiktionary'] = 'Вікісловнику' }, ['vec'] = { ['Wikipedia'] = 'Wikipèdia' }, ['zh-hans'] = { ['Wikidata'] = '维基数据', ['Wikimedia Commons'] = '维基共享资源', ['Wikimedia MetaWiki'] = '元维基', ['Wikiquote'] = '维基语录', ['Wikipedia'] = '维基百科', ['Wiktionary'] = '维基词典' }, ['zh-hant'] = { ['Wikidata'] = '維基數據', ['Wikimedia Commons'] = '維基共享資源', ['Wikimedia MetaWiki'] = '元維基', ['Wikiquote'] = '維基語錄', ['Wikipedia'] = '維基百科', ['Wiktionary'] = '維基詞典' }, ['zh-hk'] = { ['Wikidata'] = '維基數據', ['Wikimedia Commons'] = '維基共享資源', ['Wikimedia MetaWiki'] = '元維基', ['Wikiquote'] = '維基語錄', ['Wikipedia'] = '維基百科', ['Wiktionary'] = '維基詞典' }, } project_names['zh'] = project_names['zh-hans'] project_names['zh-cn'] = project_names['zh-hans'] project_names['zh-mo'] = project_names['zh-hk'] project_names['zh-my'] = project_names['zh-hans'] project_names['zh-sg'] = project_names['zh-hans'] project_names['zh-tw'] = project_names['zh-hant'] local localized_name = name if project_names[display_lang] then if project_names[display_lang][name] then localized_name = project_names[display_lang][name] elseif mw.ustring.sub(name, 1, 9) == 'Wikimania' and project_names[display_lang]['Wikimania'] then localized_name = string.gsub(name, 'Wikimania', project_names[display_lang]['Wikimania']) end end -- prefix should be converted into BCP 47 lang tag or MediaWiki lang tag/lAng code if project_has_lang(prefix) and lang_code then local language_adjectives = { ['ang'] = { ['ang'] = 'Engliscan' }, ['ar'] = { ['ab'] = 'الأبخازية', ['af'] = 'الأفريكانية', ['ang'] = 'الإنجليزية القديمة', ['ar'] = 'العربية', ['arz'] = 'المصرية', ['ast'] = 'الأستورية', ['az'] = 'الأذرية', ['azb'] = 'الأذرية الجنوبية', ['be'] = 'البيلاروسية', ['be-tarask'] = 'البيلاروسية (تاراتسكييفيتسا)', ['bg'] = 'البلغارية', ['bn'] = 'البنغالية', ['br'] = 'البريتونية', ['bs'] = 'البوسنية', ['ca'] = 'الكاتالونية', ['ce'] = 'الشيشانية', ['ceb'] = 'السيبوانية', ['ckb'] = 'الكردية السورانية', ['cs'] = 'التشيكية', ['cv'] = 'التشوفاش', ['cy'] = 'الويلزية', ['da'] = 'الدنماركية', ['de'] = 'الألمانية', ['el'] = 'اليونانية', ['en'] = 'الإنجليزية', ['eo'] = 'الإسبرانتو', ['es'] = 'الإسبانية', ['et'] = 'الإستونية', ['eu'] = 'الباسكية', ['fa'] = 'الفارسية', ['fi'] = 'الفنلندية', ['fr'] = 'الفرنسية', ['ga'] = 'الأيرلندية', ['gl'] = 'الجاليكية', ['he'] = 'العبرية', ['hi'] = 'الهندية', ['hr'] = 'الكرواتية', ['hu'] = 'الهنغارية', ['hy'] = 'الأرمنية', ['ig'] = 'الإيغبو', ['id'] = 'الإندونيسية', ['is'] = 'الإيسلندية', ['it'] = 'الإيطالية', ['ja'] = 'اليابانية', ['jv'] = 'الجاوية', ['ka'] = 'الجورجية', ['kk'] = 'الكازاخستانية', ['ko'] = 'الكورية', ['ky'] = 'القيرغيزية', ['la'] = 'اللاتينية', ['lij'] = 'الليغورية', ['lld'] = 'اللايدينية', ['lmo'] = 'اللومباردية', ['lt'] = 'الليتوانية', ['lv'] = 'اللاتفية', ['mg'] = 'المالاجاشية', ['min'] = 'المينانغكاباو', ['ml'] = 'المالايالامية', ['mr'] = 'الماراثية', ['ms'] = 'الملايوية', ['my'] = 'البورمية', ['nds'] = 'الألمانية الدنيا', ['ne'] = 'النيبالية', ['nl'] = 'الهولندية', ['nn'] = 'نينوشك', ['no'] = 'بوكمول', ['pa'] = 'البنجابية', ['pl'] = 'البولندية', ['pt'] = 'البرتغالية', ['ro'] = 'الرومانية', ['ru'] = 'الروسية', ['sd'] = 'السندية', ['sh'] = 'الصربو-كرواتية', ['si'] = 'السنهالية', ['simple'] = 'الإنجليزية المبسطة', ['sk'] = 'السلوفاكية', ['sl'] = 'السلوفينية', ['sq'] = 'الألبانية', ['sr'] = 'الصربية', ['sv'] = 'السويدية', ['sw'] = 'السواحيلية', ['syl'] = 'السيلهتي', ['szl'] = 'السيليزية', ['ta'] = 'التاميلية', ['te'] = 'التيلجو', ['tg'] = 'الطاجيكية', ['th'] = 'التايلاندية', ['tl'] = 'التاغالوغ', ['tr'] = 'التركية', ['tt'] = 'التتارية', ['uk'] = 'الأوكرانية', ['ur'] = 'الأردية', ['uz'] = 'الأوزبكية', ['vec'] = 'البينيتية', ['vi'] = 'الفيتنامية', ['vo'] = 'الفولابوك', ['war'] = 'الواراي', ['yi'] = 'اليديشية', ['zh'] = 'الصينية', ['zh-min-nan'] = 'الصينية الجنوبية', ['zh-yue'] = 'الكانتونية', ['zu'] = 'الزولو' }, ['en'] = { ['ab'] = 'Abkhaz', ['af'] = 'Afrikaans', ['ang'] = 'Old English', ['ar'] = 'Arabic', ['arz'] = 'Egyptian Arabic', ['ast'] = 'Asturian', ['az'] = 'Azerbaijani', ['azb'] = 'South Azerbaijani', ['be'] = 'Belarusian', ['be-tarask'] = 'Belarusian (Taraškievica)', ['bg'] = 'Bulgarian', ['bn'] = 'Bengali', ['br'] = 'Breton', ['bs'] = 'Bosnian', ['ca'] = 'Catalan', ['ce'] = 'Chechen', ['ceb'] = 'Cebuano', ['ckb'] = 'Sorani Kurdish', ['cs'] = 'Czech', ['cv'] = 'Chuvash', ['cy'] = 'Welsh', ['da'] = 'Danish', ['de'] = 'German', ['el'] = 'Greek', ['en'] = 'English', ['eo'] = 'Esperanto', ['es'] = 'Spanish', ['et'] = 'Estonian', ['eu'] = 'Basque', ['fa'] = 'Persian', ['fi'] = 'Finnish', ['fr'] = 'French', ['ga'] = 'Irish', ['gl'] = 'Galician', ['he'] = 'Hebrew', ['hi'] = 'Hindi', ['hr'] = 'Croatian', ['hu'] = 'Hungarian', ['hy'] = 'Armenian', ['ig'] = 'Igbo', ['id'] = 'Indonesian', ['is'] = 'Icelandic', ['it'] = 'Italian', ['ja'] = 'Japanese', ['jv'] = 'Javanese', ['ka'] = 'Georgian', ['kk'] = 'Kazakh', ['ko'] = 'Korean', ['ky'] = 'Kyrgyz', ['la'] = 'Latin', ['lij'] = 'Ligurian', ['lld'] = 'Ladin', ['lmo'] = 'Lombard', ['lt'] = 'Lithuanian', ['lv'] = 'Latvian', ['mg'] = 'Malagasy', ['min'] = 'Minangkabau', ['ml'] = 'Malayalam', ['mr'] = 'Marathi', ['ms'] = 'Malay', ['my'] = 'Burmese', ['nds'] = 'Low German', ['ne'] = 'Nepali', ['nl'] = 'Dutch', ['nn'] = 'Norwegian (Nynorsk)', ['no'] = 'Norwegian (Bokmål)', ['pa'] = 'Punjabi', ['pl'] = 'Polish', ['pt'] = 'Portuguese', ['ro'] = 'Romanian', ['ru'] = 'Russian', ['sd'] = 'Sindhi', ['sh'] = 'Serbo-Croatian', ['si'] = 'Sinhala', ['simple'] = 'Simple English', ['sk'] = 'Slovak', ['sl'] = 'Slovene', ['sq'] = 'Albanian', ['sr'] = 'Serbian', ['sv'] = 'Swedish', ['sw'] = 'Swahili', ['syl'] = 'Sylheti', ['szl'] = 'Silesian', ['ta'] = 'Tamil', ['te'] = 'Telugu', ['tg'] = 'Tagik', ['th'] = 'Thai', ['tl'] = 'Tagalog', ['tr'] = 'Turkish', ['tt'] = 'Tatar', ['uk'] = 'Ukrainian', ['ur'] = 'Urdu', ['uz'] = 'Uzbek', ['vec'] = 'Venetian', ['vi'] = 'Vietnamese', ['vo'] = 'Volapük', ['war'] = 'Waray', ['yi'] = 'Yiddish', ['zh'] = 'Chinese', ['zh-min-nan'] = 'Minnan', ['zh-yue'] = 'Cantonese', ['zu'] = 'Zulu' }, ['eo'] = { ['fr'] = 'Franca' }, ['es'] = { ['ang'] = {['m'] = 'anglosajón', ['f'] = 'anglosajona'}, ['ar'] = {['m'] = 'árabe', ['f'] = 'árabe'}, ['az'] = {['m'] = 'azerí', ['f'] = 'azerí'}, ['bn'] = {['m'] = 'bengalí', ['f'] = 'bengalí'}, ['br'] = {['m'] = 'bretón', ['f'] = 'bretona'}, ['cs'] = {['m'] = 'checo', ['f'] = 'checa'}, ['da'] = {['m'] = 'danés', ['f'] = 'danesa'}, ['de'] = {['m'] = 'alemán', ['f'] = 'alemana'}, ['en'] = {['m'] = 'inglés', ['f'] = 'inglesa'}, ['eo'] = {['m'] = 'en esperanto', ['f'] = 'en esperanto'}, ['es'] = {['m'] = 'español', ['f'] = 'española'}, ['fa'] = {['m'] = 'persa', ['f'] = 'persa'}, ['fi'] = {['m'] = 'finés', ['f'] = 'finesa'}, ['fr'] = {['m'] = 'francés', ['f'] = 'francesa'}, ['gl'] = {['m'] = 'gallego', ['f'] = 'gallega'}, ['he'] = {['m'] = 'hebreo', ['f'] = 'hebrea'}, ['hi'] = {['m'] = 'hindi', ['f'] = 'hindi'}, ['hr'] = {['m'] = 'croata', ['f'] = 'croata'}, ['hu'] = {['m'] = 'húngaro', ['f'] = 'húngara'}, ['hy'] = {['m'] = 'armenio', ['f'] = 'armenia'}, ['id'] = {['m'] = 'indonesio', ['f'] = 'indonesia'}, ['it'] = {['m'] = 'italiano', ['f'] = 'italiana'}, ['ja'] = {['m'] = 'japonés', ['f'] = 'japonesa'}, ['ko'] = {['m'] = 'coreano', ['f'] = 'coreana'}, ['ml'] = {['m'] = 'malayalam', ['f'] = 'malayalam'}, ['nl'] = {['m'] = 'holandés', ['f'] = 'holandesa'}, ['no'] = {['m'] = 'en noruego (bokmål)', ['f'] = 'en noruego (bokmål)'}, ['pa'] = {['m'] = 'punjabi', ['f'] = 'punjabi'}, ['pl'] = {['m'] = 'polaco', ['f'] = 'polaca'}, ['ro'] = {['m'] = 'rumano', ['f'] = 'rumana'}, ['ru'] = {['m'] = 'ruso', ['f'] = 'rusa'}, ['simple'] = {['m'] = 'en inglés simple', ['f'] = 'en inglés simple'}, ['sk'] = {['m'] = 'eslovaco', ['f'] = 'eslovaca'}, ['sq'] = {['m'] = 'albanés', ['f'] = 'albanesa'}, ['sv'] = {['m'] = 'sueco', ['f'] = 'sueca'}, ['ta'] = {['m'] = 'támil', ['f'] = 'támil'}, ['tr'] = {['m'] = 'turco', ['f'] = 'turca'}, ['uk'] = {['m'] = 'ucraniano', ['f'] = 'ucraniana'}, ['vec'] = {['m'] = 'véneto', ['f'] = 'véneta'}, ['vi'] = {['m'] = 'vietnamita', ['f'] = 'vietnamita'}, ['zh'] = {['m'] = 'chino', ['f'] = 'china'} }, ['fi'] = { ['fi'] = 'suomenkielisessä', ['fr'] = 'ranskankielisessä' }, ['fr'] = { ['fr'] = 'Français' }, ['it'] = { ['ab'] = 'abcaso', ['af'] = 'afrikaans', ['ang'] = 'inglese antico', ['ar'] = 'arabo', ['arz'] = 'arabo egiziano', ['ast'] = 'asturiano', ['az'] = 'azero', ['azb'] = 'azero meridionale', ['be'] = 'bielorusso', ['be-tarask'] = 'bielorusso (taraškievica)', ['bg'] = 'bulgaro', ['bn'] = 'bengalese', ['br'] = 'bretone', ['bs'] = 'bosniaco', ['ca'] = 'catalano', ['ce'] = 'ceceno', ['ceb'] = 'cebuano', ['ckb'] = 'soranî', ['cs'] = 'ceco', ['cv'] = 'ciuvascio', ['cy'] = 'gallese', ['da'] = 'danese', ['de'] = 'tedesco', ['el'] = 'greco', ['en'] = 'inglese', ['eo'] = 'esperanto', ['es'] = 'spagnolo', ['et'] = 'estone', ['eu'] = 'basco', ['fa'] = 'persiano', ['fi'] = 'finlandese', ['fr'] = 'francese', ['ga'] = 'irlandese', ['gl'] = 'galiziano', ['he'] = 'ebraico', ['hi'] = 'hindī', ['hr'] = 'croato', ['hu'] = 'ungherese', ['hy'] = 'armeno', ['ig'] = 'igbo', ['id'] = 'indonesiano', ['is'] = 'islandese', ['it'] = 'italiano', ['ja'] = 'giapponese', ['jv'] = 'giavanese', ['ka'] = 'georgiano', ['kk'] = 'kazako', ['ko'] = 'coreano', ['ky'] = 'kirghiso', ['la'] = 'latino', ['lij'] = 'ligure', ['lld'] = 'ladino', ['lmo'] = 'lombardo', ['lt'] = 'lituano', ['lv'] = 'lettone', ['mg'] = 'malgascio', ['min'] = 'minangkabau', ['ml'] = 'malayālaṃ', ['mr'] = 'marāṭhi', ['ms'] = 'malese', ['my'] = 'birmano', ['nds'] = 'basso-tedesco', ['ne'] = 'nepalese', ['nl'] = 'olandese', ['nn'] = 'norvegese (nynorsk)', ['no'] = 'norvegese (bokmål)', ['pa'] = 'punjabi', ['pl'] = 'polacco', ['pt'] = 'portoghese', ['ro'] = 'romeno', ['ru'] = 'russo', ['sd'] = 'sindhi', ['sh'] = 'serbo-croato', ['si'] = 'singalese', ['simple'] = 'inglese semplificato', ['sk'] = 'slovacco', ['sl'] = 'sloveno', ['sq'] = 'albanese', ['sr'] = 'serbo', ['sv'] = 'svedese', ['sw'] = 'swahili', ['syl'] = 'sylheti', ['szl'] = 'slesiano', ['ta'] = 'tamil', ['te'] = 'telugu', ['tg'] = 'tagico', ['th'] = 'thailandese', ['tl'] = 'tagalog', ['tr'] = 'turco', ['tt'] = 'tataro', ['uk'] = 'ucraino', ['ur'] = 'urdu', ['uz'] = 'uzbeco', ['vec'] = 'veneto', ['vi'] = 'vietnamita', ['vo'] = 'volapük', ['war'] = 'waray-waray', ['yi'] = 'yiddish', ['zh'] = 'cinese', ['zh-min-nan'] = 'min nan', ['zh-yue'] = 'cantonese', ['zu'] = 'zulu' }, ['ja'] = { ['ang'] = '古英語版', ['ar'] = 'アラビア語版', ['az'] = 'アゼルバイジャン語版', ['bn'] = 'ベンガル語版', ['br'] = 'ブルトン語版', ['cs'] = 'チェコ語版', ['da'] = 'デンマーク語版', ['de'] = 'ドイツ語版', ['en'] = '英語版', ['eo'] = 'エスペラント語版', ['es'] = 'スペイン語版', ['fa'] = 'ペルシア語版', ['fi'] = 'フィンランド語版', ['fr'] = 'フランス語版', ['gl'] = 'ガリシア語版', ['he'] = 'ヘブライ語版', ['hi'] = 'ヒンディー語版', ['hr'] = 'クロアチア語版', ['hu'] = 'ハンガリー語版', ['hy'] = 'アルメニア語版', ['id'] = 'インドネシア語版', ['it'] = 'イタリア語版', ['ja'] = '日本語版', ['ko'] = '韓国語版', ['ml'] = 'マラヤーラム語版', ['nl'] = 'オランダ語版', ['no'] = 'ノルウェー語版 (Bokmål)', ['pa'] = 'パンジャブ語版', ['pl'] = 'ポーランド語版', ['ro'] = 'ルーマニア語版', ['ru'] = 'ロシア語版', ['simple'] = 'シンプル英語版', ['sk'] = 'スロバキア語版', ['sq'] = 'アルバニア語版', ['sv'] = 'スウェーデン語版', ['ta'] = 'タミル語版', ['tr'] = 'トルコ語版', ['uk'] = 'ウクライナ語版', ['vec'] = 'ヴェネト語版', ['vi'] = 'ベトナム語版', ['zh'] = '中国語版' }, ['pa'] = { ['pa'] = 'ਪੰਜਾਬੀ' }, ['ta'] = { ['ta'] = 'தமிழ்' }, ['zh-hans'] = { ['en'] = '英语', ['zh'] = '中文', }, ['zh-hant'] = { ['en'] = '英語', ['zh'] = '中文', }, ['zh-hk'] = { ['en'] = '英語', ['zh'] = '中文', }, } language_adjectives['zh'] = language_adjectives['zh-hans'] language_adjectives['zh-cn'] = language_adjectives['zh-hans'] language_adjectives['zh-mo'] = language_adjectives['zh-hk'] language_adjectives['zh-my'] = language_adjectives['zh-hans'] language_adjectives['zh-sg'] = language_adjectives['zh-hans'] language_adjectives['zh-tw'] = language_adjectives['zh-hant'] if language_adjectives[display_lang] and language_adjectives[display_lang][lang_code] then if display_lang == 'en' then localized_name = 'the ' .. language_adjectives[display_lang][lang_code] .. " " .. localized_name elseif display_lang == 'ang' then localized_name = 'þæm ' .. language_adjectives[display_lang][lang_code] .. " " .. localized_name elseif display_lang == 'eo' then localized_name = 'la ' .. language_adjectives[display_lang][lang_code] .. " " .. localized_name elseif display_lang == 'es' then if localized_name == 'la Incubadora de Wikimedia' or localized_name == 'la Wikiversidad' then localized_name = localized_name .. ' ' .. language_adjectives[display_lang][lang_code]['f'] elseif localized_name == 'Wikinoticias' or localized_name == 'Wikiespecies' or localized_name == 'Wikimanía' then localized_name = 'la ' .. localized_name .. ' ' .. language_adjectives[display_lang][lang_code]['f'] else localized_name = 'el ' .. localized_name .. ' ' .. language_adjectives[display_lang][lang_code]['m'] end elseif display_lang == 'fi' or display_lang == 'ta' then localized_name = language_adjectives[display_lang][lang_code] .. " " .. localized_name elseif display_lang == 'fr' then localized_name = 'le ' .. localized_name .. ' ' .. language_adjectives[display_lang][lang_code] elseif display_lang == 'it' then localized_name = ' ' .. localized_name .. ' in ' .. language_adjectives[display_lang][lang_code] end else -- Wikipedia-zh is more common than zh-Wikipedia localized_name = localized_name .. '-' .. lang_code end end return localized_name end function project_link_prefix(prefix, lang_code) if project_name(prefix) == 'Wikimedia MetaWiki' then return 'm:' else local link_prefix = prefix if project_has_lang(prefix) and lang_code then link_prefix = link_prefix .. ':' .. lang_code end link_prefix = link_prefix .. ':' return link_prefix end end function project_userpage_link(prefix, lang_code, username) return project_link_prefix(prefix, lang_code) .. 'User:' .. username end function project_project_link(prefix, lang_code) local link_target = project_link_prefix(prefix, lang_code) .. 'Special:MyLanguage/' if prefix == 'wikidata' then return link_target .. 'Wikidata:Main_Page' else return link_target .. 'Main_Page' end end function project_text(prefix, lang_code, username, gender, display_lang, frame) local tmb = require 'mw.ext.translate.messageBundle' local this_user_key = 'this-user-has' local mb_page_title = 'Module:User Wikimedia project/i18n' local lang1 = lang_code if lang1 == 'simple' or not lang_code then lang1 = 'en' end local mb_lang1 = tmb.new( mb_page_title, lang1 ) local this_user_translation_lang1 = frame:preprocess(mb_lang1:t( this_user_key ):params( -- Workaround for the missing functionality to pass lang tag/lang code, especially for "Template:LC zh". -- {{LC zh|lang = {{{lang|$1}}}|...}} -- Without this, asking zh-hans translations would still get zh-hant, zh-hk (and vice versa) -- and LC zh cannot handle this case without the lang parameter due to being frame:preprocess'd lang1, username, project_userpage_link(prefix, lang_code, username), project_project_link(prefix, lang_code), localized_project_name(prefix, lang_code, display_lang) ):plain()) local lang2 = display_lang or mw.getCurrentFrame():preprocess("{{Int:Lang}}") if lang2 == 'simple' then lang2 = 'en' end local mb_lang2 = tmb.new( mb_page_title, lang2 ) local this_user_translation_lang2 = frame:preprocess(mb_lang2:t( this_user_key ):params( -- Workaround for the missing functionality to pass lang tag/lang code, especially for "Template:LC zh". -- {{LC zh|lang = {{{lang|$1}}}|...}} -- Without this, asking zh-hans translations would still get zh-hant, zh-hk (and vice versa) -- and LC zh cannot handle this case without the lang parameter due to being frame:preprocess'd lang2, username, project_userpage_link(prefix, lang_code, username), project_project_link(prefix, lang_code), localized_project_name(prefix, lang_code, lang2) ):plain()) local lang2_object = mw.language.new( lang2 ) local lang2_dir = lang2_object:getDir() if lang1 == lang2 or not project_has_lang(prefix) then return '<p lang="' .. lang2 .. '" dir="' .. lang2_dir .. '">' .. this_user_translation_lang2 .. '</p>' else local lang1_object = mw.language.new( lang1 ) local lang1_dir = lang1_object:getDir() return '<p lang="' .. lang1 .. '" dir="' .. lang1_dir .. '">' .. this_user_translation_lang1 .. '</p>\n----\n<p lang="' .. lang2 .. '" dir="' .. lang2_dir .. '">' .. this_user_translation_lang2 .. '</p>' end end function project_image(prefix) local filename local name = project_name(prefix) if name == 'Wikimedia MetaWiki' then filename = 'Wikimedia Community Logo.svg' elseif name == 'Wikimedia Commons' then filename = 'Commons-logo.svg' elseif name == 'Wikimedia Outreach' then filename = 'Wikimedia-logo.svg' elseif name == 'Wikitech' then filename = 'Wikitech-2021-blue-icon.svg' elseif name == 'MediaWiki' then filename = 'MediaWiki-2020-icon.svg' elseif name == 'Wikiversity' then filename = 'Wikiversity logo 2017.svg' elseif name == 'Wikimania' or is_wikimania_number_prefix(prefix) then filename = 'Wikimania.svg' else filename = mw.title.makeTitle('File', name .. '-logo.svg').text end return '[[File:' .. filename .. '|40px]]' end function p._user_wikimedia_project(args, frame) local prefix = string.lower(args[1] or args.prefix or "metawiki") local lang_code = args[2] or args.lang_code or args['lang code'] or 'en' local username = args[3] or args.username or mw.title.getCurrentTitle().rootText local gender = args.gender or username local display_lang = args.display_lang or args['display lang'] local userbox_args = { ['border-c'] = '#bbbbbb', ['id'] = args.image or project_image(prefix), ['id-c'] = '#ffffff', ['info'] = project_text(prefix, lang_code, username, gender, display_lang, frame), ['info-c'] = '#f6f6f6', ['usercategory'] = args.usercategory, ['usercategory2'] = args.usercategory2, ['usercategory3'] = args.usercategory3, ['nocat'] = args.nocat } return mw.getCurrentFrame():expandTemplate { ['title'] = 'Userbox sister project', ['args'] = userbox_args } --return userbox(userbox_args) end function p.user_wikimedia_project(frame) return p._user_wikimedia_project(getArgs(frame), frame) end return p
US