Permanently protected module

모듈:언어

Module

요구하다('''비공식''') 현지의 m_data = mw.로드 데이터("모듈:언어/데이터") 현지의 langData = m_data.언어들 또는 m_data  현지의 p = {}  현지의 기능. 비어 있지 않은 경우(가치)  한다면 가치 == "" 그리고나서   돌아가다 영의  또 다른   돌아가다 가치  끝. 끝.  현지의 기능. 연결 이름 만들기(언어 코드)  현지의 데이터. = langData[언어 코드]  현지의 기사 = 데이터.["기사"]  현지의 이름. = 데이터.["Wikipedia_name"] 또는 데이터.["이름"]  돌아가다 "[[" .. 기사 .. " " .. 이름. .. "]:&nbsp; 끝.  현지의 기능. makeEntryName(단어, 언어 코드)  현지의 데이터. = langData[언어 코드]  현지의 우그수브 = mw.ustring.gsub  단어 = 끈으로 묶는(단어)  한다면 단어 == 영의 그리고나서   오류("makeEntryName 함수에는 문자열 인수가 필요합니다.")  그렇지 않으면 단어 == "" 그리고나서   돌아가다 ""  또 다른   굵게 표시된 단어와 기울임꼴을 제거하여 굵게 표시되거나 강조 표시된 단어를 파이프 없이 연결할 수 있습니다.   단어 = 단어:gsub("\'\'\'", "")   단어 = 단어:gsub("\'\'", "")   한다면 데이터. == 영의 그리고나서    돌아가다 단어   또 다른    현지의 대체품 = 데이터. 그리고. 데이터.["교체"]    한다면 대체품 == 영의 그리고나서     돌아가다 단어    또 다른     다음과 같은 문자의 분음 부호가 되도록 분해합니다.     á는 한 번에 제거할 수 있습니다.     MediaWiki 소프트웨어 때문에 마지막에 작성할 필요가 없습니다.     그걸 처리할 겁니다     한다면 대체품.분해하다 그리고나서      단어 = mw.ustring.NFD로(단어)      위해서 i, 부터  짝을 짓다(대체품.부터) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다       단어 = 우그수브(        단어,        부터,        대체품.로. 그리고. 대체품.로.[i] 또는 "")      끝.     또 다른      위해서 정규 표현식, 대체의  쌍들(대체품) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다       단어 = 우그수브(단어, 정규 표현식, 대체의)      끝.     끝.     돌아가다 단어    끝.   끝.  끝. 끝.  p.makeEntryName = makeEntryName  현지의 기능. fixScriptCode(첫 글자, 세 글자)  돌아가다 현.상단(첫 글자) .. 스트링.하의(세 글자) 끝.  현지의 기능. 코드 가져오기(법전, 본문)  현지의 언어 코드, 스크립트 코드, 잘못된 코드  현지의 오류 텍스트  한다면 법전 == 영의 또는 법전 == "" 그리고나서   오류 텍스트 = '언어 또는 스크립트 코드가 제공되지 않음'  그렇지 않으면 법전:찾아내다("^%a%a%a?$") 또는 법전:찾아내다("^%a%a%a?%-%a%a%a$") 그리고나서   첫 번째 매개 변수의 시작 부분에 있는 세 글자 또는 두 글자의 소문자 시퀀스   언어 코드 =    법전:찾아내다("^%a%a%a?") 그리고. (     법전:경기("^(%l%l%l?)")     또는 법전:경기("^(%a%a%a?)")      :gsub("(%a%a%a?)", 스트링.하의, 1)    )   첫 번째 매개 변수 끝에 대문자 하나와 소문자 세 개   스크립트 코드 =    법전:찾아내다("%a%a%a$") 그리고. (     법전:경기("(%u%l%l%l)$")     또는 gsub(      법전:경기("(%a%a%a%a)$"),      "(%a)(%a%a%a)",      fixScriptCode,      1     )    )  그렇지 않으면 법전:찾아내다("^%a%a%a?%-%a%a%a?$")  또는 법전:찾아내다("^%a%a%a%-%a%a%a%a$") 그리고나서   언어 코드 = 법전    개인용 하위 태그: x 뒤에 소문자 1-8개의 하나 이상의 시퀀스가 표시됩니다.  하이픈으로 구분된 문자이는 하나의 시퀀스만 허용합니다.  in-x-proto(프로토-인도유럽어)와 같은 프로토 언어에 필요합니다.  그렇지 않으면 법전:찾아내다("^%a%a%a?%-x%-%a%a?%a?%a?%a?%a?%a?%a?%a?%a?$") 그리고나서   언어 코드, 스크립트 코드 =    법전:경기("^(%a%a%a%-x%-%a%a?%a?%a?%a?%a?%a?%a?)%-?(*))   한다면 것은 아니다. 언어 코드 그리고나서    오류 텍스트 = '<코드>'..법전..'/code'는 올바른 언어 또는 스크립트 코드가 아닙니다.'   그렇지 않으면 스크립트 코드 ~= "" 그리고. 것은 아니다. 스크립트 코드:찾아내다(%a%a%a%a") 그리고나서    오류 텍스트 = '<코드>'..스크립트 코드..'/code'는 올바른 스크립트 코드가 아닙니다.'   또 다른    스크립트 코드 = 스크립트 코드:gsub(     "(%a)(%a%a%a)",     fixScriptCode,     1    )   끝.  그렇지 않으면 법전:찾아내다("^%a%a%a?") 그리고나서   언어 코드, 잘못된 코드 = 법전:경기("^(%a%a%a?)%-?(*)")   언어 코드 = 스트링.하의(언어 코드)   오류 텍스트 = '<코드>'..잘못된 코드..'/code'는 올바른 스크립트 코드가 아닙니다.'  그렇지 않으면 법전:찾아내다(%-?%a%a%a$") 그리고나서   잘못된 코드, 스크립트 코드 = 법전:경기("(*)%-?(%a%a%a%a)$")   스크립트 코드 = gsub(    스크립트 코드,    "(%a)(%a%a%a)",    fixScriptCode   )   오류 텍스트 = '<코드>'..잘못된 코드..'/code'는 올바른 언어 코드가 아닙니다.'  또 다른   오류 텍스트 = '<코드>'..법전..'/code'는 올바른 언어 또는 스크립트 코드가 아닙니다.'  끝.  한다면 것은 아니다. 스크립트 코드 또는 스크립트 코드 == "" 그리고나서   스크립트 코드 = 요구하다("모듈:유니코드 데이터").is_라틴어(본문) 그리고. "라튼" 또는 "스캐너덜너덜  끝.  한다면 오류 텍스트 그리고나서   오류 텍스트 = <span style="slap-size: smaller">[' .. 오류 텍스트 .. '[/span]  또 다른   오류 텍스트 = ""  끝.  언어 코드 = m_data.리디렉션[언어 코드] 또는 언어 코드  돌아가다 언어 코드, 스크립트 코드, 오류 텍스트 끝.  현지의 기능. 꼬리표를 달다(본문, 언어 코드, 대본, 이탤릭체)  현지의 데이터. = langData[언어 코드]  예를 들어, 위키백과 코드가 제공된 경우 사용합니다.  인도유럽조어는 "in-pro"라는 위키백과 코드를 가지고 있지만 위키백과는  코드 "in-x-discovery"  언어 코드 = 데이터. 그리고. 데이터..위키백과_코드 또는 언어 코드    현지의 이탤릭체로 하는 = 대본 == "라튼" 그리고. 이탤릭체    한다면 것은 아니다. 본문 그리고나서 본문 = "[문자?]" 끝.    현지의 텍스트 방향 표시기 = { "", "", "" }  한다면 데이터. 그리고. 데이터.["방향"] == "rtl" 그리고나서   텍스트 방향 표시기 = { dir="rtl", '&rlm;', '&lrm;' }  끝.    현지의 나가. = { 텍스트 방향 표시기[2] }  한다면 이탤릭체로 하는 그리고나서   표.삽입(나가., "< i lang=\"" .. 언어 코드 .. "\"" .. 텍스트 방향 표시기[1] .. ">" .. 본문 .. "/i")  또 다른   표.삽입(나가., "<span lang=\"" .. 언어 코드 .. "\"" .. 텍스트 방향 표시기[1] .. ">" .. 본문 .. "</span>")  끝.  표.삽입(나가., 텍스트 방향 표시기[3])    돌아가다 테이블.콘캣(나가.) 끝.    기능. p.랑그()  현지의 부모 = :상위 항목 가져오기()  현지의 논병아리 = 부모.논병아리[1] 그리고. 부모.논병아리 또는 .논병아리    현지의 법전 = 논병아리[1] 그리고. mw.본문.다듬다(논병아리[1])  현지의 본문 = 논병아리[2] 또는 오류("두 번째 매개 변수에 텍스트 제공")    현지의 언어 코드, 스크립트 코드, 오류 텍스트 = 코드 가져오기(법전, 본문)    현지의 이탤릭체 = 논병아리.이탤릭체 또는 논병아리.i 또는 논병아리.이탤릭체의  이탤릭체 = 것은 아니다. (이탤릭체 == "n" 또는 이탤릭체 == "-" 또는 이탤릭체 == "아니오")    돌아가다 꼬리표를 달다(본문, 언어 코드, 스크립트 코드, 이탤릭체) .. 오류 텍스트 끝.  현지의 기능. Wiktionary에 연결(엔트리, 링크 텍스트, 언어 코드)  현지의 데이터. = langData[언어 코드]  현지의 이름.  한다면 언어 코드 그리고나서   한다면 데이터. 그리고. 데이터..이름. 그리고나서    이름. = 데이터..이름.   또 다른    다른 언어의 위키에서는 mw.getContentLanguage():getCode()를 사용합니다.    또는 'en'을 해당 Wiki의 언어 코드로 대체합니다.    이름. = mw.언어.fetchLanguageName(언어 코드, en)    한다면 이름. == "" 그리고나서     오류("언어 코드 이름" .. ("%q"):서식을(언어 코드 또는 영의)      .. mw.language로 검색할 수 없습니다.fetchLanguageName, "      .. "모듈에 추가해야 합니다.언어/데이터]")    끝.   끝.   한다면 엔트리:후보선수(1, 1) == "*" 그리고나서    한다면 이름. ~= "" 그리고나서     엔트리 = "재구성:" .. 이름. .. "/" .. 엔트리:후보선수(2)    또 다른     오류("언어 이름이 비어 있습니다.")    끝.   그렇지 않으면 데이터. 그리고. 데이터..유형 == "재구성된" 그리고나서    mw.로그.("별표 없이 재구성된 언어:", 언어 코드, 이름., 엔트리)    현지의  = mw.현재 프레임 가져오기()    별표가 없는 재구성된 항목을 제외하고 추적합니다.    존재하지 않는 템플릿이 기술은 Wiktionary에서 사용됩니다.    다음을 참조하십시오.모듈:디버그]]].    [[특별]:WhatLinksHere/추적/wikt-lang/별표 없이 재구성됨]    pcall(.확장템플릿, ,     { 제목 = '별표 없이 표시됨/표시되지 않음/구분됨' })    한다면 이름. ~= "" 그리고나서     엔트리 = "재구성:" .. 이름. .. "/" .. 엔트리    또 다른     오류("언어 이름이 비어 있습니다.")    끝.   그렇지 않으면 데이터. 그리고. 데이터..유형 == "스캐너덜너덜 그리고나서    한다면 이름. ~= "" 그리고나서     엔트리 = "부록:" .. 이름. .. "/" .. 엔트리    또 다른     오류("언어 이름이 비어 있습니다.")    끝.   끝.   한다면 엔트리 그리고. 링크 텍스트 그리고나서    돌아가다 "[twittert: .. 엔트리 .. "#" .. 이름. .. " " .. 링크 텍스트 .. "]]"   또 다른    오류("linkToWiktionary에는 Wiktionary 항목이나 링크 텍스트 또는 둘 다 필요합니다.")   끝.  또 다른   돌아가다 "[twittert: .. 엔트리 .. " " .. 링크 텍스트 .. "]]"  끝. 끝.  기능. p.위키트랑()  현지의 부모 = :상위 항목 가져오기()  현지의 논병아리 = 부모.논병아리[1] 그리고. 부모.논병아리 또는 .논병아리    현지의 법전 = 논병아리[1] 그리고. mw.본문.다듬다(논병아리[1])  현지의 단어1 = 비어 있지 않은 경우(논병아리[2])  현지의 단어2 = 비어 있지 않은 경우(논병아리[3])    한다면 것은 아니다. 논병아리[2] 그리고나서   오류("매개 변수 2가 필요합니다.")  끝.    현지의 언어 코드, 스크립트 코드, 오류 텍스트 = 코드 가져오기(법전, 단어2 또는 단어1)    현지의 이탤릭체 = 논병아리.이탤릭체 또는 논병아리.i 또는 논병아리.이탤릭체의  이탤릭체 = 것은 아니다. (이탤릭체 == "n" 또는 이탤릭체 == "-" 또는 이탤릭체 == "아니오")    현지의 엔트리, 링크 텍스트  한다면 단어2 그리고. 단어1 그리고나서   엔트리 = makeEntryName(단어1, 언어 코드)   링크 텍스트 = 단어2  그렇지 않으면 단어1 그리고나서   엔트리 = makeEntryName(단어1, 언어 코드)   링크 텍스트 = 단어1  끝.    현지의 나가.  한다면 언어 코드 그리고. 엔트리 그리고. 링크 텍스트 그리고나서   나가. = 꼬리표를 달다(Wiktionary에 연결(엔트리, 링크 텍스트, 언어 코드), 언어 코드, 스크립트 코드, 이탤릭체)  그렇지 않으면 엔트리 그리고. 링크 텍스트 그리고나서   나가. = Wiktionary에 연결(엔트리, 링크 텍스트)  또 다른   나가. = '<span style="span-size: smaller;">[text?]'/span'  끝.    한다면 나가. 그리고. 오류 텍스트 그리고나서   돌아가다 나가. .. 오류 텍스트  또 다른   돌아가다 오류 텍스트 또는 오류("wiktlang 함수는 아무것도 생성하지 않았습니다.")  끝. 끝.  기능. p.위키트()  현지의 부모 = :상위 항목 가져오기()  현지의 논병아리 = 부모.논병아리[1] 그리고. 부모.논병아리 또는 .논병아리    현지의 법전 = 논병아리[1] 그리고. mw.본문.다듬다(논병아리[1])  현지의 단어1 = 비어 있지 않은 경우(논병아리[2])  현지의 단어2 = 비어 있지 않은 경우(논병아리[3])    한다면 것은 아니다. 단어1 그리고나서   오류("파라미터 2에 단어를 입력합니다.")  끝.    현지의 언어 코드, 스크립트 코드, 오류 텍스트 = 코드 가져오기(법전, 단어1)    현지의 엔트리, 링크 텍스트  한다면 단어2 그리고. 단어1 그리고나서   엔트리 = makeEntryName(단어1, 언어 코드)   링크 텍스트 = 단어2  그렇지 않으면 단어1 그리고나서   엔트리 = makeEntryName(단어1, 언어 코드)   링크 텍스트 = 단어1  끝.    현지의 나가.  한다면 언어 코드 그리고. 엔트리 그리고. 링크 텍스트 그리고나서   나가. = Wiktionary에 연결(엔트리, 링크 텍스트, 언어 코드)   그렇지 않으면 엔트리 그리고. 링크 텍스트 그리고나서   나가. = Wiktionary에 연결(엔트리, 링크 텍스트)  또 다른   나가. = '<span style="span-size: smaller;">[text?]'/span'  끝.    한다면 나가. 그리고. 오류 텍스트 그리고나서   돌아가다 나가. 그리고. 나가. .. 오류 텍스트  또 다른   돌아가다 오류 텍스트 또는 오류("wikt 함수는 아무것도 생성하지 않았습니다.")  끝. 끝.  돌아가다 p