모듈:템플릿 핸들러/샌드박스 리다이렉트

Module
현지의 p = {}  현지의 current Frame(현재 프레임) 현지의 redirect Template List = {} 현지의 debug Template Used List = {} 현지의 에러 리스트 = {  ["멀티 시리즈"] = "multi_series_name_table=은(는) 다른 모듈에서만 사용할 수 있습니다." }  --[[ 모듈을 통해 매개 변수 사용을 확인하는 로컬 기능:알 수 없는 파라미터가 없는지 확인합니다. 발신측 모듈에 이 모듈의 일부가 아닌 다른 유효한 arg가 있는 경우 별도의 테이블로 전달해야 합니다. "additonalValidArgs" --]] 현지의 기능. getUnknownParametersErrors(args, additonalValidArgs)  현지의 templateName(템플릿명) = current Frame(현재 프레임):부모 취득():getTitle(제목)() 또는 "모듈:리디렉션 템플릿 처리기"  현지의 validArgs(유효한 대상) = {   ["실패"] = "[카테고리:모듈을 사용한 페이지:알 수 없는 매개 변수 _VALUE_]]"을(를) 사용하여 템플릿 핸들러를 리디렉션합니다.,   ["실패"] = ' [['를 사용한 페이지' .. templateName(템플릿명) .. 알 수 없는 매개 변수 "_VALUE_"의 ']]입니다.,   "alt_name",   "alt_module",   "실패",   "대문자화",   "올바른 설명",   "filen_filen_filen_filename",   "movel_move",   "전_이름",   "이력",   "filename_name",   리스트,   "long_name",   "실패",   "프라이머리',   "확장",   "섹션",   "series_name",   "short_name",   "to_article",   "to_diacritic",   "불필요_불필요_예약",  }    -- 옵션의 series_name2-10 파라미터를 추가합니다.  위해서 i = 2, 10 하다   table.insert(validArgs(유효한 대상), "series_name" .. i)  끝.    --안전 점검.  한다면 (additonalValidArgs) 그리고나서   위해서 i = 1, #additonalValidArgs 하다    table.insert(validArgs(유효한 대상), additonalValidArgs[i])   끝.  끝.   현지의 check For Unknown 파라미터 = 요구하다("모듈:알 수 없는 매개 변수 확인")  돌아가다 check For Unknown 파라미터._체크(validArgs(유효한 대상), args) 끝.  --[[ 리다이렉트 템플릿 추가를 처리하는 로컬 함수. --]] 현지의 기능. addRedirectTemplate(templateName(템플릿명), templateArgs)  -- Args는 이미 테이블일 수 있습니다.  한다면 (유형(templateArgs) ~= "테이블") 그리고나서   templateArgs = {templateArgs}  끝.   -- 리다이렉트템플릿을 가져옵니다.  현지의 리다이렉트 템플릿 = current Frame(현재 프레임):확장 템플릿{직함 = templateName(템플릿명), args = templateArgs}  -- 리다이렉트템플릿 목록에 삽입합니다.  table.insert(redirect Template List, 리다이렉트 템플릿)  -- 디버깅 목록에만 이름을 삽입합니다.  table.insert(debug Template Used List, templateName(템플릿명)) 끝.  --[[ 리다이렉트의 올바른 명확화 스타일을 검색하는 로컬 함수입니다. 이것은, 현재의 리다이렉트 타이틀이 올바른 명확화를 사용하고 있는지 아닌지를 체크하기 위해서 필요합니다. --]] 현지의 기능. get Correct 모호성(args)  --올바른 명확화가 설정되어 있는 경우는, 그것을 사용합니다.  한다면 (args.수정_명료화) 그리고나서   돌아가다 args.수정_명료화  그렇지 않으면 (args.series_name) 그리고나서   --그렇지 않은 경우는, 명확하지 않게 시리즈명을 반환합니다.   현지의 올바른 명확화 = string.gsub(args.series_name, "%(.*%)", "", 1)   돌아가다 .본문.다듬다(올바른 명확화)  또 다른   -- 시리즈명이 설정되어 있지 않은 경우는, 빈 문자열을 반환합니다.   돌아가다 ""  끝. 끝.  --[[ 리다이렉트의 현재 명확성을 취득하는 로컬 함수(있는 경우). --]] 현지의 기능. get Disclarization(구체적 모호성)(args)  현지의 직함  한다면 (args.test_filename(테스트)_interface(실행)) 그리고나서   직함 = args.test_filename(테스트)_interface(실행)  또 다른   직함 = .직함.get Current Title(전류 제목)().본문  끝.   현지의 string Match(스트링매치) = 요구하다("모듈:문자열")._일치  -- 명확성을 반환합니다.  돌아가다 string Match(스트링매치)(직함, %s%(-)%", 1, -1, 거짓의, "") 끝.  --[[ 전류 모호성 제거가 사용되었는지 확인하는 로컬 기능 올바른 모호성 해소 스타일을 사용하고 있습니다.  다음 중 하나가 올바른 경우 true를 반환합니다. -- 불명확한 점은 없습니다. -- 모호성 해소는 올바른 모호성 스타일과 같습니다. -- 불명확성은 확장된 올바른 불명확화 스타일과 같다. 여기에는 리다이렉트 타입이 포함됩니다. -- 모호성 해소는 허용되는 예외와 함께 태그가 지정됩니다. --]] 현지의 기능. isRedirect Using Correct 모호성(args, 오브젝트 타입)  현지의 명확화 = get Disclarization(구체적 모호성)(args)  현지의 올바른 명확화 = get Correct 모호성(args)  오브젝트 타입 = 오브젝트 타입 또는 ""   한다면 (args. 또는    (것은 아니다. 명확화) 또는    (명확화 == "") 또는   (명확화 == 올바른 명확화) 또는    (명확화 == 올바른 명확화 .. " " .. 오브젝트 타입)   ) 그리고나서   돌아가다 진실의  또 다른   돌아가다 거짓의  끝. 끝.  --[[ 모든 공유 문자, 요소 및 위치 리디렉션 처리 코드를 처리하는 로컬 함수입니다. --]] 현지의 기능. getRedirect Category(getRedirect 카테고리)템플릿(args, 오브젝트 타입)  현지의 메인 리다이렉트 = 진실의  현지의 인쇄 가능한 = 진실의  -------------------------------------------------------------------------   --「WP:」를 참조해 주세요.NCHASHTAG]] 를 참조해 주세요.  -- 이 리다이렉트는 메인 리다이렉트일 수 있습니다.  한다면 (args.제한된) 그리고나서   addRedirectTemplate("R 제한됨", args.제한된)  끝.    한다면 (args.birth_name) 그리고나서   addRedirectTemplate("R from birth name")   메인 리다이렉트 = 거짓의  끝.   한다면 (args.alt_name) 그리고나서   addRedirectTemplate("대체 이름에서 R")   메인 리다이렉트 = 거짓의  끝.   한다면 (args.이전 이름) 그리고나서   addRedirectTemplate("이전 이름에서 R")   메인 리다이렉트 = 거짓의  끝.   한다면 (args.short_name) 그리고나서   addRedirectTemplate("짧은 이름에서 R")   메인 리다이렉트 = 거짓의  끝.   한다면 (args.long_name) 그리고나서   addRedirectTemplate("롱네임에서 R")   메인 리다이렉트 = 거짓의  끝.   한다면 (args.sort_name) 그리고나서   addRedirectTemplate("R from sort name", {스트링.서브(args.sort_name, 1, 1), 스트링.서브(args.sort_name, 2)})   메인 리다이렉트 = 거짓의  끝.  ---------------------------------------------------------------------------------------------------   한다면 (args.title_name) 그리고나서   addRedirectTemplate("R from name with title")   인쇄 가능한 = 거짓의   메인 리다이렉트 = 거짓의  끝.   한다면 (args.alt_module(알트_module)) 그리고나서   addRedirectTemplate("대체 철자의 R", args.alt_module(알트_module))   인쇄 가능한 = 거짓의   메인 리다이렉트 = 거짓의  끝.   한다면 (args.분음 문자) 그리고나서   addRedirectTemplate("R에서 분음 기호로")   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.   한다면 (args.incorrect_name) 그리고나서   addRedirectTemplate("잘못된 이름의 R", args.기본적인 또는 args.incorrect_name)   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.   한다면 (args.대문자화) 그리고나서   addRedirectTemplate("R은 대문자 잘못 표기", args.기본적인 또는 args.대문자화)   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.   한다면 (args.필요없는_불필요한) 그리고나서   addRedirectTemplate("불필요한 모호성으로부터 R")   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.   한다면 (것은 아니다. isRedirect Using Correct 모호성(args, 오브젝트 타입)) 그리고나서   addRedirectTemplate("잘못된 모호성으로 인한 R")   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.   한다면 (args.드래프트_이동) 그리고나서   addRedirectTemplate("R from move")   addRedirectTemplate("초안으로부터의 R")   메인 리다이렉트 = 거짓의   인쇄 가능한 = 거짓의  끝.  -------------------------------------------------------------------   --[[ 리다이렉트 대상은 다음과 같습니다. --목록의 앵커에 대한 링크. --목록에 대한 링크입니다.여기서 리다이렉트는 엔트리입니다. -- 리다이렉트가 대체 제목인 기사.이것들은 현재 분류되어 있지 않다. -- 기사의 한 섹션. ]]--  한다면 (args.앵커.) 그리고나서   addRedirectTemplate("고정할 R")  그렇지 않으면 (args.목록.) 그리고나서   addRedirectTemplate("R to list entry")  그렇지 않으면 (args.기사) 그리고나서   --현재는 아무것도 하지 않습니다.  또 다른   addRedirectTemplate("R to section")   끝.   한다면 (args.기본적인) 그리고나서   addRedirectTemplate("R이 이중 리다이렉트 피함", args.기본적인)   메인 리다이렉트 = 거짓의  끝.   한다면 (args.합병하다) 그리고나서   addRedirectTemplate("R from merge")  끝.    한다면 (args.역사) 그리고나서   addRedirectTemplate("R with history")  끝.   한다면 (메인 리다이렉트) 그리고나서   addRedirectTemplate("가능성이 있는 R")  끝.   한다면 (인쇄 가능한) 그리고나서   addRedirectTemplate("R 인쇄 가능")  또 다른   addRedirectTemplate("인쇄 불가")  끝.   돌아가다 table.concat(redirect Template List), 메인 리다이렉트 끝.  --[[ 메인 프로세스를 처리하는 로컬 함수입니다. --]] 현지의 기능. 주된(args, 오브젝트 타입, validArgs(유효한 대상))  현지의 리다이렉트 카테고리템플릿, 메인 리다이렉트 = getRedirect Category(getRedirect 카테고리)템플릿(args, 오브젝트 타입)  현지의 리다이렉트 카테고리껍데기 = current Frame(현재 프레임):확장 템플릿{직함 = "리다이렉트 카테고리 셸", args = {리다이렉트 카테고리템플릿}}    현지의 unknown Parameters Errors(알 수 없는 파라미터 오류) = getUnknownParametersErrors(args, validArgs(유효한 대상))  -- /testcase 테스트에 사용됩니다.  한다면 (args.시험) 그리고나서   돌아가다 table.concat(debug Template Used List, ", "), 메인 리다이렉트  또 다른   돌아가다 리다이렉트 카테고리껍데기, 메인 리다이렉트, unknown Parameters Errors(알 수 없는 파라미터 오류)  끝. 끝.  --[[ 리다이렉트가 여러 시리즈 이름으로 태그될 때 사용되는 로컬 함수입니다. 사용된 시리즈의 전체 목록을 검색합니다. 입력한 시리즈는 series_name4와 같이 "series_name#" 형식으로 입력해야 합니다. --]] 현지의 기능. 여러 시리즈 이름 가져오기(args)  현지의 시리즈 Args = {}  table.insert(시리즈 Args, args.series_name)  위해서 i = 2, 10 하다   현지의 TV 시리즈 = args["series_name" .. i]   한다면 (TV 시리즈) 그리고나서    table.insert(시리즈 Args, TV 시리즈)   끝.  끝.  table.insert(debug Template Used List, table.concat(시리즈 Args, ", "))  시리즈 Args["멀티"] = "네"  돌아가다 시리즈 Args 끝.  --[[ 에피소드 리다이렉트 시작점 --]] 기능. p.set Episode Redirect(에피소드 리다이렉트)(args, validArgs(유효한 대상))  current Frame(현재 프레임) = .get Current Frame(전류 프레임)()    -- 리다이렉트가 크로스오버 에피소드 리다이렉트인 시나리오의 경우  --또, 복수의 시리즈 카테고리에 표시됩니다.  한다면 (args.series_name2) 그리고나서   현지의 시리즈 Args = 여러 시리즈 이름 가져오기(args)   addRedirectTemplate("R from televisor 에피소드", 시리즈 Args)  또 다른      -- 시리즈에 짧은 웹 기반 시리즈('미니소드')가 있는 시나리오의 경우,   -- 리다이렉트는 상위 시리즈카테고리에 배치해야 합니다.   -- 여기에 seriesName 변수를 만듭니다.이것은 변경 후 필요합니다.   -- arg.series_name은 호출 모듈의 코드에 직접 영향을 줍니다.   현지의 시리즈명 = args.series_name   한다면 (args.parent_series) 그리고나서    시리즈명 = args.parent_series   끝.      addRedirectTemplate("R from televisor 에피소드", 시리즈명)  끝.    한다면 (것은 아니다. (args.목록. 또는 args.기사 또는 args.부분)) 그리고나서   args.앵커. = 진실의  끝.    돌아가다 주된(args, "실패", validArgs(유효한 대상)) 끝.  --[[ 노래 리다이렉트 시작점 --]] 기능. p.set Song Redirect()  current Frame(현재 프레임) =   현지의 취득하다 = 요구하다('모듈:인수').취득하다  현지의 args = 취득하다(current Frame(현재 프레임))  addRedirectTemplate("R from song")   한다면 (것은 아니다. (args.목록. 또는 args.기사 또는 args.부분)) 그리고나서   args.앵커. = 진실의  끝.   현지의 리다이렉트 카테고리껍데기, 메인 리다이렉트, unknown Parameters Errors(알 수 없는 파라미터 오류) = 주된(args, '노래', {})  한다면 (unknown Parameters Errors(알 수 없는 파라미터 오류)) 그리고나서   돌아가다 리다이렉트 카테고리껍데기 .. unknown Parameters Errors(알 수 없는 파라미터 오류)  또 다른   돌아가다 리다이렉트 카테고리껍데기  끝. 끝.  --[[ 허구 객체 리다이렉트의 진입점. 여기에는 문자, 요소 및 위치 수정이 포함됩니다. --]] 기능. p.setFictionalObjectRedirect(args, 오브젝트 타입, validArgs(유효한 대상))  current Frame(현재 프레임) = .get Current Frame(전류 프레임)()   한다면 (args.multi_series_name_테이블) 그리고나서   -- 리다이렉트가 여러 개의 다른 시리즈에 나타나는 캐릭터인 경우   --또, 복수의 시리즈 카테고리에 표시됩니다.   -- 이 파라미터는 여러 시리즈필드를 처리하는 프랜차이즈모듈에서 사용합니다.   한다면 (유형(args.multi_series_name_테이블) == "테이블") 그리고나서    table.insert(debug Template Used List, table.concat(args.multi_series_name_테이블, ", "))    addRedirectTemplate(소설의 R .. 오브젝트 타입, args.multi_series_name_테이블)   또 다른    에러(에러 리스트[멀티 시리즈], 0)   끝.  그렇지 않으면 (args.series_name2) 그리고나서   -- 리다이렉트가 여러 개의 다른 시리즈에 나타나는 캐릭터인 경우   --또, 복수의 시리즈 카테고리에 표시됩니다.   현지의 시리즈 Args = 여러 시리즈 이름 가져오기(args)   addRedirectTemplate(소설의 R .. 오브젝트 타입, 시리즈 Args)  또 다른   addRedirectTemplate(소설의 R .. 오브젝트 타입, args.series_name)  끝.    돌아가다 주된(args, 오브젝트 타입, validArgs(유효한 대상)) 끝.  돌아가다 p