모듈:다국어/샌드박스

Module
현지의 다국어 = { 스위트룸   = "다국어",         연재의  = "2020-12-10",         항목 = 47541920,         세계적인 = { ISO15924 = 71584769,            WLink = 19363224 }       } --[=[ 다국어 텍스트 및 ISO 639(BCP47) 문제 등에 대한 유틸리티. 공정한 폴백 findCode() 고치다, 고치다, 고치다, 고치다, 고치다, 고치다 형식() getBase() get Lang() getName() i18n() 1927년에 is Lang() is LangWiki() 생략 가능() isRTL() 메시지 » 사이트 링크 » tabData() userLang() userLangCode() 위키베이스 » 페일 세이프 로드 데이터: 다국어/구성 다국어/이름 ]=] 현지의 페일세이프   = 다국어 현지의 전역 모드  = 다국어 현지의 글로벌 데이터 = 다국어 현지의 사용자    = { 냄새를 맡다 = "미리 보기 표시" } 다국어.세계적인.다국어 = 다국어.항목    다국어.이국적인 = { 간단하죠. = 진실의,       아니요.  = 진실의 } 다국어.선호하다 = { cs = 진실의,        = 진실의,        = 진실의,       es = 진실의,       프루 = 진실의,       그것 = 진실의,       nl = 진실의,       pt의 = 진실의,        = 진실의,       sv = 진실의 }  현지의 외부 모듈 = 기능.(접근, 고급., 덧셈을 하다, 알트의, 기민한)  글로벌 모듈 가져오기  전제 조건:  액세스 - 기본 모듈의 이름을 가진 문자열  고급 - require()에 대해 true이고, 그렇지 않으면 mw.loadData()입니다.  append -- 문자열(하위 페이지 부분이 있는 경우) 또는 false  alt -- 루트의 위키데이터 항목 수 또는 false  alert --true, 데이터 문제에 오류를 발생시키는 경우  사후 조건:  무엇이든, 아마도 테이블을 반환합니다.  -- 2020-01-01  현지의 보관소 = 접근  현지의 미세한 = 기능.()   한다면 덧셈을 하다 그리고나서    보관소 = string.형식(%s/%s", 보관소, 덧셈을 하다)   끝.   끝.  현지의 재밌어요, 운이 좋은, r, 적합한  한다면 고급. 그리고나서   재밌어요 = 요구하다  또 다른   재밌어요 = mw.로드 데이터  끝.  전역 모드.글로벌 모듈 = 전역 모드.글로벌 모듈 또는 {}  적합한 = 전역 모드.글로벌 모듈[접근]  한다면 것은 아니다. 적합한 그리고나서   미세한()   운이 좋은, r = pcall(재밌어요,  "모듈:" .. 보관소)  끝.  한다면 것은 아니다. 운이 좋은 그리고나서   한다면 것은 아니다. 적합한 그리고.      유형(알트의) == "숫자" 그리고.      알트의 > 0 그리고나서    적합한 = string.형식("Q%d", 알트의)    적합한 = mw.위키베이스.사이트 링크 가져오기(적합한)    전역 모드.글로벌 모듈[접근] = 적합한 또는 진실의   끝.   한다면 유형(적합한) == "문자열" 그리고나서    보관소 = 적합한    미세한()    운이 좋은, r = pcall(재밌어요, 보관소)   끝.   한다면 것은 아니다. 운이 좋은 그리고. 기민한 그리고나서    오류("누락 또는 잘못된 페이지:" .. 보관소)   끝.  끝.  돌아가다 r 끝. 외부 모듈()  현지의 데이터 가져오기 = 기능.(접근)  공용에서 번역된 키워드 검색:데이터:****.탭  전제 조건:  액세스 -- 문자열, Commons에서 페이지 식별이 있는 경우  데이터가 있는 테이블 또는 오류 메시지가 있는 문자열을 반환합니다.  -- 2019-12-05  현지의 보관소 = 접근  현지의 r  한다면 유형(보관소) == "문자열" 그리고나서   현지의 s   보관소 = mw.본문.다듬다(보관소)   s = 보관소:더 낮게()   한다면 s:후보선수(1, 2) == "c:" 그리고나서    보관소 = mw.본문.다듬다(보관소:후보선수(3))    s = 보관소:더 낮게()   그렇지 않으면 s:후보선수(1, 8) == "수정:" 그리고나서    보관소 = mw.본문.다듬다(보관소:후보선수(9))    s = 보관소:더 낮게()   끝.   한다면 s:후보선수(1, 5) == "데이터:" 그리고나서    보관소 = mw.본문.다듬다(보관소:후보선수(6))    s = 보관소:더 낮게()   끝.   한다면 s == "" 또는 s == ".tab" 그리고나서    보관소 = 거짓의   그렇지 않으면 s:후보선수(-4) == ".tab" 그리고나서    보관소 = 보관소:후보선수(1, -5) .. ".tab"   또 다른    보관소 = 보관소 .. ".tab"   끝.  끝.  한다면 유형(보관소) == "문자열" 그리고나서   현지의 데이터.   한다면 유형(글로벌 데이터.탭 데이터) ~= "테이블" 그리고나서    글로벌 데이터.탭 데이터 = {}   끝.   데이터. = 글로벌 데이터.탭 데이터[보관소]   한다면 데이터. 그리고나서    r = 데이터.   또 다른    현지의 운이 좋은    운이 좋은, 데이터. = pcall(mw.다음의.데이터..얻다, 보관소, "_")    한다면 유형(데이터.) == "테이블" 그리고나서     데이터. = 데이터..데이터.     한다면 유형(데이터.) == "테이블" 그리고나서      글로벌 데이터.탭 데이터[보관소] = 데이터.     또 다른      r = string.형식("%s [%s %s]",             "잘못된 데이터:* 탭",             "선택:데이터:",             보관소)     끝.    또 다른     r = "잘못된 페이지 데이터:*탭 &#8211; 공통:" .. 보관소    끝.    한다면 r 그리고나서     글로벌 데이터.탭 데이터[보관소] = r     데이터. = 거짓의    또 다른     r = 데이터.    끝.   끝.  또 다른   r = "나쁜 페이지 공통점:데이터:*.tab"  끝.  돌아가다 r 끝. 데이터 가져오기()  현지의 마음에 드는 것들 = 기능.()  예비 코드 제공  사후 조건:  기본 언어 순서가 포함된 테이블을 반환합니다.  * 전방 요소  * 사용자(아직 액세스할 수 없음)  * 페이지 내용 언어(아직 액세스할 수 없음)  * 페이지 이름 하위 페이지  * 프로젝트  * en  현지의 r = 다국어.폴리글롯  한다면 것은 아니다. r 그리고나서   현지의 자신 = mw.언어.콘텐츠 언어 가져오기():코드 가져오기():더 낮게()   현지의 후보선수  = mw.제목.현재 제목 가져오기().하위 페이지텍스트   현지의 f = 기능.(더하다)    현지의 s = 더하다    위해서 i = 1, #r 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     한다면 r[i] == s 그리고나서      s = 거짓의      브레이크. 나를 위하여     끝.    끝. 나를 위하여    한다면 s 그리고나서     표.삽입(r, s)    끝.   끝.   r = {}   한다면 후보선수:찾아내다("/", 2, 진실의) 그리고나서    후보선수 = 후보선수:경기("/(%l%l%l?)$")    한다면 후보선수 그리고나서     표.삽입(r, 후보선수)    끝.   그렇지 않으면 후보선수:찾아내다("^%l%l%l?%-?%a?%a?%a?%a?%a?%a?$") 그리고.       mw.언어.지원되는 언어(후보선수) 그리고나서    표.삽입(r, 후보선수)   끝.   f(자신)   f("en")   다국어.폴리글롯 = r  끝.  돌아가다 r 끝. 즐겨찾기  현지의 실현 가능한 = 기능.(물어보다, 수락)  애플리케이션에서 지원을 요청합니까?  전제 조건:  ask -- 소문자 코드  accept -- 제공된 소문자 코드가 있는 시퀀스 테이블  사후 조건:  제로 또는 참  현지의 r  위해서 i = 1, #수락 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 수락[i] == 물어보다 그리고나서    r = 진실의    브레이크. 나를 위하여   끝.  끝. 나를 위하여  돌아가다 r 끝. 실현 가능한  현지의 가지고 오다 = 기능.(접근, 덧셈을 하다)  구성 또는 라이브러리 모듈 연결  전제 조건:  액세스 - 모듈 제목  append -- 문자열, 하위 페이지 부분 또는 false  사후 조건:  반환: 테이블, 라이브러리 포함 또는 false  현지의 얻었다, 서명하다  한다면 덧셈을 하다 그리고나서   서명하다 = string.형식(%s/%s", 접근, 덧셈을 하다)  또 다른   서명하다 = 접근  끝.  한다면 유형(다국어.다음의) ~= "테이블" 그리고나서   다국어.다음의 = {}  끝.  얻었다 = 다국어.다음의[서명하다]  한다면 얻었다 == 영의 그리고나서   현지의 세계적인 = 다국어.세계적인[접근]   현지의 lib = (것은 아니다. 덧셈을 하다 또는 덧셈을 하다 == "config")   얻었다 = 외부 모듈(접근, lib, 덧셈을 하다, 세계적인)   한다면 유형(얻었다) == "테이블" 그리고나서    한다면 lib 그리고나서     현지의 스타트업 = 얻었다[접근]     한다면 유형(스타트업) == "함수" 그리고나서      얻었다 = 스타트업()     끝.    끝.   또 다른    얻었다 = 거짓의   끝.   다국어.다음의[서명하다] = 얻었다  끝.  돌아가다 얻었다 끝. ()를 가져오다  현지의 fetch ISO639 = 기능.(접근)  공용에서 테이블 검색:데이터: ISO639/*** 탭  전제 조건:  액세스 - 하위 페이지 ID가 있는 문자열  사후 조건:  데이터가 있는 테이블(비록 비어 있는 경우)을 반환  현지의 r  한다면 유형(다국어.iso639) ~= "테이블" 그리고나서   다국어.iso639 = {}  끝.  r = 다국어.iso639[접근]  한다면 유형(r) == "스캐너덜너덜 그리고나서   현지의 날것의 = 데이터 가져오기("ISO639/" .. 접근)   한다면 유형(날것의) == "테이블" 그리고나서    현지의 t    r = {}    위해서 i = 1, #날것의 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     t = 날것의[i]     한다면 유형(t) == "테이블" 그리고.        유형(t[1]) == "문자열" 그리고.        유형(t[2]) == "문자열" 그리고나서      r[t[1]] = t[2]     또 다른      브레이크. 나를 위하여     끝.    끝. 나를 위하여   또 다른    r = 거짓의   끝.   다국어.iso639[접근] = r  끝.  돌아가다 r 또는 {} 끝. 가져오다ISO639()  현지의 채우다 = 기능.(접근, 외계의, )  언어 이름 템플릿 확장  전제 조건:  액세스 - 문자열, 언어 코드 포함  외계인 -- 생성될 언어 코드  frame -- 프레임(사용 가능한 경우)  사후 조건:  문자열을 반환  현지의 템플릿 = 다국어.tmplLang  한다면 유형(템플릿) ~= "테이블" 그리고나서   현지의 cnf = 가지고 오다("다국어", "config")   한다면 cnf 그리고나서    템플릿 = cnf.tmplLang   끝.  끝.  한다면 유형(템플릿) == "테이블" 그리고나서   현지의 원천 = 템플릿.제목   현지의 f, 운이 좋은, s   다국어.tmplLang = 템플릿   한다면 유형(원천) ~= "문자열" 그리고.      유형(템플릿.네임 팻) == "문자열" 그리고.      템플릿.네임 팻:찾아내다("%s", 1, 진실의) 그리고나서    원천 = string.형식(템플릿.네임 팻, 접근)   끝.   한다면 유형(원천) == "문자열" 그리고나서    한다면 것은 아니다. 다국어. 그리고나서     다국어. =  또는 mw.현재 프레임 가져오기()    끝.    f = 기능.(a)     돌아가다 다국어.:확장템플릿{ 제목 = a }    끝.    운이 좋은, s = pcall(f, 원천)    한다면 운이 좋은 그리고나서     돌아가다 s    끝.   끝.  끝.  돌아가다 영의 끝. 가득 채우다  현지의 찾아내다 = 기능.(물어보다, 외계의)  이름에서 언어 코드 파생  전제 조건:  ask -- 언어 이름, 대소문자 구분  외계인 -- 질문의 언어 코드  사후 조건:  0 또는 문자열  현지의 법전 = mw.언어.언어 이름 가져오기(외계의, "모두")  현지의 r  위해서 k, v  쌍들(법전) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 mw.ustring.더 낮게(v) == 물어보다 그리고나서    r = k    브레이크. 포크, v   끝.  끝. 포크, v  한다면 것은 아니다. r 그리고나서   r = 다국어.공정한(물어보다)  끝.  돌아가다 r 끝. 을 발견하다    현지의 접이식의 = 기능.()  템플릿 및 #invoke 인수 목록 병합  전제 조건:  프레임 - 템플릿 프레임  사후 조건:  표, 결합된 Argist 포함  현지의 r = {}  현지의 f = 기능.(적용합니다.)   한다면 유형(적용합니다.) == "테이블" 그리고.    유형(적용합니다..논병아리) == "테이블" 그리고나서    위해서 k, v  쌍들(적용합니다..논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     v = mw.본문.다듬다(v)     한다면 v ~= "" 그리고나서      r[끈으로 묶는(k)] = v     끝.    끝. 포크, v   끝.   끝. f() ▁f  f(:상위 항목 가져오기())  f()  돌아가다 r 끝. 접다  사용자.편애하는 = 기능.(수락, )  사용자 언어 추측  전제 조건:  accept -- 시퀀스 테이블(제공된 ISO 639 등)  frame -- 프레임(사용 가능한 경우)  사후 조건:  최상의 코드 또는 nil로 문자열을 반환합니다.  한다면 것은 아니다. (사용자.자신 또는 사용자.랭스) 그리고나서   한다면 것은 아니다. 사용자.시련 그리고나서    사용자.말하다 = mw.메세지.신규(사용자.냄새를 맡다)    한다면 사용자.말하다:존재한다() 그리고나서     사용자.시련 = {}     한다면 것은 아니다. 다국어. 그리고나서      한다면  그리고나서       다국어. =       또 다른       다국어. = mw.현재 프레임 가져오기()      끝.     끝.     사용자.죄악 = 다국어.:콜 파서 함수("int",                  사용자.냄새를 맡다)    또 다른     사용자.랭스 = 진실의    끝.   끝.   한다면 사용자.죄악 그리고나서    현지의 주문  = {}    현지의 포스트.   = {}    현지의 세개  = {}    현지의 펼치다 = {}    현지의 s, 죄악    위해서 i = 1, #수락 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     s = 수락[i]     한다면 것은 아니다. 사용자.시련[s] 그리고나서      한다면 #s > 2 그리고나서       한다면 s:찾아내다("-", 3, 진실의) 그리고나서        표.삽입(펼치다, s)       또 다른        표.삽입(세개, s)       끝.      그렇지 않으면 다국어.선호하다[s] 그리고나서       표.삽입(주문, s)      또 다른       표.삽입(포스트., s)      끝.     끝.    끝. 나를 위하여    위해서 i = 1, #포스트. 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     표.삽입(주문, 포스트.[i])    끝. 나를 위하여    위해서 i = 1, #세개 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     표.삽입(주문, 세개[i])    끝. 나를 위하여    위해서 i = 1, #펼치다 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     표.삽입(주문, 펼치다[i])    끝. 나를 위하여    위해서 i = 1, #주문 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     s = 주문[i]     죄악 = 사용자.말하다:언어로(s):평지()     한다면 죄악 == 사용자.죄악 그리고나서      사용자.자신 = s      브레이크. 나를 위하여     또 다른      사용자.시련[s] = 진실의     끝.    끝. 나를 위하여   끝.  끝.  돌아가다 사용자.자신 끝. User.favorize()  다국어.공정한 = 기능.(물어보다)  RFC 5646 등에 따라 언어 사양을 포맷합니다.  전제 조건:  ask -- .getLang()이 만든 문자열 또는 테이블  사후 조건:  문자열 또는 false를 반환합니다.  현지의 s = 유형(물어보다)  현지의 q, r  한다면 s == "테이블" 그리고나서   q = 물어보다  그렇지 않으면 s == "문자열" 그리고나서   q = 다국어.랭을 얻다(물어보다)  끝.  한다면 q 그리고.     q.합법적인 그리고.     mw.언어.isKnownLanguageTag(q.기초) 그리고나서   r = q.기초   한다면 q.n > 1 그리고나서    현지의 주문 = { "extlang",        "스크립트",        "지역",        "기타",        "스캐너덜너덜 }    위해서 i = 1, #주문 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     s = q[주문[i]]     한다면 s 그리고나서      r = string.형식(%s-%s", r, s)     끝.    끝. 나를 위하여   끝.  끝.  돌아가다 r 또는 거짓의 끝. 다국어.fair()  다국어.후퇴하는 = 기능.(할 수 있는, 다른)  다른 언어가 대체 언어로 적합합니까?  전제 조건:  able -- 지원되는 언어 버전 지정자  다른 -- 대체 가능한 언어 지정자,  또는 예비 테이블을 검색하지 않습니다.  사후 조건:  부울 또는 폴백 코드가 있는 테이블을 반환합니다.  현지의 r  한다면 유형(할 수 있는) == "문자열" 그리고. #할 수 있는 > 0 그리고나서   한다면 유형(다른) == "문자열" 그리고. #다른 > 0 그리고나서    한다면 할 수 있는 == 다른 그리고나서     r = 진실의    또 다른     현지의 s = 다국어.베이스를 구함(할 수 있는)     한다면 s == 다른 그리고나서      r = 진실의     또 다른      현지의 다른이들 = mw.언어.폴백 가져오기위해서(s)      r = 실현 가능한(다른, 다른이들)     끝.    끝.   또 다른    현지의 s = 다국어.베이스를 구함(할 수 있는)    한다면 s 그리고나서     r = mw.언어.폴백 가져오기위해서(s)     한다면 r[1] == "en" 그리고나서      현지의 d = fetch ISO639("폴백")      한다면 유형(d) == "테이블" 그리고.         유형(d[s]) == "문자열" 그리고나서       r = mw.본문.분열되다(d[s], " ")       표.삽입(r, "en")      끝.     끝.    끝.   끝.  끝.  돌아가다 r 또는 거짓의 끝. 다국어.fallback()  다국어.코드 찾기 = 기능.(물어보다)  로컬(현재 프로젝트 또는 영어) 언어 이름의 코드 검색  전제 조건:  ask -- 언어 이름을 추정할 수 있는 문자열  코드 자체도 식별됩니다.  사후 조건:  문자열 또는 false를 반환합니다.  현지의 추구한다. = mw.본문.다듬다(물어보다)  현지의 r = 거짓의  한다면 #추구한다. > 1 그리고나서   한다면 추구한다.:찾아내다("[", 1, 진실의) 그리고나서    현지의 링크 = 가지고 오다("WLink")    한다면 링크 그리고.       유형(링크.플레인 가져오기) == "함수" 그리고나서     추구한다. = 링크.플레인 가져오기(추구한다.)    끝.   끝.   추구한다. = mw.ustring.더 낮게(추구한다.)   한다면 다국어.is Lang(추구한다.) 그리고나서    r = 다국어.공정한(추구한다.)   또 다른    현지의 수집 = 마음에 드는 것들()    위해서 i = 1, #수집 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     r = 찾아내다(추구한다., 수집[i])     한다면 r 그리고나서      브레이크. 나를 위하여     끝.    끝. 나를 위하여   끝.  끝.  돌아가다 r 끝. 다국어.findCode()  다국어.고치다 = 기능.(시도)  자주 틀리는 언어 코드 수정  전제 조건:  시도 -- 문자열, 추정 가능한 언어 코드  사후 조건:  수정된 문자열을 반환하거나, 알려진 문제가 없으면 false를 반환합니다.  현지의 r = fetch ISO639("수정")[시도:더 낮게()]  돌아가다 r 또는 거짓의 끝. 다국어.fix()  다국어.서식을 = 기능.(적용합니다., 외계의, 바꾸다, 활동적인, 기민한,          , 집회의, 인접한, 앞서.)  하나 이상의 언어 형식 지정  전제 조건:  적용 - 언어 목록 또는 항목이 있는 문자열  외계인 -- 답의 언어.  -- nil, false, "*": 네이티브  -- "!": 현재 프로젝트  -- "#": 코드, 소문자, 공백 구분  -- "-": 코드, 믹스케이스, 공백 구분  -- 유효한 코드  변경 - "c"인 경우 대문자로, "d"인 경우 모두 대문자로 변환  "f"인 경우 첫 번째 항목만 대문자로 표시  "m"인 경우 모든 첫 번째 단어만 다운 대문자로 표시합니다.  활성 - 항목 연결(참인 경우)  alert - 오류가 발생한 경우 범주 제목이 있는 문자열  프레임 - 사용 가능한 경우  어셈블리 - 분할 패턴이 있는 문자열(목록이 필요한 경우)  인접 - 목록 구분 기호가 있는 문자열, 그렇지 않은 경우 어셈블리  앞에 - 첫 번째 요소를 추가하는 문자열(있는 경우)  사후 조건:  문자열을 반환하거나, 적용이 비어 있으면 false를 반환합니다.  현지의 r = 거짓의  한다면 적용합니다. 그리고나서   현지의 속어.   한다면 집회의 그리고나서    현지의 양동이 = mw.본문.분열되다(적용합니다., 집회의)    현지의 교대로 = 바꾸다    현지의 구분자    한다면 인접한 그리고나서     구분자 = 인접한    그렇지 않으면 외계의 == "#" 또는 외계의 == "-" 그리고나서     구분자 = " "    또 다른     구분자 = 집회의    끝.    위해서 k, v  쌍들(양동이) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     속어. = 다국어.서식을(v, 외계의, 교대로, 활동적인,             기민한)     한다면 속어. 그리고나서      한다면 r 그리고나서       r = string.형식(%s%s%s",              r, 구분자, 속어.)      또 다른       r = 속어.       한다면 교대로 == "f" 그리고나서        교대로 = "d"       끝.      끝.     끝.    끝. 포크, v    한다면 r 그리고. 앞서. 그리고나서     r = 앞서. .. r    끝.   또 다른    현지의 싱글 = mw.본문.다듬다(적용합니다.)    한다면 싱글 == "" 그리고나서     r = 거짓의    또 다른     현지의 허수의, 슬롯     속어. = 다국어.코드 찾기(싱글)     한다면 속어. 그리고나서      한다면 외계의 == "-" 그리고나서       r = 속어.      그렇지 않으면 외계의 == "#" 그리고나서       r = 속어.:더 낮게()      또 다른       r = 다국어.이름 가져오기(속어., 외계의)       한다면 활동적인 그리고나서        슬롯 = 채우다(속어., 거짓의, )        한다면 슬롯 그리고나서         현지의 링크 = 가지고 오다("WLink")         한다면 링크 그리고.            유형(링크.대상 가져오기) == "함수" 그리고나서          슬롯 = 링크.대상 가져오기(슬롯)         끝.        또 다른         허수의 = 기민한        끝.       끝.      끝.     또 다른      r = 싱글      한다면 활동적인 그리고나서       현지의 제목 = mw.제목.makeTitle(0, 싱글)       한다면 제목.존재한다 그리고나서        슬롯 = 싱글       끝.      끝.      허수의 = 기민한     끝.     한다면 것은 아니다. r 그리고나서      r = 싱글     그렇지 않으면 바꾸다 == "c" 또는 바꾸다 == "f" 그리고나서      r = mw.ustring.위쪽의(mw.ustring.후보선수(r, 1, 1))       .. mw.ustring.후보선수(r, 2)     그렇지 않으면 바꾸다 == "d" 그리고나서      한다면 다국어.생략 가능(속어., r) 그리고나서       r = mw.ustring.더 낮게(r)      끝.     그렇지 않으면 바꾸다 == "m" 그리고나서      한다면 다국어.생략 가능(속어., r) 그리고나서       r = mw.ustring.더 낮게(mw.ustring.후보선수(r, 1, 1))        .. mw.ustring.후보선수(r, 2)      끝.     끝.     한다면 슬롯 그리고나서      한다면 r == 슬롯 그리고나서       r = string.형식("[%s]", r)      또 다른       r = string.형식("[%s %s]", 슬롯, r)      끝.     끝.     한다면 허수의 그리고. 기민한 그리고나서      r = string.형식("%s[[카테고리:%s]", r, 기민한)     끝.    끝.   끝.  끝.  돌아가다 r 끝. 다국어.형식()  다국어.베이스를 구함 = 기능.(물어보다)  결합된 ISO 언어 코드에서 기본 언어 검색  전제 조건:  묻다 -- 언어 코드  사후 조건:  문자열 또는 false를 반환합니다.  현지의 r  한다면 물어보다 그리고나서   현지의 속어. = 물어보다:경기("^%s*(%a%a%a?)-?%a*%s*$")   한다면 속어. 그리고나서    r = 속어.:더 낮게()   또 다른    r = 거짓의   끝.  또 다른   r = 거짓의  끝.  돌아가다 r 끝. 다국어 .getBase()  다국어.랭을 얻다 = 기능.(물어보다)  RFC 5646 언어 코드의 구성 요소 검색  전제 조건:  ask -- 하위 태그가 있는 언어 코드  사후 조건:  형식이 지정된 하위 태그가 있는 테이블을 반환합니다.  .base  .지역  .script  .tg.  .년  .tg.  .기타  .n  현지의 꼬리표 = mw.본문.분열되다(물어보다, "-")  현지의 s = 꼬리표[1]  현지의 r  한다면 s:경기("^%a%a%a?$") 그리고나서   r = { 기초  = s:더 낮게(),      합법적인 = 진실의,      n  = #꼬리표 }   위해서 i = 2, r.n 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    s = 꼬리표[i]    한다면 #s == 2 그리고나서     한다면 r.지역 또는 것은 아니다. s:경기(%a%a") 그리고나서      r.합법적인 = 거짓의     또 다른      r.지역 = s:위쪽의()     끝.    그렇지 않으면 #s == 4 그리고나서     한다면 s:경기(%a%a%a%a") 그리고나서      r.합법적인 = (것은 아니다. r.대본)      r.대본 = s:후보선수(1, 1):위쪽의() ..           s:후보선수(2):더 낮게()     그렇지 않으면 s:경기("20%d%d") 또는         s:경기("1%d%d%d") 그리고나서      r.합법적인 = (것은 아니다. r.연도)      r.연도 = s     또 다른      r.합법적인 = 거짓의     끝.    그렇지 않으면 #s == 3 그리고나서     한다면 r.과장해서 말하다 또는 것은 아니다. s:경기(%a%a%a") 그리고나서      r.합법적인 = 거짓의     또 다른      r.과장해서 말하다 = s:더 낮게()     끝.    그렇지 않으면 #s == 1 그리고나서     s = s:더 낮게()     한다면 s:경기("[계속]") 그리고나서      r.연장 = s      위해서 k = i + 1, r.n 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다       s = 꼬리표[k]       한다면 s:경기("^%w+$") 그리고나서        r.연장 = string.형식(%s-%s",                r.연장, s)       또 다른        r.합법적인 = 거짓의       끝.      끝. 포크     또 다른      r.합법적인 = 거짓의     끝.     브레이크. 나를 위하여    또 다른     r.합법적인 = (것은 아니다. r.다른.) 그리고.         s:경기(%a%a%a")     r.다른. = s:더 낮게()    끝.    한다면 것은 아니다. r.합법적인 그리고나서     브레이크. 나를 위하여    끝.   끝. 나를 위하여   한다면 r.합법적인 그리고나서    r.제안하다 = 다국어.고치다(r.기초)    한다면 r.제안하다 그리고나서     r.합법적인 = 거짓의    끝.   끝.  또 다른   r = { 합법적인 = 거짓의 }  끝.  한다면 것은 아니다. r.합법적인 그리고나서   현지의 cnf = 가지고 오다("다국어", "config")   한다면 cnf 그리고. 유형(cnf.비명을 지르다) == "문자열" 그리고나서    r.비명을 지르다 = cnf.비명을 지르다   끝.  끝.  돌아가다 r 끝. 다국어.getLang()  다국어.이름 가져오기 = 기능.(물어보다, 외계의)  이 언어 코드에 할당된 이름은 무엇입니까?  전제 조건:  묻다 -- 언어 코드  외계인 -- 답의 언어.  -- nil, false, "*": 네이티브  -- "!": 현재 프로젝트  -- 유효한 코드  사후 조건:  문자열 또는 false를 반환합니다.  현지의 r  한다면 물어보다 그리고나서   현지의 속어.   = 외계의   현지의 tLang   한다면 속어. 그리고나서    한다면 속어. == "*" 그리고나서     속어. = 다국어.공정한(물어보다)    그렇지 않으면 속어. == "!" 그리고나서     속어. = 마음에 드는 것들()[1]    또 다른     속어. = 다국어.공정한(속어.)    끝.   또 다른    속어. = 다국어.공정한(물어보다)   끝.   한다면 것은 아니다. 속어. 그리고나서    속어. = 물어보다 또는 "?????"   끝.   속어. = 속어.:더 낮게()   tLang = 가지고 오다("다국어", "이름")   한다면 tLang 그리고나서    tLang = tLang[속어.]    한다면 tLang 그리고나서     r = tLang[물어보다]    끝.   끝.   한다면 것은 아니다. r 그리고나서    한다면 것은 아니다. 다국어.다음의.tMW 그리고나서     다국어.다음의.tMW = {}    끝.    tLang = 다국어.다음의.tMW[속어.]    한다면 tLang == 영의 그리고나서     tLang = mw.언어.언어 이름 가져오기(속어.)     한다면 tLang 그리고나서      다국어.다음의.tMW[속어.] = tLang     또 다른      다국어.다음의.tMW[속어.] = 거짓의     끝.    끝.    한다면 tLang 그리고나서     r = tLang[물어보다]    끝.   끝.   한다면 것은 아니다. r 그리고나서    r = mw.언어.fetchLanguageName(물어보다:더 낮게(), 속어.)    한다면 r == "" 그리고나서     r = 거짓의    끝.   끝.  또 다른   r = 거짓의  끝.  돌아가다 r 끝. 다국어.getName()  다국어.i18n = 기능.(이용할 수 있는, 알트의, )  번역 가능한 메시지 선택  전제 조건:  사용 가능 - 테이블, 매핑 언어 코드 ./. 텍스트  alt -- 문자열 nil false, 폴백 텍스트 포함  frame -- 프레임(사용 가능한 경우)  반품  1. string nil false, 선택한 메시지 포함  2. string nil false, 언어 코드 포함  현지의 r1, r2  한다면 유형(이용할 수 있는) == "테이블" 그리고나서   현지의 법전 = {}   현지의 trsl  = {}   현지의 속어.   위해서 k, v  쌍들(이용할 수 있는) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    한다면 유형(k) == "문자열" 그리고.       유형(v) == "문자열" 그리고나서     속어. = mw.본문.다듬다(k:더 낮게())     표.삽입(법전, 속어.)     trsl[속어.] = v    끝.   끝. 포크, v   속어. = 다국어.userLang(법전, )   한다면 속어. 그리고. trsl[속어.] 그리고나서    r1 = mw.본문.다듬다(trsl[속어.])    한다면 r1 == "" 그리고나서     r1 = 거짓의    또 다른     r2 = 속어.    끝.   끝.  끝.  한다면 것은 아니다. r1 그리고. 유형(알트의) == "문자열" 그리고나서   r1 = mw.본문.다듬다(알트의)   한다면 r1 == "" 그리고나서    r1 = 거짓의   끝.  끝.  돌아가다 r1, r2 끝. 다국어 .i18n()  다국어.인트 = 기능.(접근, 외계의, 적용합니다.)  번역된 시스템 메시지  전제 조건:  액세스 - 메시지 ID  외계인 -- 언어 코드  apply --nil 또는 $1, $2, ... 매개 변수가 있는 시퀀스 테이블  사후 조건:  문자열 또는 false를 반환합니다.  현지의 o = mw.메세지.신규(접근)  현지의 r  한다면 o:존재한다() 그리고나서   한다면 유형(외계의) == "문자열" 그리고나서    o:언어로(외계의:더 낮게())   끝.   한다면 유형(적용합니다.) == "테이블" 그리고나서    o:유모차(적용합니다.)   끝.   r = o:평지()  끝.  돌아가다 r 또는 거짓의 끝. Multilingual.int 웹사이트  다국어.is Lang = 기능.(물어보다, 추가의)  ISO 언어 코드일 수 있습니까?  전제 조건:  묻다 -- 언어 코드  추가 -- "단순"과 같은 Wiki 코드가 허용되는 경우 true입니다.  사후 조건:  부울 반환  현지의 r, s  한다면 추가의 그리고나서   s = 물어보다  또 다른   s = 다국어.베이스를 구함(물어보다)  끝.  한다면 s 그리고나서   r = mw.언어.isKnownLanguageTag(s)   한다면 r 그리고나서    r = 것은 아니다. 다국어.고치다(s)   그렇지 않으면 추가의 그리고나서    r = 다국어.이국적인[s] 또는 거짓의   끝.  또 다른   r = 거짓의  끝.  돌아가다 r 끝. 다국어 .isLang()  다국어.is 랑위키 = 기능.(물어보다)  이것이 위키 언어 버전일 수 있습니까?  전제 조건:  ask -- 언어 버전 지정자  사후 조건:  부울 반환  현지의 r  현지의 s = 다국어.베이스를 구함(물어보다)  한다면 s 그리고나서   r = mw.언어.지원되는 언어(s) 또는    다국어.이국적인[물어보다]  또 다른   r = 거짓의  끝.  돌아가다 r 끝. 다국어 .isLangWiki()  다국어.생략 가능 = 기능.(물어보다, 맡겨진)  이 언어 이름이 소문자로 바뀔 수 있습니까?  전제 조건:  ask -- 언어 코드 또는 0.  할당됨 - 언어 이름 또는 nil  사후 조건:  부울 반환  현지의 r = 진실의  한다면 물어보다 그리고나서   현지의 cnf = 가지고 오다("다국어", "config")   한다면 cnf 그리고나서    현지의 s = string.형식(%s ", 물어보다:더 낮게())    한다면 유형(cnf.축소 중지) == "문자열"      그리고. cnf.축소 중지:찾아내다(s, 1, 진실의) 그리고나서     r = 거짓의    끝.    한다면 r 그리고. 맡겨진      그리고. 유형(cnf.최소화를 구합니다.) == "문자열"      그리고. cnf.최소화를 구합니다.:찾아내다(s, 1, 진실의)      그리고. 유형(cnf.스캔최소화) == "문자열" 그리고나서     현지의 스캔 = 맡겨진:gsub("[%(%)]", " ") .. " "     한다면 것은 아니다. 스캔:찾아내다(cnf.스캔최소화) 그리고나서      r = 거짓의     끝.    끝.   끝.  끝.  돌아가다 r 끝. 다국어 .isMinusculable()  다국어.isRTL = 기능.(물어보다)  언어가 오른쪽에서 왼쪽으로 쓰여 있는지 확인합니다.  전제 조건:  ask -- 언어(또는 스크립트) 코드가 있는 문자열  오른쪽에서 왼쪽으로 true를 반환합니다.  현지의 r  다국어.rtl = 다국어.rtl 또는 {}  r = 다국어.rtl[물어보다]  한다면 유형(r) ~= "스캐너덜너덜 그리고나서   현지의 턱받이 = 가지고 오다("ISO15924")   한다면 유형(턱받이) == "테이블" 그리고.      유형(턱받이.isRTL) == "함수" 그리고나서    r = 턱받이.isRTL(물어보다)   또 다른    r = mw.언어.신규(물어보다):isRTL()   끝.   다국어.rtl[물어보다] = r  끝.  돌아가다 r 끝. 다국어.isRTL()  다국어.메세지 = 기능.(활쏘기, )  시스템 메시지와 같이 사용자 언어와 가장 잘 일치하는 텍스트 표시  전제 조건:  Arglist -- 템플릿 인수  frame -- 프레임(사용 가능한 경우)  사후 조건:  적절한 텍스트가 포함된 문자열을 반환합니다.  현지의 r  한다면 유형(활쏘기) == "테이블" 그리고나서   현지의 t = {}   현지의 m, p, 절약하다   위해서 k, v  쌍들(활쏘기) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    한다면 유형(k) == "문자열" 그리고.       유형(v) == "문자열" 그리고나서     v = mw.본문.다듬다(v)     한다면 v ~= "" 그리고나서      한다면 k:경기("^%l%l") 그리고나서       t[k] = v      그렇지 않으면 k:경기("^%$%d$") 그리고. k ~= "$0" 그리고나서       p = p 또는 {}       k = 수에 달하여(k:경기("^%$(%d)$"))       p[k] = v       한다면 것은 아니다. m 또는 k > m 그리고나서        m = k       끝.      끝.     끝.    끝.   끝. 포크, v   한다면 유형(활쏘기["-"]) == "문자열" 그리고나서    절약하다 = 활쏘기[활쏘기["-"]]   끝.   r = 다국어.i18n(t, 절약하다, )   한다면 p 그리고. r 그리고. r:찾아내다("$", 1, 진실의) 그리고나서    t = {}    위해서 i = 1, m 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     t[i] = p[i] 또는 ""    끝. 나를 위하여    r = mw.메세지.새 원시 메시지(r, t):평지()   끝.  끝.  돌아가다 r 또는 "" 끝. 다국어.message()  다국어.사이트 링크 = 기능.(모든., )  최적의 링크 텍스트 변환을 사용하여 로컬 또는 다른 사이트에서 링크 만들기  전제 조건:  all -- 문자열, 테이블 또는 번호, 항목 ID 또는 엔티티  frame -- 프레임(사용 가능한 경우)  사후 조건:  유용한 내부 링크 또는 일반 텍스트가 포함된 문자열을 반환합니다.  현지의 s = 유형(모든.)  현지의 물건, r  한다면 s == "테이블" 그리고나서   물건 = 모든.  그렇지 않으면 s == "문자열" 그리고나서   물건 = mw.위키베이스.엔티티 가져오기(모든.)  그렇지 않으면 s == "숫자" 그리고나서   물건 = mw.위키베이스.엔티티 가져오기(string.형식("Q%d", 모든.))  끝.  한다면 유형(물건) == "테이블" 그리고나서   현지의 수집 = 물건.사이트 링크   현지의 엔트리   s = 거짓의   한다면 유형(수집) == "테이블" 그리고나서    다국어.위치 = 다국어.위치 또는         mw.위키베이스.GlobalSiteId 가져오기()    엔트리 = 수집[다국어.위치]    한다면 엔트리 그리고나서     s = ":" .. 엔트리.제목    그렇지 않으면 수집.엔위키 그리고나서     s = "w:en:" .. 수집.엔위키.제목    끝.   끝.   r = 다국어.위키베이스(물건, "스캐너덜너덜, )   한다면 s 그리고나서    한다면 s == ":" .. r 그리고나서     r = string.형식("[%s]", s)    또 다른     r = string.형식("[%s %s]", s, r)    끝.   끝.  끝.  돌아가다 r 또는 "" 끝. 다국어.사이트 링크 »  다국어.탭데이터 = 기능.(접근, , 알트의, )  공용에서 번역된 키워드 검색:데이터:****.탭  전제 조건:  액세스 -- 문자열, Commons에서 페이지 식별이 있는 경우  at -- 문자열, 키워드 포함  alt -- 문자열 nil false, 폴백 텍스트 포함  frame -- 프레임(사용 가능한 경우)  반품  1. string nil false, 선택한 메시지 포함  2. 언어 코드 또는 "오류"  현지의 데이터. = 데이터 가져오기(접근)  현지의 r1, r2  한다면  유형(데이터.) == "테이블" 그리고나서   한다면 유형() == "문자열" 그리고나서    현지의 추구한다. = mw.본문.다듬다()    한다면 추구한다. == "" 그리고나서     r1 = "공백 다국어.tab데이터 키"    또 다른     현지의 e, 폴리의     위해서 i = 1, #데이터. 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다      e = 데이터.[i]      한다면 유형(e) == "테이블" 그리고나서       한다면 e[1] == 추구한다. 그리고나서        한다면 유형(e[2]) == "테이블" 그리고나서         폴리의 = e[2]        또 다른         r1 = "잘못된 다국어.tab데이터 불량 #"                .. 끈으로 묶는(i)        끝.        브레이크.   나를 위하여       끝.      또 다른       브레이크.   나를 위하여      끝.     끝.   나를 위하여     한다면 폴리의 그리고나서      데이터. = 폴리의     또 다른      r1 = "알 수 없는 다국어.tab데이터 키: " .. 추구한다.     끝.    끝.   또 다른    r1 = "잘못된 다국어.tab데이터 키"   끝.  또 다른   r1 = 데이터.  끝.  한다면 r1 그리고나서   r2 = "오류"  그렇지 않으면 데이터. 그리고나서   r1, r2 = 다국어.i18n(데이터., 알트의, )   r2 = r2 또는 "오류"  끝.  돌아가다 r1, r2 끝. 다국어.tabData()  다국어.userLang = 기능.(수락, )  응용 프로그램별 사용자 언어 지원  전제 조건:  허용 - 문자열 또는 테이블  공백으로 구분된 사용 가능한 ISO 639 코드 목록  기본값: 프로젝트 언어 또는 영어  frame -- 프레임(사용 가능한 경우)  사후 조건:  적절한 코드가 있는 문자열을 반환합니다.  현지의 s = 유형(수락)  현지의 법전, r, 속어.  한다면 s == "문자열" 그리고나서   법전 = mw.본문.분열되다(수락:더 낮게(), %s+")  그렇지 않으면 s == "테이블" 그리고나서   법전 = {}   위해서 i = 1, #수락 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    s = 수락[i]    한다면 유형(s) == "문자열" 그리고.       s ~= "" 그리고나서     표.삽입(법전, s:더 낮게())    끝.   끝. 나를 위하여  끝.  속어. = 사용자.편애하는(법전, )  한다면 속어. 그리고나서   한다면 실현 가능한(속어., 법전) 그리고나서    r = 속어.   그렇지 않으면 속어.:찾아내다("-", 1, 진실의) 그리고나서    속어. = 다국어.베이스를 구함(속어.)    한다면 실현 가능한(속어., 법전) 그리고나서     r = 속어.    끝.   끝.   한다면 것은 아니다. r 그리고나서    현지의 다른이들 = mw.언어.폴백 가져오기위해서(속어.)    위해서 i = 1, #다른이들 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     속어. = 다른이들[i]     한다면 실현 가능한(속어., 법전) 그리고나서      r = 속어.      브레이크. 나를 위하여     끝.    끝. 나를 위하여   끝.  끝.  한다면 것은 아니다. r 그리고나서   현지의 뒤로 = 마음에 드는 것들()   위해서 i = 1, #뒤로 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    속어. = 뒤로[i]    한다면 실현 가능한(속어., 법전) 그리고나서     r = 속어.     브레이크. 나를 위하여    끝.   끝. 나를 위하여   한다면 것은 아니다. r 그리고. 법전[1] 그리고나서    r = 법전[1]   끝.  끝.  돌아가다 r 또는 마음에 드는 것들()[1] 끝. 다국어.userLang()  다국어.userLangCode = 기능.()  사용자 언어 코드 추측  사후 조건:  현재 최선의 추측 코드를 반환합니다.  돌아가다 사용자.자신 또는 마음에 드는 것들()[1] 끝. 다국어.userLangCode()  다국어.위키베이스 = 기능.(모든., 대해서, 시도, )  Wikibase 구성 요소의 최적 번역  전제 조건:  all -- 문자열 또는 테이블, 개체 ID 또는 엔티티  정보 -- 부울, 참 "표현" 또는 거짓 "표현"  시도 -- 문자열이든 아니든, 선호하는 언어의 코드  frame -- 프레임(사용 가능한 경우)  사후 조건:  반품  1. 문자열, 선택한 메시지 포함  2. 문자열, 언어 코드 포함 또는 없음  현지의 s = 유형(모든.)  현지의 물건, r, r2  한다면 s == "테이블" 그리고나서   물건 = 모든.  그렇지 않으면 s == "문자열" 그리고나서   물건 = mw.위키베이스.엔티티 가져오기(모든.)  끝.  한다면 유형(물건) == "테이블" 그리고나서   한다면 대해서 그리고. 대해서 ~= "스캐너덜너덜 그리고나서    s = "제한사항"   또 다른    s = "스캐너덜너덜   끝.   물건 = 물건[s]   한다면 유형(물건) == "테이블" 그리고나서    한다면 물건[시도] 그리고나서     r  = 물건[시도].가치     r2 = 시도    또 다른     현지의 폴리의     위해서 k, v  쌍들(물건) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다      폴리의 = 폴리의 또는 {}      폴리의[k] = v.가치     끝. 포크, v     한다면 폴리의 그리고나서      r, r2 = 다국어.i18n(폴리의, 영의, )     끝.    끝.   끝.  끝.  돌아가다 r 또는 "",   r2 끝. 다국어.위키베이스 »  페일세이프.페일 세이프 = 기능.(적어도)  버전 검색 및 규정 준수 확인  전제 조건:  적어도 -- 문자열(필수 버전 포함)  또는 wikidata 항목 ~ @ 또는 false  사후 조건:  문자열을 반환합니다. 문제가 있는 경우에도 버전/항목을 쿼리합니다.  false - 해당하는 경우  -- 2020-08-17  현지의 부터 = 적어도  현지의 지난 = (부터 == "~")  현지의 연결된  = (부터 == "@")  현지의 링크 = (부터 == "항목")  현지의 r  한다면 지난 또는 링크 또는 연결된 또는 부터 == "hypidata" 그리고나서   현지의 항목 = 페일세이프.항목   부터 = 거짓의   한다면 유형(항목) == "숫자" 그리고. 항목 > 0 그리고나서    현지의 적합한 = string.형식("Q%d", 항목)    한다면 링크 그리고나서     r = 적합한    또 다른     현지의 독립체 = mw.위키베이스.엔티티 가져오기(적합한)     한다면 유형(독립체) == "테이블" 그리고나서      현지의 추구한다. = 페일세이프.직렬 속성 또는 "P348"      현지의 vsn  = 독립체:형식 특성 값(추구한다.)      한다면 유형(vsn) == "테이블" 그리고.         유형(vsn.가치) == "문자열" 그리고.         vsn.가치 ~= "" 그리고나서       한다면 지난 그리고. vsn.가치 == 페일세이프.연재의 그리고나서        r = 거짓의       그렇지 않으면 연결된 그리고나서        한다면 mw.제목.현재 제목 가져오기().접두사가 붙은본문           ==  mw.위키베이스.사이트 링크 가져오기(적합한) 그리고나서         r = 거짓의        또 다른         r = 적합한        끝.       또 다른        r = vsn.가치       끝.      끝.     끝.    끝.   끝.  끝.  한다면 유형(r) == "스캐너덜너덜 그리고나서   한다면 것은 아니다. 부터 또는 부터 <= 페일세이프.연재의 그리고나서    r = 페일세이프.연재의   또 다른    r = 거짓의   끝.  끝.  돌아가다 r 끝. Failsafe.failsafe()  내보내기 현지의 p = {}  p.공정한 = 기능.()  포맷 언어 코드  1 -- 언어 코드  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  돌아가다 다국어.공정한(s) 또는 "" 끝. p.공정한  p.후퇴하는 = 기능.()  다른 언어가 대체 언어로 적합합니까?  1 - 지원되는 언어 버전 지정자  2 - 대체 가능한 언어 지정자  현지의 s1 = mw.본문.다듬다(.논병아리[1] 또는 "")  현지의 s2 = mw.본문.다듬다(.논병아리[2] 또는 "")  현지의 r  = 다국어.후퇴하는(s1, s2)  한다면 유형(r) == "테이블" 그리고나서   r = r[1]  또 다른   r = r 그리고. "1"  또는 ""  끝.  돌아가다 r 끝. p.폴백  p.코드 찾기 = 기능.()  언어 이름에서 언어 코드 검색  1 - 현재 프로젝트 언어로 된 이름  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  돌아가다 다국어.코드 찾기(s) 또는 "" 끝. p.코드 찾기  p.고치다 = 기능.()  현지의 r = .논병아리[1]  한다면 r 그리고나서   r = 다국어.고치다(mw.본문.다듬다(r))  끝.  돌아가다 r 또는 "" 끝. p.고정하다  p.서식을 = 기능.()  하나 이상의 언어 형식 지정  1 -- 언어 목록 또는 항목  은어 - 네이티브가 아닌 경우 답변의 언어  * -- 네이티브  ! -- 현재 프로젝트  임의의 유효한 코드  shift -- "c"인 경우 대문자로, "d"인 경우 다운케이스로 표시  "f"인 경우 첫 번째 항목만 대문자로 표시  링크 -- 1 -- 링크 항목  swelling - 오류가 발생한 경우 카테고리 제목  분할 - 분할 패턴(목록이 예상되는 경우)  구분 기호 - 구분 기호 나열, 그렇지 않으면 분할  시작 - 첫 번째 요소가 있으면 첫 번째 요소를 추가합니다.  현지의 r  현지의 링크  한다면 .논병아리.링크 == "1" 그리고나서   링크 = 진실의  끝.  r = 다국어.서식을(.논병아리[1],         .논병아리.속어.,         .논병아리.교대로,         링크,         .논병아리.비명을 지르다,         ,         .논병아리.분열되다,         .논병아리.구분자,         .논병아리.시작)  돌아가다 r 또는 "" 끝. p.포맷  p.베이스를 구함 = 기능.()  결합된 ISO 언어 코드에서 기본 언어 검색  1 -- 코드  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  돌아가다 다국어.베이스를 구함(s) 또는 "" 끝. p.베이스를 얻다  p.이름 가져오기 = 기능.()  ISO 언어 코드에서 언어 이름 검색  1 -- 코드  2 - 네이티브가 아닌 경우 답변에 사용할 언어  ! -- 현재 프로젝트  * -- 네이티브  임의의 유효한 코드  현지의 s  = mw.본문.다듬다(.논병아리[1] 또는 "")  현지의 속어. = .논병아리[2]  현지의 r  다국어. =   한다면 속어. 그리고나서   속어. = mw.본문.다듬다(속어.)  끝.  r = 다국어.이름 가져오기(s, 속어.)  돌아가다 r 또는 "" 끝. p.getName  p.인트 = 기능.()  번역된 시스템 메시지  1 - 메시지 ID  lang -- 언어 코드  $1, $2, ... -- 매개 변수  현지의 sysMsg = .논병아리[1]  현지의 r  한다면 sysMsg 그리고나서   sysMsg = mw.본문.다듬다(sysMsg)   한다면 sysMsg ~= "" 그리고나서    현지의 n  = 0    현지의 속어. = .논병아리.랑그    현지의 i, 유모차, s    한다면 속어. == "" 그리고나서     속어. = 거짓의    끝.    위해서 k, v  쌍들(.논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     한다면 유형(k) == "문자열" 그리고나서      s = k:경기("^%$(%d+)$")      한다면 s 그리고나서       i = 수에 달하여(s)       한다면 i > n 그리고나서        n = i       끝.      끝.     끝.    끝. 포크, v    한다면 n > 0 그리고나서     현지의 s     유모차 = {}     위해서 i = 1, n 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다      s = .논병아리["$" .. 끈으로 묶는(i)] 또는 ""      표.삽입(유모차, s)     끝. 나를 위하여    끝.    r = 다국어.인트(sysMsg, 속어., 유모차)   끝.  끝.  돌아가다 r 또는 "" 끝. -- p.int  p.is Lang = 기능.()  ISO 언어 코드일 수 있습니까?  1 -- 코드  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  현지의 운이 좋은, r = pcall(다국어.is Lang, s)  돌아가다 r 그리고. "1" 또는 "" 끝. p.isLang  p.is 랑위키 = 기능.()  이것이 위키 언어 버전일 수 있습니까?  1 -- 코드  언어 버전인 경우 비어 있지 않은 값을 반환합니다.  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  현지의 운이 좋은, r = pcall(다국어.is 랑위키, s)  돌아가다 r 그리고. "1" 또는 "" 끝. p.is 랑위키  p.isRTL = 기능.()  언어가 오른쪽에서 왼쪽으로 쓰여 있는지 확인합니다.  1 -- 언어 코드가 있는 문자열  오른쪽에서 왼쪽으로 비어 있지 않은 경우 반환  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  돌아가다 다국어.isRTL(s) 그리고. "1" 또는 "" 끝. p.is RTL()  p.메세지 = 기능.()  텍스트 요소 번역  돌아가다 다국어.메세지(접이식의(), ) 끝. p.1987년의  p.사이트 링크 = 기능.()  최적의 링크 텍스트 변환을 사용하여 로컬 또는 다른 사이트에서 링크 만들기  1 - 항목 ID  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  현지의 r  한다면 s:경기("^%d+$") 그리고나서   r = 수에 달하여(s)  그렇지 않으면 s:경기("^Q%d+$") 그리고나서   r = s  끝.  한다면 r 그리고나서   r = 다국어.사이트 링크(r, )  끝.  돌아가다 r 또는 s 끝. p.사이트 링크  p.탭데이터 = 기능.()  Commons Data에서 최상의 메시지 텍스트 검색  1 - Commons 페이지의 식별 정보  2 -- 키워드  alt -- 폴백 텍스트  현지의 스위트룸 = .논병아리[1]  현지의 추구한다.  = .논병아리[2]  현지의 소금.  = .논병아리.알트의  현지의 r  = 다국어.탭데이터(스위트룸, 추구한다., 소금., )  돌아가다 r 끝. p.탭데이터  p.userLang = 기능.()  현재 사용자가 선호하는 언어는 무엇입니까?  1 -- 사용 가능한 ISO 639 코드의 공백으로 구분된 목록  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  돌아가다 다국어.userLang(s, ) 끝. p.userLang  p.위키베이스 = 기능.()  Wikibase 구성 요소의 최적 번역  1 -- 개체 ID  2 - "표현"은 1, "표현"은 0입니다.  또는 "표현" 또는 "표현" 중 하나입니다.  현지의 r  현지의 s = mw.본문.다듬다(.논병아리[1] 또는 "")  한다면 s ~= "" 그리고나서   현지의 s2 = mw.본문.다듬다(.논병아리[2] 또는 "0")   현지의 속어. = mw.본문.다듬다(.논병아리.랑그 또는 "")   현지의 큰. = (s2 ~= "" 그리고. s2 ~= "0")   한다면 속어. == "" 그리고나서    속어. = 거짓의   끝.   r = 다국어.위키베이스(s, 큰., 속어., )  끝.  돌아가다 r 또는 "" 끝. p.염색체  p.페일 세이프 = 기능.()  버전 인터페이스  현지의 s = 유형()  현지의 부터  한다면 s == "테이블" 그리고나서   부터 = .논병아리[1]  그렇지 않으면 s == "문자열" 그리고나서   부터 =   끝.  한다면 부터 그리고나서   부터 = mw.본문.다듬다(부터)   한다면 부터 == "" 그리고나서    부터 = 거짓의   끝.  끝.  돌아가다 페일세이프.페일 세이프(부터) 또는 "" 끝. p.페일 세이프()  p.다국어 = 기능.()  돌아가다 다국어 끝. p.다국어  돌아가다 p