Permanently protected module

모듈:언어/샌드박스에서

Module
요구하다('''비공식''');   --[--------------------------< _ 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,              삭제할 임시 테스트 코드  }