모듈:다국어/샌드박스
Module| 모듈에 대한 모듈 샌드박스 페이지입니다.다국어(diff). |
Multilingual 언어, 언어 코드, 언어 이름과 관련된 기능이 있는 모듈.
템플릿 기능
모든 함수에는 명명되지 않은 하나의 매개 변수가 필요합니다.1중요한 정보와 함께, 때로는 더 많은 선택 사항이 있습니다.내용을 무시한 앞뒤 공백입니다.다음과 같은 언어 코드 세그먼트의 대문자화en-US중요하지 않습니다. 결과는 아래와 같습니다.
매개 변수 값이 기대를 충족하지 않는 경우 반환 값은 빈 문자열("아무것도")입니다.결과가 있거나 쿼리 조건이 참인 경우 하나 이상의 표시 가능한 문자가 반환됩니다.결과는 공백으로 시작하거나 끝나지 않습니다.
- 공정한
- RFC 5646에 따른 언어 코드 포맷 및 유효성 확인
- 결과: 비어 있음(잘못된 경우)
- 코드 찾기
- 로컬(현재 프로젝트) 언어의 언어 이름 코드를 검색합니다.
- 코드 자체도 식별됩니다.
- 서식을
- 하나 이상의 언어를 포맷합니다.
1언어 목록 또는 단일 항목slang네이티브가 아닌 경우 답변의 언어*기본값(기본값)!현재 진행 중인 프로젝트- 임의의 유효한 코드
shift자본화c모두를 자본으로 삼다d모든 것을 축소하는f첫 번째 항목만 대문자로 표시m항목의 모든 첫 번째 단어만 내림차순으로 표시
link=1링크 항목scream오류가 발생한 경우 범주 제목split분할 패턴(목록이 예상되는 경우).split=,그렇지 않으면1단일 항목으로 간주됩니다.separator목록 구분 기호, 기타splitstart첫 번째 목록 요소 앞에 추가(있는 경우)
- 베이스를 구함
- 결합된 ISO 언어 코드에서 기본 언어를 검색합니다.
- 이름 가져오기
- 이 언어 코드에 할당된 이름은 무엇입니까?
2답의 언어*해당 언어 자체(기본값)!프로젝트 언어로- 임의의 ISO 코드.
- is Lang
- ISO 언어 코드일 수 있습니까?
- 아무것도 – 그렇지 않다면
- is 랑위키
- 이것이 위키 언어 버전일 수 있습니까?
- 아무것도 – 그렇지 않다면
- 칸 도이치
- 이 언어 코드를 가진 누군가가 독일어를 이해할 수 있을까요?
- 아무것도 – 그렇지 않다면
- userLang
- 응용프로그램별로 사용자 언어를 지원합니다.
1공백으로 구분된 사용 가능한 ISO 639 코드 목록- 결과:
- 현재 사용자 언어가 목록 요소가 아닌 경우 첫 번째 요소가 사용됩니다.
- 현재 사용자 언어가 다음과 같은 변형인 경우
en-US또는en-GB그리고 그것은 목록, 기본 언어에서 명시적으로 언급되지 않았습니다(여기서는).en)가 재판을 받게 됩니다. - 일치하는 항목이 없고 목록이 제공되지 않으면 프로젝트 언어(여기)
en), 적어도.en영어는 반환됩니다.
- 페일 세이프
- 버전 ID:
2020-12-10 - 선택적 매개 변수
1필수 버전- 결과: 요구 사항이 충족되지 않는 경우 비어 있습니다.
예제(테스트 페이지)
테스트 페이지는 실용적인 사용을 보여줍니다.
Lua 모듈(API)을 위한 기능
위에 설명된 모든 기능은 다른 모듈에서 사용할 수 있습니다.
현지의 운이 좋은, 다국어 = pcall( 요구하다, "모듈:다국어" ) 한다면 유형( 다국어 ) == "테이블" 그리고나서 다국어 = 다국어.다국어() 또 다른 실패, 다국어가 오류 메시지임 돌아가다 "<span class='error'>" .. 다국어 .. "</span>" 끝. 이후에는 다음과 같은 방법을 사용할 수 있습니다.
- 다국어.fair(묻기)
-
- ask – 문자열 또는 getLang()에 따른 테이블
- 다국어.findCode(질문)
- 다국어.format( 적용, 에일리언, 변경, 활성, 경보, 프레임, 어셈블리, 인접)
-
- apply – 언어 목록 또는 단일 항목이 있는 문자열
- 외계인 – 정답의 언어
nil false "*"토종의"!"현재 진행 중인 프로젝트- 임의의 유효한 코드
- 변경 – 대문자화
"c"대문자로 쓰다"d"모든 것을 축소하는"f"첫 번째 항목만 대문자로 표시, 다른 항목은 소문자로 표시
- 활성 – 링크 항목(경우)
true - alert – 오류 발생 시 범주 제목이 있는 문자열
- 프레임 – 사용 가능한 경우
- 어셈블리 - 분할 패턴이 있는 문자열(목록이 예상되는 경우)
- 인접 – 목록 구분 기호가 있는 문자열, 그렇지 않은 경우 어셈블리
- 전방 – 첫 번째 요소(있는 경우) 앞에 추가할 선택적 문자열
- 다국어.getBase(요청)
- 다국어.getLang(묻기)
- 언어 코드를 구성 요소로 분할
- 반환: 테이블
.base기본 언어(2-3개의 소문자).region국가(대문자 2개).script스크립팅(4글자, 대문자).year년(4자리).extension확장자(1 소문자).other더 많은.legal유효한 경우 참.n성분 개수
- 다국어.getName(묻기, 에일리언)
-
- 외계인 – 정답의 언어
nil false "*"토종의"!"현재 진행 중인 프로젝트- 임의의 ISO 코드.
- 외계인 – 정답의 언어
- 다국어 .isLang(질문)
- 다국어 .isLangWiki(질문)
- 다국어 .kannDeutsch(질문)
- Multilanguage.userLang(허용, 프레임)
-
- accept – 사용 가능한 ISO 639 코드 목록이 공백으로 구분된 문자열
- 프레임 – 사용 가능한 경우
- 다국어 .failsafe(이상)
-
- 적어도
선택적.
0 또는 필수 버전 - 반환: 문자열 또는 거짓
- 적어도
성공하면 Multilanguage.get*()가 문자열인 Multilingual.is *()을 반환합니다. true실패로false.
사용.
일반 라이브러리. 제한 없음.
종속성
현지의 다국어 = { 스위트룸 = "다국어", 연재의 = "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 = "잘못된 페이지 데이터:*탭 – 공통:" .. 보관소 끝. 한다면 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