languages

Эта страница недоступна на других языках.


local languages = mw.loadData("Module:Languages/data") local p = {}  -- вспомогательная функция, удаляет пробелы local function trimstr(s)   return (s:gsub("^%s*(.-)%s*$", "%1")) end  -- получает код языка, возвращает ссылку и нормализованный код языка (или пустые строки) local function get_lang_data(code)     local l = languages[code];     if l ~= nil then         return "[[" .. l[2] .. "|" .. l[1] .. "]]", code     elseif code ~= "" then         return code, ""     else         return "", ""     end end  function p.getRefHtmlFrame( frame ) return p.getRefHtml( trimstr( frame.args[1] ) ) end  function p.getRefHtml( wikidataItemId ) local codeByItemId = mw.loadData( "Module:Wikidata/Language-codes" ) local code = codeByItemId[ wikidataItemId ]; if code == nil then mw.log( 'Language code not found for ' .. wikidataItemId ) return "" else     local l = languages[code]; if l == nil then mw.log( 'Language description for code ' .. code .. ' not found' )         return ""     else         return '.. l[ 2 ] .. '" style="font-size:85%; cursor:help; color:#888;">(' .. l[ 1 ] .. ')'     end end end  -- принимает zh|我|tt|мин, возвращает список через запятую function p.list(frame)     local curr_lang = nil     local result = nil      for n, v in frame:argumentPairs() do       local trimmed = trimstr(v)       if curr_lang == nil then           if trimmed ~= '' then               -- если язык пропущен, оставим прошлый               curr_lang = trimstr(v)           end       else           if trimmed ~= '' then               local link, lang_code = get_lang_data(curr_lang)               local list_item               if lang_code ~= '' then                   list_item = link .. " " .. trimmed .. ""               else                   list_item = link .. " " .. trimmed .. ""               end                          if result == nil then                   result = list_item               else                   result = result .. ", " .. list_item               end           else               -- Пустой текст — значит, текущий язык совпадает с следующим               local link, lang_code = get_lang_data(curr_lang)               if result == nil then                   result = link               else                   result = result .. ", " .. link               end           end                      curr_lang = nil       end     end          -- просто #invoke:Languages|list|yue должно возвращать всё же ссылку без текста     if curr_lang ~= nil then         local link, lang_code = get_lang_data(curr_lang)         if result ~= nil then             result = result .. ", " .. link         else             result = link         end     end     return result end   return p 

Tags:

'

🔥 Trending searches on Wiki Аԥсуа:

Аԥшьаша1975Папуа-Гвинеиа ҿыц1940Аладатәи АфрикаӔАқалақьПекин 20221955Ҳ. ҟ. 1792701Судан2009Асоветтә Социалисттә Республикақәа Реидгыла496ԤхынгәымзаУрыстәылаРичард I АлымгәыЖьҭаарамза 11691653Араб бызшәаАҳәынҭқарратә агербқәа рыхьӡынҵаРашәарамзаКурувАԥсны ахьыԥшымра жәларбжьаратәи азхаҵара19531874УкраинаТҟәарчалԤхынгәымза 111972Ҳ. ҟ. 3401864ВиетнамАамҭаЛондонЦәыббрамзаАаԥын112831989Аестон бызшәаΨМарокко1828Еинштеин, Алберт1299Сиерра-ЛеонеҲаитиАацы2024Имереҭи199186ГерманиаОктавиан АвгустГана17521674Аиҭаира18691556🡆 More