요구하다('''비공식'''); --[--------------------------< _ IN _ LANG >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 도구 {{in lang}} 다른 모듈의 모듈 진입점 link=yes - Wikilinked 언어 이름을 만듭니다. template=<사용자 이름> - 모듈에서 생성한 오류 메시지 사용자 정의:lang list-cats=yes - 문서 도구는 이 템플릿으로 채워진 고양이의 언어로 표시된 이름을 반환합니다. <span class="language icon">(<language>)</span> ]] 현지의 기능. _in_in_building (논병아리) 현지의 동의어_테이블 = mw.로드 데이터 ('모듈:Lang/ISO 639 동의어'); ISO 639-2/639-2T 코드를 639-1 코드로 변환 현지의 list_cats = '예' == 논병아리['리스트캣']; 부울로 삼다 현지의 목록. = {}; 현지의 고양이들 = {}; 현지의 maint_msgs = {}; 한다면 것은 아니다. 논병아리[1] 그리고나서 현지의 템플릿 = (논병아리['''비공식'''] 그리고. 테이블.콘캣 ({'{{', 논병아리['''비공식'''], '}}: '})) 또는 ''; 템플릿 이름 만들기(템플릿에서 제공하는 경우) 돌아가다 테이블.콘캣 ({'<스판 스타일=\"글꼴 크기:100%; 글꼴 스타일:일반;\"클래스 =\"오류\"> 오류: ', 템플릿, '언어 태그 지정/span'}); 끝. 현지의 모듈 = '모듈:랭' .. (mw.현재 프레임 가져오기():제목 가져오기():경기 ('/') 또는 ''); 만약 이 모듈이 샌드박스라면, 현지의 name_from_tag = 요구하다 (모듈)._name_from_태그; 사용 모듈:Lang/sandbox, 모듈:랑게르 현지의 네임스페이스 = mw.제목.현재 제목 가져오기().네임스페이스; 분류에 사용됨 현지의 이_이_이_이_이_이 = mw.언어.콘텐츠 언어 가져오기().코드; 이 Wiki의 언어 코드 가져오기 위해서 i, 랑그 에 짝을 짓다 (논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 코드 = 논병아리[i]:더 낮게(); 현지의 t = {코드, ['링크'] = 논병아리['링크'], ['''비공식'''] = 논병아리['''비공식''']}; 'args' 테이블을 만듭니다. 랑그 = name_from_tag (t) 언어 이름을 얻다 표.삽입 (목록., 랑그) 이 언어 또는 오류 메시지를 목록에 추가합니다. 한다면 'ca-ca-taking ~= 코드 그리고나서 발렌시아인을 제외하고. 코드 = 코드:경기 ('^%a%a%a?%f[^%a]'); 영역, 스크립트 및 변형 태그를 제거하여 범주 이름을 만드는 데 사용되지 않도록 합니다. 끝. 한다면 동의어_테이블[코드] 그리고나서 639-2/639-2T 코드에 639-1 동의어가 있는 경우 한다면 (0 == 네임스페이스) 그리고. 것은 아니다. list_cats 그리고나서 고양이 목록에 이 고양이가 포함되지 않을 때; TODO: 올바른 선택? 표.삽입 (고양이들, 테이블.콘캣 ({'[[범주:ISO 639-1 '로 승격된 Lang 및 lang-xx 코드, 코드 ..']]'})); 끝. 표.삽입 (maint_msgs, <span class="span-style" style="span-style:normal;표시:normal;표시:color:#33aa33;margin-left:0.3em">) 표.삽입 (maint_msgs, 테이블.콘캣 ({'코드:', 코드, 코드로 승격됨: ', 동의어_테이블[코드]})); 표.삽입 (maint_msgs, '/span';); 코드 = 동의어_테이블[코드]; 동의어를 사용합니다. 끝. 한다면 (0 == 네임스페이스) 또는 list_cats 그리고나서 기사란에 있을 때. 한다면 랑그:찾아내다 ('오류') 그리고나서 오류 범주 추가(모듈에서 제공하는 메시지:언어) 한다면 것은 아니다. list_cats 그리고나서 고양이 목록에 이 고양이를 포함하지 마십시오; TODO: 올바른 선택입니까? 표.삽입 (고양이들, '[카테고리:inlang 템플릿 오류]'); 끝. 그렇지 않으면 이_이_이_이_이_이 ~= 코드 그리고나서 코드가 이 Wiki의 언어 코드가 아닌 경우에만 아티클 분류 한다면 랑그:경기 ('%[%[.- .-%]%]') 그리고나서 위키링크된 개별 언어 이름 랑그 = 랑그:경기 ('%[%[.- (.-)%]%]'); 그렇지 않으면 랑그:경기 ('%[%[.-%]%]') 그리고나서 Wikilinked 집합 언어 랑그 = 랑그:경기 ('%[%[(.-)%]%]'); 끝. 그 당시 평문의 언어명 중 어느 것도. 한다면 랑그:찾아내다 ('''비공식''') 그리고나서 적절한 언어 이름 범주 추가 표.삽입 (고양이들, 테이블.콘캣 ({'[[범주:'가 포함된 기사, 랑그, '-집합 소스('), 코드, ')]]'})); 또 다른 표.삽입 (고양이들, 테이블.콘캣 ({'[[범주:'가 포함된 기사, 랑그, '-언어 소스('), 코드, ')]]'})); 끝. 끝. 끝. 끝. 한다면 list_cats 그리고나서 현지의 고양이들 = 테이블.콘캣 (고양이들, ', '):gsub ('[%[%]]', ''); 범주 문자열을 만든 다음 Wikilink 마크업을 제거합니다. 돌아가다 고양이들 끝. 현지의 결과 = {'<span class="language icon">('}; 개방경간 및 ( 표.삽입 (결과, '예' == 논병아리['캡'] 그리고. '인' 또는 인); 대문자 또는 소문자 'in' 추가 표.삽입 (결과, mw.본문.listToText (목록., ', ', (2 < #목록.) 그리고. 및 ' 또는 및 ' )); 그리고 언어 목록을 연결합니다. 표.삽입 (결과, ')</span>); 닫힘) 및 닫힘 범위 추가 표.삽입 (결과, 테이블.콘캣 (maint_msgs) 또는 ''); 기본 메시지 추가(있는 경우) 표.삽입 (결과, 테이블.콘캣 (고양이들)); 카테고리 추가 돌아가다 테이블.콘캣 (결과); 큰 끈을 만들어서 완성합니다. 끝. --[--------------------------< IN _ LANG >-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 도구 {{in lang}} {{#invoke:lang/utilities/sanbox in_lang <code> <code2> <code3> <code...에서 모듈 진입점> link=yes 템플릿=in lang list-cats=yes} ]] 현지의 기능. in_에 (틀) 현지의 논병아리 = 요구하다 ('모듈:인수').args를 얻다 (틀); 돌아가다 _in_in_building (논병아리); 끝. --[--------------------------< NA IVE _NAME _ LANG >---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 실험 코드; 유지되지 않을 수 있습니다. 모듈의 is_ietf_tag() 및 tag_from_name()을 결합하여 구현합니다.를 지원하는 다양한 정보 상자에 대한 언어 native_name_message= 매개 변수입니다. {{1}}이(가) 유효한 ietf 언어 태그인 경우 해당 태그를 반환합니다. {{1}}이(가) 올바른 철자(대소문자 구분 안 함) 언어 이름인 경우 해당 이름과 연결된 ietf 언어 태그를 반환합니다. 오류 메시지 기타 {{#} 시작점:Lang/Utilities/sandbox native_name_message <언어 이름 또는 태그> template=<사용자 이름>} ]] 현지의 기능. native_name_message (틀) 현지의 lang_message = 요구하다 ('모듈:랭/샌드박스'); 현지의 args를 얻다 = 요구하다 ('모듈:인수').args를 얻다; 현지의 논병아리 = args를 얻다(틀); 한다면 lang_message._is_ietf_tag (논병아리[1]) 그리고나서 돌아가다 논병아리[1]; 태그인 경우 태그를 반환합니다. 또 다른 돌아가다 lang_message._tag_from_name (논병아리); 태그가 아닙니다. args[1] 입력 값에서 태그를 가져오려고 합니다. 태그 또는 오류 메시지를 반환합니다. 끝. 끝. --[--------------------------< CAT _ TEST >---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 삭제할 임시 테스트 코드 제공된 언어 매개 변수를 테스트하는 {{Category article}(비영어 텍스트 포함)}개 항목 지원 해당 템플릿에 범주 이름을 지정합니다. {{#선택사항:언어/유틸리티/샌드박스 cat_test} ]] 현지의 기능. cat_test (틀) 현지의 lang_message = 요구하다 ('모듈:랭'); 현지의 논병아리 = 요구하다 ('모듈:인수').args를 얻다 (틀); 현지의 잘못한 = 거짓의; 오류가 탐지될 때 부울 집합 true, 오류 메시지 하나만 현지의 cat_page_cat = mw.제목.현재 제목 가져오기().본문; 카테고리 타이틀 획득 현지의 lang_name; 현지의 색인을 달다; 위치 매개 변수 인덱스 현지의 lc_message_name, lc_sl_name_col; 개별 고양이 이름과 집합 고양이 이름이 다릅니다. 현지의 lc_message; 위해서 i, v 에 짝을 짓다 (논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 ipairs가 nil 값(빈 위치 매개 변수)에서 중지되므로 쌍 한다면 '숫자' == 유형 (i) 그리고. 논병아리[i] 그리고나서 위치 매개 변수만, 값이 있는 경우에만 한다면 lang_message._is_ietf_tag (v) 그리고나서 이 'v'가 ietf 태그인지 확인합니다. 현지의 t = {v}; 따라서 _name_from_tag}에 대한 인수 테이블을 만듭니다. lang_name = lang_message._name_from_태그 (t); 언어 이름을 얻다 또 다른 lang_name = v; 유효한 태그가 아니므로 이름이라고 가정합니다. 끝. mw.logObject (lang_name, 'filename_name') lc_message_name = 테이블.콘캣 ({ 개별 언어 및 매크로 언어의 범주 이름 형식과 일치하도록 문자열 작성 '포함', mw.ustring.더 낮게 (lang_name); 비교를 위해 소문자로 '-언어', }); mw.logObject (lc_message_name, 'lc_proxy_name') lc_sl_name_col = 테이블.콘캣 ({ 집합 언어의 범주 이름 형식과 일치하도록 문자열 작성 '더', mw.ustring.더 낮게 (lang_name); 비교를 위해 소문자로 ' ', 다음 단어는 모듈에서 검색한 이름에 포함된 언어입니다. lang }); mw.logObject (lc_sl_name_col, 'lc_cisco_name_col') lc_message = mw.ustring.더 낮게 (cat_page_cat); 한다면 것은 아니다. mw.ustring.찾아내다 (lc_message, lc_message_name, 1, 진실의) 그리고. 고양이 제목에서 lang 이름을 찾을 수 없는 경우 것은 아니다. mw.ustring.찾아내다 (lc_message, lc_sl_name_col, 1, 진실의) 그리고나서 잘못한 = 진실의; 기를 달다 색인을 달다 = i; 테스트에 실패한 위치 매개 변수를 기억합니다. 브레이크.; 첫 번째 실수로 검색을 포기합니다. 끝. 끝. 끝. 오류 메시지 생성 및 완료 돌아가다 잘못한 그리고. 테이블.콘캣 ({ '<스판 스타일=\"글꼴 크기:100%; 글꼴 스타일:일반;\"클래스 =\"오류\"> 오류: 언어: ', lang_name, 우리가 생각하는 것은 언어 이름입니다. {{}}부터, 색인을 달다, 위치 매개 변수 인덱스: {{1}} 중 1개 '}}} (', 논병아리[색인을 달다], 위치 매개 변수의 내용 ')이(가) 범주 제목과 일치하지 않습니다.</span>[범주:Lang 및 lang-xx 템플릿 오류]]' }) 또는 영의; 끝. --[------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ]] 돌아가다 { in_에 = in_에, {{#}에서 모듈 항목:}} native_name_message = native_name_message, 실험 코드; 유지되지 않을 수 있습니다. _in_in_building = _in_in_building, 다른 모듈의 모듈 항목 cat_test = cat_test, 삭제할 임시 테스트 코드 }