모듈:언어/샌드박스

Module
요구하다("스캐너덜너덜) 현지의 m_data = mw.로드 데이터("모듈:언어/데이터/샌드박스") 현지의 lang 모듈 = 요구하다("모듈:언어/샌드박스") 현지의 langData = m_data.언어들 또는 m_data  현지의 줄들 = {  ["재구성"] = "재구성: %s/%s",  ["부록"] = "부록: %s/%s",  ["링크"] = "[timeout:%s %s]",  ["PIPED_LINK"] = "[%s#%s %s]", }  현지의 errorMessages = {  ["아니오_언어_코드"] = "언어 코드 없음.",  ["아니오_위키토리_엔트리"] = "Wiktionary 항목이 없습니다.,  ["LANGUAL_NAME_FOR_CODE_NOT_Found"] = "언어 코드 <code>%s</code>의 언어 이름을 찾을 수 없습니다.", }  현지의 추적 카테고리 = {  ["오류_카테고리"] = "[카테고리:언어 모듈 오류]",  ["재구성_WITH_NO_ASTERisk"] = "[카테고리:언어 모듈이 별표 없이 재구성됨]",  ["USING_REDIRECT_CODE"] = "[카테고리:리디렉션 코드를 사용하는 언어 모듈]", }  현지의 활성 추적 범주 = {}  현지의 p = {}   --[--------------------------------< GET _ ER OR _ MESAGE > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  메시지 텍스트 및 오류 범주에서 오류 메시지를 조립합니다.  ]]  현지의 기능. 오류 메시지 가져오기(메세지)  돌아가다 string.형식('<span style="font-size: 100%, 글꼴-style: normal;" class="error"> 오류: %s</span>', 메세지) .. 추적 카테고리["오류_카테고리"] 끝.   --[----------------------------< GET _ CODE > ----------------------------------------------------------------------------------------------------------------------------------  이 기능은 사용된 코드가 리디렉션 코드인지 확인합니다. 이 경우 코드가 리디렉션되지 않는 버전으로 복구됩니다.  ]]  현지의 기능. 코드 가져오기(코드)  현지의 리디렉션 코드 = m_data.리디렉션[코드]  한다면 리디렉션 코드 그리고나서   코드 = 리디렉션 코드   표.삽입(활성 추적 범주, 추적 카테고리["USING_REDIRECT_CODE"])  끝.   돌아가다 코드 끝.    --[------------------------------< CL AAN _ TEX T > ------------------------------------------------------------------------------------------------------------------------------------------  이 기능은 굵은 글씨와 기울임꼴을 제거하여 텍스트를 정리합니다. 사용되는 언어가 /data 하위 모듈에도 특수 대체어가 있는 경우, 프로세스를 계속하기 위해 데이터를 사용합니다.  ]]  현지의 기능. 깨끗한 텍스트(본문, 언어 코드)  현지의 데이터. = langData[언어 코드]  본문 = 끈으로 묶는(본문)   굵게 표시된 단어와 기울임꼴을 제거하여 굵게 표시되거나 강조 표시된 단어를 파이프 없이 연결할 수 있습니다.  본문 = 본문:gsub("\'\'\'", "")  본문 = 본문:gsub("\'\'", "")    언어를 찾을 수 없으면 텍스트를 반환합니다.  한다면 데이터. == 영의 그리고나서   돌아가다 본문  끝.   언어에 분음 부호가 없으면 텍스트를 반환합니다.  현지의 대체품 = 데이터. 그리고. 데이터.["교체"]  한다면 대체품 == 영의 그리고나서   돌아가다 본문  끝.   다음과 같은 문자의 분음 부호가 되도록 분해합니다.  á는 한 번에 제거할 수 있습니다.  MediaWiki 소프트웨어 때문에 마지막에 작성할 필요가 없습니다.  그걸 처리할 겁니다  현지의 우그수브 = mw.ustring.gsub  한다면 대체품.분해하다 그리고나서   본문 = mw.ustring.NFD로(본문)   위해서 i, 부터  짝을 짓다(대체품.부터) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    본문 = 우그수브(본문, 부터, 대체품.로. 그리고. 대체품.로.[i] 또는 "")   끝.  또 다른   위해서 정규 표현식, 대체의  쌍들(대체품) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    본문 = 우그수브(본문, 정규 표현식, 대체의)   끝.  끝.   돌아가다 본문 끝.   --[--------------------------------< CRE A TE _ WIK ON A RARY _ LIK > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  이 함수는 Wiktionary 항목에 대한 링크를 만듭니다.  ]]  현지의 기능. Wiktionary 링크 만들기(위키 사전본문, 표시텍스트, 언어 코드)  한다면 언어 코드 그리고나서   현지의 데이터. = langData[언어 코드]   현지의 태그에서 이름 = lang 모듈._name_from_태그({언어 코드})    사용되는 이름은 다음 논리에 따라 결정됩니다.   설정된 경우 /data 하위 모듈의 이름을 사용합니다.   그렇지 않은 경우 모듈의 이름을 사용합니다.설정된 경우 Lang 데이터베이스.   마지막으로 mw.language의 MediaWiki 이름을 사용합니다.fetchLanguageName()입니다.   현지의 이름.   한다면 데이터. 그리고. 데이터..이름. 그리고나서    이름. = 데이터..이름.   그렇지 않으면 태그에서 이름 그리고. 것은 아니다. 태그에서 이름:찾아내다("오류") 그리고나서    이름. = 태그에서 이름   또 다른    다른 언어의 위키에서는 mw.getContentLanguage():getCode()를 사용합니다.    또는 'en'을 해당 Wiki의 언어 코드로 대체합니다.    이름 = mw.language.fetchLanguageName(languageCode, mw.getContentLanguage():getCode())    이름. = mw.언어.fetchLanguageName(언어 코드, en)   끝.    한다면 이름. == "" 그리고나서    돌아가다 오류 메시지 가져오기(string.형식(errorMessages["LANGUAL_NAME_FOR_CODE_NOT_Found"], 언어 코드))   끝.    한다면 위키 사전본문:후보선수(1, 1) == "*" 그리고나서    위키 사전본문 = string.형식(줄들["재구성"], 이름., 위키 사전본문:후보선수(2))    그렇지 않으면 데이터. 그리고. 데이터..유형 == "재구성된" 그리고나서    별표가 없는 재구성된 항목을 제외하고 추적합니다.    표.삽입(활성 추적 범주, 추적 카테고리["재구성_WITH_NO_ASTERisk"])    위키 사전본문 = string.형식(줄들["재구성"], 이름., 위키 사전본문)    그렇지 않으면 데이터. 그리고. 데이터..유형 == "스캐너덜너덜 그리고나서    위키 사전본문 = string.형식(줄들["부록"], 이름., 위키 사전본문)   끝.    돌아가다 string.형식(줄들["PIPED_LINK"], 위키 사전본문, 이름., 표시텍스트)  또 다른   돌아가다 string.형식(줄들["링크"], 위키 사전본문, 표시텍스트)  끝. 끝.   --[-------------------------------------------------------------------------------------------------------------------------------------------------  {wt}}에 대한 진입점입니다.  ]]  기능. p.위키트()  ['no_tag'] = 진실의  돌아가다 p.위키트랑() 끝.   --[-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  {wikt-lang}의 진입점입니다.  ]]  기능. p.위키트랑()  현지의 args를 얻다 = 요구하다('모듈:인수').args를 얻다  현지의 논병아리 = args를 얻다()   현지의 코드 = 논병아리[1] 그리고. mw.본문.다듬다(논병아리[1])  한다면 것은 아니다. 코드 그리고나서   돌아가다 오류 메시지 가져오기(errorMessages["아니오_언어_코드"])  끝.   현지의 위키 사전본문 = 논병아리[2]  한다면 것은 아니다. 위키 사전본문 그리고나서   돌아가다 오류 메시지 가져오기(errorMessages["아니오_위키토리_엔트리"])  끝.   현지의 표시텍스트 = 논병아리[3]  현지의 언어 코드 = 코드 가져오기(코드)   현지의 _, _, _, _, _, 오류 텍스트 = lang 모듈.get_ietf_parts(언어 코드)  한다면 오류 텍스트 그리고나서   돌아가다 오류 메시지 가져오기(오류 텍스트)  끝.   현지의 이탤릭체 = 논병아리.이탤릭체의 또는 논병아리.이탤릭체 또는 논병아리.i   현지의 위키 사전텍스트 치료됨 = 깨끗한 텍스트(위키 사전본문, 언어 코드)   한다면 것은 아니다. 표시텍스트 그리고나서   표시텍스트 = 위키 사전본문  끝.   현지의 위키사전 링크 = Wiktionary 링크 만들기(위키 사전텍스트 치료됨, 표시텍스트, 언어 코드)  한다면 것은 아니다. 논병아리['no_tag'] 그리고나서   현지의 랭아그 = {코드 = 언어 코드, 본문 = 위키사전 링크, 이탤릭체의 = 이탤릭체}   위키사전 링크 = lang 모듈._지루한(랭아그)  끝.    테스트에 사용됨  한다면 논병아리["no_cat"] 그리고나서   돌아가다 위키사전 링크  또 다른   돌아가다 위키사전 링크 .. 테이블.콘캣(활성 추적 범주)  끝. 끝.  돌아가다 p